Litellm PyPI 패키지 악성코드 감염, 개발 환경의 안전을 위협하다!

by DD
2개월 전
조회수 6

Litellm 1.82.8 버전이 PyPI에 악성코드를 포함한 채 배포되어, 설치 시 모든 Python 프로세스 시작 시 악성코드가 실행됨

악성코드는 SSH 키, .env 파일, 클라우드 자격 증명 등 민감한 정보를 수집하여 외부로 유출 시도

Trivy와 같은 보안 스캐너의 취약점을 통해 공급망 공격이 발생했으며, 10,000개 이상의 레포지토리가 영향을 받았을 것으로 추정

개발자들은 버전 고정(Pinning)패키지 검증(Package Verification)을 통해 공급망 공격에 대비해야 한다는 목소리가 높음

악성코드의 동작 방식 및 피해 분석

악성코드는 .pth 파일(Path File)을 활용하여 Python 인터프리터 시작 시 자동으로 실행되도록 설계되었다. 이 파일은 자식 프로세스(Child Process)를 생성하는 방식으로 작동하며, 이는 시스템 자원을 과도하게 소모하는 포크 폭탄(Fork Bomb)으로 이어진다. 또한, SSH 키, 클라우드 자격 증명, 데이터베이스 비밀번호 등 민감한 정보 수집(Sensitive Information Collection)을 시도하며, 수집된 데이터는 암호화되어 외부 서버로 전송된다.

공급망 공격의 심각성과 영향

이번 사건은 Trivy와 같은 보안 취약점 스캐너를 통해 발생한 공급망 공격의 전형적인 사례이다. Trivy가 악성코드에 감염된 후, 이를 사용하는 10,000개 이상의 레포지토리가 추가적인 위험에 노출되었을 가능성이 제기된다. 이는 개발 환경의 데이터 격리 아키텍처(Data Isolation Architecture) 부재와 의존성 관리(Dependency Management)의 중요성을 강조하며, 개발자들은 버전 고정(Pinning)패키지 검증(Package Verification)을 통해 공급망 공격에 적극적으로 대응해야 한다.

대응 방안 및 보안 강화 전략

피해를 최소화하기 위해, 개발자들은 litellm 1.82.8 버전 제거패키지 캐시(Package Cache) 삭제를 수행해야 한다. 또한, SSH 키, 클라우드 자격 증명 등 유출되었을 가능성이 있는 모든 자격 증명을 교체(Rotation)해야 한다. 더 나아가, 데이터 미저장 정책(Zero-Retention Policy)을 통해 민감한 정보의 노출 위험을 줄이고, 지속적인 보안 감사(Security Audit)를 통해 시스템의 취약점을 파악하고 개선해야 한다.

커뮤니티 반응 및 추가적인 논의

커뮤니티에서는 이번 사건을 계기로 오픈소스 생태계(Open Source Ecosystem)의 보안 취약성에 대한 우려가 커지고 있다. 특히, 자동화된 보안 스캔 도구(Automated Security Scanning Tools)의 신뢰성에 대한 의문이 제기되었으며, 공급망 보안(Supply Chain Security) 강화를 위한 구체적인 가이드라인 및 도구 개발의 필요성이 강조되고 있다. 또한, AI 환각(Hallucination)과 같은 기술적 위험에 대한 경계심도 나타났다.

Litellm 1.82.7 and 1.82.8 on PyPI are compromised, do not update!