LiteLLM 1.107.0 PyPI 배포판 악성코드 삽입

원제: Compromised LiteLLM 1.107.0 on PyPI Installs a Credential Stealer and Backdoor

왜 중요한가

AI 개발에 광범위하게 쓰이는 LiteLLM 공급망 공격은 LLM API 키 대규모 탈취로 이어질 수 있어 업계 전반의 경각심이 요구된다.

2026년 10월 21일, 보안 기업 SafeDep은 PyPI에 배포된 LiteLLM 1.107.0 패키지에 자격증명 탈취 악성코드와 원격 코드 실행 백도어가 삽입됐다고 공개했다. 7종 전체 휠(Linux·macOS·Windows) 설치 시 site-packages에 악성 파일 3개가 생성되며, litellm을 import하지 않아도 Python 프로세스 시작 시 자동 실행된다. PyPI는 해당 버전을 삭제 조치했다.

SafeDep 연구원 Kunal Singh이 공개한 분석에 따르면, LiteLLM 1.107.0은 정상 버전과 달리 site-packages에 세 개의 파일을 추가 설치한다. 핵심은 `cook.pth`, `cook.py`, `sitecustomize.py` 세 파일이다.

`cook.pth`는 Python 시작 시 `cook.py`를 자동으로 import한다. `cook.py`는 자격증명 탈취기로, SSH 키, AWS·GCP 등 클라우드 인증 정보, CI/CD 파이프라인 시크릿, AI 툴 토큰, 브라우저 저장 비밀번호, 그리고 LLM 공급자 API 키까지 수집 대상으로 삼는다. `sitecustomize.py`는 원격 코드 실행 백도어 역할을 한다.

두 악성 파일 모두 litellm을 직접 사용하지 않는 Python 프로세스에서도 호스트 시작 시 실행되는 구조다. 공격 범위가 해당 라이브러리 사용자를 넘어 동일 환경의 모든 Python 프로세스로 확장된다는 점에서 위험도가 높다.

업스트림 GitHub 저장소의 소스코드에는 해당 코드가 없어, 빌드 또는 배포 단계에서 삽입된 것으로 분석됐다. 클린 버전은 1.106.2, 1.107.0rc1, 1.107.0rc2이며, 의존 패키지인 `litellm-proxy-extras==0.4.110`과 `litellm-enterprise==0.1.78`도 악성 코드를 포함하지 않는 것으로 확인됐다. PyPI는 1.107.0을 삭제했으나, 이미 설치한 환경에서는 수동 점검이 필요하다.

출처

safedep.io — 원문 읽기 →