무슨 일이 있었나
Crawl4AI의 Docker API 서버(0.8.8 이전)는 인증되지 않은 LLM API 트래픽 리디렉션 및 /md, /llm 및 /llm/job 엔드포인트의 조작된 base_url/api_token 파라미터를 통한 임의 환경 변수 공개를 허용했으며, 공급자 API 키 도용 및 인증에 사용된 서명 비밀 도용을 가능하게 했습니다.
왜 중요한가
JWT SECRET_KEY 유출은 서비스에 대한 완전한 인증 우회를 허용하는 반면, LLM 공급자 키 도용은 공격자 제어 청구 남용 및 추가 피벗을 활성화합니다. 이는 널리 사용되는 AI 웹 크롤링/LLM 추출 도구의 심각한 자격 증명 유출 버그입니다.
공격 경로
인증되지 않은 공격자는 LLM API 호출을 공격자 제어 엔드포인트로 리디렉션하는 악성 base_url 파라미터로 노출된 /md, /llm 및 /llm/job 엔드포인트를 호출하고, api_token을 env:VARIABLE_NAME으로 설정하여 임의 서버 측 환경 변수를 읽을 수 있으며, 이는 LLM 공급자 API 키 및 인증에 사용된 JWT SECRET_KEY를 유출합니다.
영향받는 시스템
Crawl4AI 0.8.8 이전(Docker API 서버)
완화 방안
Crawl4AI를 0.8.8 이상으로 업그레이드하고, Docker API 서버를 인증되지 않은 상태로 노출하지 말고, 노출되었을 수 있는 모든 LLM 공급자 키 및 JWT 비밀을 순환하십시오.