변조된 PyPI LiteLLM 1.107.0, 자격 증명 탈취 악성코드와 백도어 설치

3 hours ago 3

LiteLLM 1.107.0의 Linux, macOS, Windows용 wheel 7개에 자격 증명 탈취 악성코드와 원격 코드 실행 백도어가 포함됐으며, PyPI는 해당 릴리스를 삭제함 악성 파일은 Python 시작 시 자동 실행되므로 litellm을 가져오지 않는 애플리케이션, pip, IDE 언어 서버, CI 작업도 실행 대상이 됨 탈취 대상에는 SSH 키, 클라우드 및 CI/CD 자격 증명, AI 개발 도구 토큰, 브라우저 비밀번호와 LiteLLM 프록시의 LLM 제공업체 API 키까지 포함됨 백도어는 매시간 GitHub 파일에서 서버 주소를 읽고 탈취 코드를 다시 실행한 뒤 추가 코드를 내려받아 실행함. 해당 계정 삭제 전에 실행한 호스트는 이미 추가 코드를 받았을 가능성이 있음 SafeDep는 공격자가 수정한 소스를 BerriAI의 비공개 릴리스 파이프라인이 빌드했을 가능성을 중간~높은 신뢰도로 평가함. 정확한 침해 경로는 파이프라인 로그로 확인해야 함 영향 범위와 자동 실행 구조 LiteLLM 1.107.0의 모든 wheel 7개가 site-packages에 cook.pth, cook.py, sitecustomize.py를 설치함 cook.pth가 cook.py를 가져와 자격 증명 탈취 코드를 실행함 sitecustomize.py는 백그라운드 데몬을 시작해 반복 탈취와 원격 코드 실행을 수행함 두 진입점 모두 Python 시작 시 실행되며, litellm을 직접 가져올 필요가 없음 상위 GitHub 소스에는 악성 파일이 없으며, PyPI는 해당 릴리스를 삭제함 1.106.2, 1.107.0rc1, 1.107.0rc2는 악성코드가 없는 것으로 확인됨 1.107.0이 버전을 고정한 litellm-proxy-extras==0.4.110과 litellm-enterprise==0.1.78도 악성코드가 없음 빌드 설정에 삽입된 악성 파일 경로 소스 배포본인 sdist의 pyproject.toml 에서 [tool.maturin]에 data = "cook" 한 줄이 추가됨 이 설정은 cook/ 폴더를 wheel의 litellm-1.107.0.data/purelib/로 복사하며, pip가 이를 site-packages에 설치함 python-packages = ["litellm_cli"]는 상위 소스에도 있는 정상 설정임 sdist 자체에는 cook/ 폴더가 빠져 있어, 삽입 흔적으로 보이는 변경은 해당 설정 한 줄임...

Read Entire Article




피플앤툴즈 네트워크
🛍 샵