LiteLLM 악성코드 공격에 대한 분 단위 대응 기록

2026년 3월 24일, LiteLLM v1.82.8 버전에 대한 공급망 공격이 발생했으며, Claude Code AI를 활용해 첫 증상 발견 후 단 72분 만에 분석 및 공표를 완료했습니다. 공격자는 11,000개의 프로세스를 생성하는 포크 폭탄과 자격 증명 탈취용 'litellm_init.pth' 파일을 사용했으나 AI를 통한 신속한 대응으로 피해 확산을 차단했습니다.

AI 요약

2026년 3월 24일, 인기 있는 Python 라이브러리인 LiteLLM의 v1.82.8 버전이 PyPI에 악성코드가 포함된 상태로 업로드되는 공급망 공격이 발생했습니다. 초기 징후는 11,000개 이상의 프로세스가 생성되는 '포크 폭탄'으로 인해 시스템이 마비되는 현상으로 나타났으며, 개발자는 즉시 강제 재부팅 후 Claude Code를 이용해 조사를 시작했습니다. 조사 결과, GitHub에는 존재하지 않는 버전이 PyPI에만 업로드되었으며, litellm_init.pth 파일을 통해 자격 증명 탈취 및 쿠버네티스(K8s) 측면 이동을 시도하는 악성 스크립트가 발견되었습니다. Claude Code는 복잡한 로그 분석, Docker를 이용한 격리된 환경에서의 검증, 그리고 최종 공개 게시물 작성까지 지원하며 대응 속도를 혁신적으로 높였습니다. 이번 사례는 AI 도구가 악성코드 생성뿐만 아니라 탐지 및 대응(IR) 과정에서도 핵심적인 역할을 수행할 수 있음을 입증했습니다. 결국 첫 증상 발견 후 단 72분 만에 커뮤니티 공개까지 마무리지으며 공급망 공격의 위협을 최소화했습니다.

핵심 인사이트

  • 공격 발생 일시: 2026년 3월 24일 10:52 UTC에 악성 코드가 포함된 LiteLLM v1.82.8이 PyPI에 업로드되었습니다.
  • 초고속 대응: 첫 이상 증상(11:09 UTC) 감지부터 공식 블로그 게시물 발행(12:02 UTC)까지 총 72분밖에 걸리지 않았습니다.
  • AI 기여도: Claude Code를 사용해 블로그 포스트 작성, PR 생성 및 머지까지의 과정을 단 3분 만에 완료했습니다.
  • 버전 불일치: GitHub에는 v1.82.6까지만 존재했으나 PyPI에는 악성 v1.82.8이 올라온 전형적인 공급망 공격 수법이 확인되었습니다.

주요 디테일

  • 악성 파일 식별: litellm_init.pth (크기 34 KB) 파일 내에 자격 증명 탈취 및 K8s 시스템 내 측면 이동(Lateral Movement)을 위한 코드가 삽입되어 있었습니다.
  • 공격 증상: 공격 시도가 11,000개의 프로세스를 생성하는 '포크 폭탄'을 유발하여 노트북이 정지되었으며, 이로 인해 오히려 악성코드의 지속성 확보(Persistence) 시도가 차단되었습니다.
  • 감염 경로: uvx futuresearch-mcp-legacy 명령어를 실행하는 과정에서 종속성인 LiteLLM의 오염된 버전이 함께 설치되었습니다.
  • 분석 기술: AI는 MacOS 셧다운 로그 분석, 패키지 매니저 캐시 시스템 파싱, Docker를 활용한 악성코드 격리 실행 등을 개발자 대신 수행했습니다.
  • 커뮤니티 전파: 12:04 UTC에 r/Python, r/netsec, r/LocalLLaMA 등 주요 Reddit 커뮤니티에 해당 위협 정보를 공유했습니다.

향후 전망

  • AI 도구가 보안 전문가 수준의 심층 분석 역량을 일반 개발자에게 제공함에 따라 사고 대응(Incident Response) 패러다임이 변화할 것입니다.
  • 공격자의 AI 활용에 맞서 보안 방어 도구 및 AI 모델도 제로데이 공격에 대해 더 비판적이고 능동적으로 대처하도록 훈련될 필요가 있습니다.
Share

이것도 읽어보세요

댓글

이 소식에 대한 의견을 자유롭게 남겨주세요.

댓글 (0)

불러오는 중...