여러 AI 모델 API를 한 가지 방식으로 부르게 해 주는 오픈소스 LiteLLM의 1.107.0 버전에 악성 코드가 들어간 채로 배포됐습니다. 한국시간 10월 21일 밤 8시 39분부터 11시 23분까지 PyPI에 올라가 있었어요. 이 시간에 버전을 고정하지 않고 설치했거나 Docker 이미지를 받아 돌렸다면 서버에 있던 키는 이미 빠져나갔다고 보고 움직여야 합니다. 같은 날 Anthropic은 할 일을 먼저 챙겨 알려 주는 새 앱 Claude Duet을 대기 명단으로 열었습니다.
오늘 하나만 본다면: LiteLLM 1.107.0 악성 배포

LiteLLM은 OpenAI, Anthropic, Google 같은 여러 회사 모델을 같은 코드로 부르게 해 주는 라이브러리이자 프록시 서버예요. 팀이 쓰는 API 키를 한곳에 모아 두는 용도로 많이 씁니다. 그래서 이번 사고가 더 아픕니다.
LiteLLM 공식 사고 공지에 따르면 10월 21일(UTC) 릴리스 과정이 뚫려 1.107.0이 PyPI와 Docker 레지스트리에 올라갔습니다. 피해 범위는 이렇습니다.
- PyPI
litellm==1.107.0: 휠 7개 모두. UTC 11:39~13:23(한국시간 20:39~22:23) - Docker Hub
v1.107.0,latest,main-latest,main-stable: UTC 11:46~14:20(한국시간 20:46~23:20) - GHCR 같은 태그: UTC 11:46부터 13:51 무렵까지
보안 업체 SafeDep 분석을 보면 설치하는 순간 site-packages에 cook.pth, cook.py, sitecustomize.py 세 파일이 깔립니다. 이 파일들은 litellm을 import하지 않아도 파이썬이 켜질 때마다 실행돼요. SSH 키, 클라우드 자격 증명, CI/CD 비밀값, AI 도구 토큰, 브라우저 비밀번호, LiteLLM 프록시 DB에 저장된 모델 공급사 키까지 모아 밖으로 보냅니다. 한 시간마다 외부 서버에서 코드를 받아 실행하는 백도어도 함께 띄워요. GitHub에 있는 공식 v1.107.0 소스에는 이 코드가 없습니다. 공격자가 만든 비슷한 이름의 저장소(Berri-AI/litellm)에서 빌드됐기 때문이에요.
어떻게 뚫렸는지도 공지에 나와 있습니다. 공격자는 개발자 세 명의 GitHub CLI 로그인 토큰을 손에 넣었습니다. 그중 조직 소유자 계정 토큰으로 브랜치 보호를 끄고 릴리스 워크플로를 바꿨습니다. 토큰이 새어 나간 경로로는 외부 인터넷에 열려 있던 LiteLLM 사내 배포를 지목했어요. Claude Code가 특정 상황에서 사용자의 GitHub CLI 토큰을 응답 본문에 넣는 경우가 있었는데 응답을 로그로 남기는 설정에서는 그 토큰이 LiteLLM 로그에 남았다는 설명입니다. 공격자가 사내 배포에 어떻게 들어왔는지는 아직 확인 중이라고 했습니다. Claude Code 대목은 LiteLLM 쪽 설명이고 Anthropic 입장은 아직 나오지 않았어요.
1.107.0을 받지 않았다면 할 일은 버전 고정 하나예요. LiteLLM은 당분간 1.106.2나 그 이전의 정확한 버전으로 고정하라고 안내했습니다. 정규 릴리스도 멈춘 상태예요. 사설 레지스트리를 쓰는 엔터프라이즈 고객은 피해가 없다고 밝혔습니다.
설치했을 수 있다면 순서가 중요합니다.
pip install부터 돌리지 마세요. 파이썬이 켜지는 순간 악성 코드도 다시 돕니다.- 셸에서
cook.pth,cook.py,sitecustomize.py와 관련.pyc를 모든 site-packages에서 지운 뒤/tmp/remote_code_loader.lock을 잡고 있는 파이썬 데몬을 종료합니다. litellm==1.106.2로 다시 설치하되, 가상환경과 이미지를 처음부터 새로 만드는 편이 낫습니다.- 인터넷이 열린 서버였다면 키는 이미 나갔다고 봅니다. 인스턴스 IAM 역할, 프록시 DB에 넣어 둔 모든 공급사 키, 마스터·가상 키,
DATABASE_URL비밀번호, 프로세스 환경 변수에 있던 비밀값을 모두 바꾸세요.
/tmp/.pc_once_72129118c59f5636c0bb 파일이 있으면 유출이 확인된 겁니다. 파일이 없다고 안전하다는 뜻은 아니라고 공지는 덧붙였어요.
개발자라면: GitHub CLI에 몇 시간 뒤 만료되는 토큰이 생겼다

같은 날 GitHub은 gh CLI에서 자동으로 갱신되는 만료형 토큰을 공개 미리보기로 열었습니다. 지금 gh auth login으로 받는 토큰은 따로 지우기 전까지 계속 유효해요. 새 방식은 짧게 사는 접근 토큰과 바뀌는 갱신 토큰을 같이 저장해 두고 필요할 때 알아서 새로 받습니다. 토큰이 새도 몇 시간 안에 못 쓰게 된다는 게 GitHub 설명입니다.
v2.103.0부터 gh auth login --expiring으로 켭니다. 매번 붙이기 싫으면 gh config set expiring_credentials enabled를 한 번 실행하면 됩니다. 만료 시각은 gh auth status로 봅니다. HTTPS로 git을 쓴다면 gh auth setup-git으로 gh를 자격 증명 도우미로 두고 git 2.46 이상을 쓰라고 권했어요. 다만 gh auth token 값을 한 번 받아 다른 도구에 저장해 두는 스크립트는 나중에 만료된 토큰을 들고 있게 됩니다. 그런 작업은 매번 새로 읽게 바꾸거나 당분간 켜지 마세요.
써볼 만한 도구: Claude Duet

Anthropic이 10월 21일(미국 시간) Claude Duet 연구 미리보기를 열었습니다. 묻는 말에 답하는 챗봇과 달리, 연결해 둔 앱을 살펴 보고 사용자가 챙겨야 할 일을 먼저 알려 주는 앱이에요. 매일 아침 짧은 브리핑을 보내고 몇 시간마다 연결된 계정을 확인하다가 손이 필요할 때만 메시지를 보냅니다. Claude Opus 5.5를 바탕으로 만들었습니다.
자체 가상 머신과 브라우저가 있어서 노트북이나 휴대폰을 꺼 둬도 일을 계속합니다. 회의 일정 잡기부터 대시보드, 재무·영업 전망, 웹앱 시제품까지 맡길 수 있다고 소개했어요. Gmail, Slack, QuickBooks, Stripe, Gusto, Docusign, HubSpot, Canva, Shopify 등 6,000개 넘는 커넥터·플러그인을 씁니다. Claude 앱에 있던 메모리와 스킬, 연결 앱도 그대로 넘어옵니다.
메시지 발송, 결제, 문서 서명, 삭제 전에는 무엇을 할지 보여 주고 승인을 기다립니다. 증권 거래나 계좌 간 이체는 승인해도 하지 않아요. 카드 번호나 신분증 번호 같은 정보는 따로 만든 분류기가 밖으로 보내지 않게 막는다고 했습니다.
iOS·Android 앱과 claude.ai에서 씁니다. Pro·Max 요금제에 포함돼 있고 사용량 한도도 Claude와 나눠 써요. 배경에서 도는 확인 작업도 한도를 먹는다는 점은 알아 두세요. 지금은 미국 Pro·Max 사용자부터 대기 명단으로 받고 있어 한국에서 바로 쓰기는 어렵습니다.
그 밖의 소식: OpenAI 모델이 Google Cloud에 들어간다

OpenAI가 10월 21일 자사 모델과 Codex를 Google Cloud의 Model Garden에 넣는다고 발표했습니다. Google Cloud Marketplace로 결제하며 Google Cloud 약정 사용액에서 차감할 수 있어요. Google Antigravity와 Gemini Agent에도 OpenAI 모델이 곧 들어간다고 했습니다. 정식 출시는 몇 주 안이고 지금은 접근 신청만 받습니다. Google Cloud 약정이 남은 회사라면 그 예산으로 OpenAI 모델을 쓸 수 있게 됩니다.
출처
- LiteLLM, Contained: Oct 21, 2026 LiteLLM release v1.107.0 Compromised
- BerriAI/litellm issue #47826
- SafeDep, Compromised LiteLLM 1.107.0 on PyPI
- GitHub Changelog, GitHub CLI: Opt in to expiring, auto-refreshing OAuth tokens
- Claude, Introducing Claude Duet
- Claude release notes (October 21, 2026)
- OpenAI, OpenAI models are coming to Google Cloud
- Google Cloud Blog, Google Cloud brings OpenAI models to customers
