AI 모델을 편리하게 서빙하여 에이전트 개발에 유명한 LiteLLM 에 공급망 공격이 발생하였다.
FBI 의 해킹 발견 및 발표
2026년 3월 24일 화요일, FBI 사이버 부서에서 해커집단이 매우 인기있는 오픈소스 개발자 도구들이 해킹되었다고 발표하였다.
침해 확인 오픈소스 툴들
- Trivy: v0.69.4 바이너리 버전과 거의 모든 trivy-action 및 setup-trivy GitHub Action 버전 태그 포함
- LiteLLM: PyPI 버전 1.82.7 및 1.82.8 (현재 삭제됨; 마지막 보안 안전 버전은 1.82.6)
- Checkmarx KICS: 35개의 모든 GitHub Action 버전 태그 및 2개의 OpenVSX IDE 확장 프로그램 포함
- npm: 탈취된 토큰을 통해 여러 스코프(Scope)에 걸쳐 배포된 45개 이상의 패키지
여기서 LiteLLM 이란?
LiteLLM 은 수많은 LLM 들을 OpenAI API 규격으로 통일해주는 오픈소스 이다.
마치, 하나로 약속된 규격으로 바꿔주는 통번역기라고 생각하면 된다.
개발자 입장에서 모델마다 SDK, 호출 및 추론방법을 전부 학습할 필요없이 LiteLLM 하나로 100개가 넘는 AI모델들을 똑같은 방식으로 사용할 수 있어 신규도입/서빙, 신규 모델 추가 등 관리 포인트를 줄일 수 있다.
LiteLLM 은 OpenAI, Anthropic(Claude.AI), Google(Gemini), Meta(llama) 등 각자 다른 호출 방식의 AI모델들을 OpenAI 형식으로 변환해준다.
각 기업의 전용 라이브러리를 설치하거나 기업의 모델을 사용하기위한 소스코드를 작성해야되는데, LiteLLM은 이를 코드 한줄로 해결해주는 것이다.
# python 에서 이런식으로 사용
completion(model="claude-3", messages=...)
LiteLLM 프록시 서버는 복잡한 API 구조를 단순화하기 위해 두 종류의 키를 다룬다.
1. Downstream Keys (마스터 키)
OpenAI, Anthropic, Google Gemini 등 실제 AI 모델 제조사가 발급한 진짜 유료 API 키다.
보통 서버의 환경 변수(.env)나 config.yaml에 저장된다.
2. Virtual Keys (가상 키)
LiteLLM이 사용자나 팀별로 발급해 주는 임시 키다.
실제 키(마스터 키)는 서버 안에 숨겨두고, 외부 사용자에게는 "하루 만원어치만 써라" 같은 제한이 걸린 가상 키만 나눠주는 방식이다.
LiteLLM 에 어떤 침해가 있었나?
TeamPCP 라는 해킹그룹에 의해 LiteLLM 의 CI/CD 파이프라인이 공격받아 악성코드가 포함된 버전이 PyPI에 배포되었다. LiteLLM 패키지는 하루에 340만 번 다운로드되는 인기 파이썬 패키지이다.
악성페이로드가 삽입된 버전은 1.82.7, 1.82.8 으로 클라우드 자격 증명, SSH 키 및 Kubernetes 비밀 키를 탈취하는 악성 코드가 포함되어 있는 것으로 확인되었다.
깃허브 레파지토리에서 해당 버전의 Tags 가 제거된것으로 확인된다.
https://github.com/BerriAI/litellm

어떤 곳을 어떻게 공격했나?
파이썬 환경이 실행될 때마다 해당 환경에 설치된 패키지에서 자동으로 백도어를 가동하는 교묘한 수법이다.
LiteLLM은 실제 OpenAI 키는 숨기고, LiteLLM 이 자체적으로 가상의 키를 발행해서 사용하기에 여러 사람이 AI를 사용하는 기업용으로 아주 유용한다.
여기서, 문제는 LiteLLM의 가장 강력한 무기 중 하나인 API Key 관리 프록시 서버 기능의 허점을 파고든 것이다.
쉽게, 말하자면 편리한 관리를 위해 한곳에 모아둔 열쇠가 한꺼번에 털린 상황이다.

> LiteLLM 1.82.7 악성 페이로드
1.82.7 버전은 악성 페이로드 base64 인코딩되어 디스크에 저장한 다음에 실행한다.
인코딩된 proxy_server.py 에 직접 삽입되어 있어 LiteLLM Proxy 가 실행되면 악성코드가 실행되는 방식이다.
(litellm –proxylitellm.proxy.proxy_server)
표적화된 공격이지만, 소스코드 검토 시에 쉽게 발견된다.
> LiteLLM 1.82.8 악성 페이로드
1.82.8 버전은 1.82.7 버전의 페이로드가 포함되어 있으며, 파이썬이 호출될때마다 악성코드가 실행되도록 더욱 복잡한 메커니즘이 추가되어 있다.
이 악성코드는 파이썬의 .pth파일 메커니즘을 악용하여 인터프리터 초기화 중에 임의 코드 실행을 허용한다.
이 패키지에서는 시스템에서 파이썬이 실행될 때마다 실행되는 악성파일(litellm_init.pth) 이 포함되어 있는데, 문제는 LiteLLM의 import 명시 여부와 관계가 없다는 것이다.
litellm_init.pth 파일은 subprocess를 통해 이중으로 base64인코딩된 악성코드를 실행하기에 보안검사를 효과적으로 우회한다. 그렇기에 실행되는 환경 내의 모든 파이썬 프로세스에서 지속적으로 은밀하게 실행이 가능하다.
> 선행 공격 : Trivy
이번 공격의 치밀함은 Trivy 의 취약점을 먼저 공격했다는 것이다.
LiteLLM의 빌드 과정에서 보안 스캔을 담당하는 도구인 'Trivy' 의 취약점을 먼저 공격하여, LiteLLM 개발팀의 배포 권한(PyPI 토큰)이 탈취되었고, 악성 코드가 포함된 버전(v1.82.7, v1.82.8)이 공식 채널에 배포되었다.
> 결국...
LiteLLM 이 배포된 BM/VM 뿐만 아니라 K8S 까지 LiteLLM 서버의 환경 변수에 숨겨둔 OpenAI, GCP, Anthropic 등 AI Key 정보뿐만 아니라 AWS, K8S 등 인프라 보안 정보까지 탈취되었다는거다.
단순히 API 키만 훔친 것이 아니라, 서버가 실행 중인 Kubernetes(K8s) 클러스터 내에서 옆에 있는 다른 서버로 전이(Lateral Movement)를 시도하거나 백도어를 설치하여 지속적인 접근 권한을 얻으려 했으며, 심각한 경우 기업 인프라의 모든 접근 권한이 탈취되어 심각한 상황이 발생할 수 있다는 것이다.
마치며
보안은 무소식이 희소식, 보안이 바쁘고 조용하면 행복한 것이다.
보안 사고는 늘 안타깝지만, 불행 중 다행으로 빠른 대처가 돋보였다.
FBI 의 수사, 해외 사이버보안 기업의 분석 등 절대 가볍게 볼 수 없는, 나비효과를 일으킬 수 있는 범죄다.
글쓴이 역시 모델서빙에 큰 관심과 개발을 하왔기에 국내 기사도 찾아보았지만, 5개조차 되지 않았다.
아직까지 우리나라가 AI분야가 갈길이 먼 건지, 아직도 모델링에만 집착하는지 아쉬울 따름이다.
v1.82.7, v1.82.8 소스는 깃허브에서 제거되어 해당 소스는 올리지 않고 참고링크로 대체합니다.
참조
https://www.linkedin.com/posts/bleatherman_fbicyber-activity-7442369432649125888-Wd3N/
https://www.wiz.io/blog/threes-a-crowd-teampcp-trojanizes-litellm-in-continuation-of-campaign
https://www.trendmicro.com/en_us/research/26/c/inside-litellm-supply-chain-compromise.html
https://www.boannews.com/media/view.asp?idx=142818&kind=1
'IT 소식 (CS, AI 위주)' 카테고리의 다른 글
| 구글 리서치 터보퀀트 (Google Research TurboQuant) 빠르게 보기. (0) | 2026.03.26 |
|---|