핵심 요약
2026년 3월 24일, AI 에이전트 프레임워크의 핵심 의존성인 LiteLLM 패키지가 PyPI 공급망 공격을 받아 악성 버전 1.82.7과 1.82.8이 배포되었다. 공격자는 관리자 계정을 탈취한 후 Python 실행 시 자동 실행되는 .pth 파일을 심어 환경 변수, AWS/GCP 자격 증명, SSH 키 등을 수집하고 RSA 암호화하여 외부로 전송하는 페이로드를 삽입했다. 약 4시간의 노출 시간 동안 CrewAI, DSPy 등을 설치하거나 업데이트한 사용자는 전이 의존성을 통해 감염되었을 위험이 매우 높다. 현재 악성 버전은 PyPI에서 제거되었으나, 해당 기간 중 설치 기록이 있다면 즉시 가상 환경을 삭제하고 모든 비밀값을 교체해야 한다.
배경
Python 패키지 관리(pip, venv)에 대한 이해, CI/CD 파이프라인 및 환경 변수 보안 개념, 공급망 보안 및 의존성 관리 기초 지식
대상 독자
Python 기반 AI/ML 서비스를 구축하거나 에이전트 프레임워크를 사용하는 개발자 및 보안 담당자
의미 / 영향
이번 사고는 AI 생태계의 높은 상호 의존성이 보안의 단일 실패 지점(Single Point of Failure)이 될 수 있음을 경고한다. 개발 편의성을 위해 최신 버전을 선호하는 관행보다 보안이 검증된 특정 버전을 고정하고 잠금 파일을 사용하는 엄격한 의존성 관리가 프로덕션 환경의 필수 요건임을 시사한다.
섹션별 상세
pip show litellm 2>/dev/null | grep Version현재 Python 환경에 설치된 LiteLLM 버전을 확인하여 감염 여부를 체크하는 명령어
find "$HOME" -type d -name "litellm-*.dist-info" 2>/dev/null | while read dir; do
version=$(grep -m1 "^Version:" "$dir/METADATA" 2>/dev/null | awk '{print $2}')
venv=$(echo "$dir" | sed 's|/lib/python.*/site-packages/.*||')
if [ "$(printf '%s
1.82.7' "$version" | sort -V | head -1)" = "1.82.7" ]; then
echo "!! AFFECTED $version $venv"
else
echo " ok $version $venv"
fi
done시스템 내 모든 가상 환경을 검색하여 악성 LiteLLM 버전 설치 여부를 전수 조사하는 스크립트
실무 Takeaway
- LiteLLM 1.82.7 또는 1.82.8 버전이 설치된 환경은 즉시 삭제하고, 해당 환경에서 노출되었을 가능성이 있는 모든 API 키와 클라우드 자격 증명을 즉시 로테이션해야 한다.
- 공급망 공격에 대비하기 위해 CI/CD 파이프라인에서 bare pip install 대신 poetry.lock이나 uv.lock 같은 잠금 파일을 사용하여 의존성 버전을 엄격히 통제해야 한다.
- GitHub Action 사용 시 태그(v1) 대신 불변하는 SHA 값을 참조하도록 설정하여 액션 메인테이너의 계정 탈취로 인한 2차 피해를 방지해야 한다.
언급된 리소스
AI 요약 · 북마크 · 개인 피드 설정 — 무료
출처 · 인용 안내
인용 시 "요약 출처: AI Trends (aitrends.kr)"를 표기하고, 사실 확인은 원문 보기 기준으로 진행해 주세요. 자세한 기준은 운영 정책을 참고해 주세요.