피드로 돌아가기
GeekNewsSecurity
원문 읽기
PyPI 보안팀 공식 공급망 공격 사고 보고서: LiteLLM·Telnyx 악성 패키지 사건 그리고 방어하기
PyPI 공급망 공격 분석, API 토큰 탈취부터 악성 패키지 배포까지의 연쇄 경로
AI 요약
Context
Trivy 의존성 취약점으로 인해 API 토큰이 외부로 유출됨. 탈취한 권한을 이용해 LiteLLM과 Telnyx 등 널리 사용되는 오픈소스 패키지에 악성코드를 주입함. 기존의 단순 타이포스쿼팅을 넘어 신뢰받는 패키지를 직접 오염시키는 공급망 공격 형태임.
Technical Solution
- 패키지 설치 전 일정 기간 대기 시간을 두는 Dependency Cooldowns 전략으로 보안 검증 시간 확보
- 단순 버전 기록을 넘어 체크섬과 해시값이 포함된 Lock Files 기반의 의존성 고정 방식 적용
- GitHub Actions의 pull_request_target 트리거 사용을 금지하고 입력값 무해화 처리로 템플릿 인젝션 차단
- 장기 유효 API 토큰 대신 단기 토큰 기반의 Trusted Publishers 체계로 전환하여 탈취 리스크 최소화
- Digital Attestations 도입을 통해 정상적인 릴리스 워크플로를 거친 배포본인지 검증하는 구조 설계
- Git 태그 대신 불변의 커밋 SHA 참조 방식을 사용하여 가변 참조로 인한 코드 오염 방지
Impact
- LiteLLM 악성 버전 누적 다운로드 119,000회 이상 기록
- LiteLLM 노출 시간 2시간 32분, Telnyx 노출 시간 3시간 42분
- LiteLLM 설치 사용자 중 40~50%가 버전 미고정 상태로 최신 버전 자동 수신
- LiteLLM 주당 설치 횟수 약 1,500~2,000만 건, 분당 약 1,700건
Key Takeaway
신뢰 기반의 오픈소스 생태계에서는 단일 지점의 권한 탈취가 전체 공급망 오염으로 이어지는 연쇄 공격 구조를 가짐. 배포 파이프라인의 무결성 검증과 최소 권한 원칙 기반의 단기 인증 체계 도입이 필수적임.
실천 포인트
uv의 exclude-newer 설정을 통해 최신 패키지 설치에 3일 정도의 쿨다운 기간을 설정하고, 모든 의존성에 해시 기반 Lock 파일을 적용할 것