10月21日、LiteLLM のリリースパイプラインが侵害され、litellm==1.107.0 が PyPI と Docker Hub・GHCR へ配布された。当該成果物には資格情報窃取とリモートコード実行ローダーを含むコンパイル済みマルウェアが入る。10月23日付の根本原因分析は、5月に公開 LiteLLM-Labs/lite-harness へ誤コミットされた Agent Platform 管理キーが失効されず、10月10日に API から組織オーナーの GitHub CLI OAuth トークンが取られた起点、CI 秘密の workflow 経由 exfil、私有 BerriAI/project-releaser の source_owner 改変と類似 org Berri-AI/litellm からのビルド、盗んだ maintainer トークンによる本番ゲート承認までを一連の攻撃連鎖として整理している。
影響:
- PyPI:
litellm==1.107.0の wheel 七件(11:39<51>51>〜11:40<13>13> UTC 公開、13<23>23> UTC まで配布) - Docker Hub: タグ
v1.107.0・latest・main-latest・main-stable(11:46<56>56>〜14<20>20> UTC、侵害 digestsha256:1bbcb1443bc962e45f5aad53fe3d2c30600e0379715fb6c664cdd3ac126c339e) - GHCR: 同名タグ複数イメージ(11:46<56>56> UTC 以降、13<51>51> UTC まで利用可能)
- 上記時間帯に unpinned の pip または該当 Docker タグで起動した OSS 利用者。
1.106.2以前の明示 pin 版は対象外 - GitHub 公式
v1.107.0ソースタグに悪意ファイルはなく、攻撃者管理 fork のコミット20535d8f由来ビルド - Enterprise 向け私有レジストリ配布は対象外
litellm==1.107.0 をインストールまたは実行した環境は侵害済みとして扱う。影響環境で Python や pip を起動すると cook.pth と sitecustomize.py が再実行されるため、先に pip で上書きしない。
対処:
- 全 site-packages から
cook.pth・cook.py・sitecustomize.pyと対応する__pycache__を shell から削除する /tmp/remote_code_loader.lockを掴む detached python プロセスを終了するlitellm==1.107.0を外し、litellm==1.106.2など侵害前の明示版へ pin する。venv とコンテナイメージの作り直しを優先する- 当該ホストから outbound 可能だった場合、実行時に読めた資格情報は漏洩した前提でローテーションする(インスタンス IAM ロール、LiteLLM proxy DB 内の provider キーと master・virtual キー、
DATABASE_URLパスワード、ホスト上プロセス環境変数の秘密) - 確認:
pip show litellm、ファイルシステム上のlitellm-1.107.0.dist-info・cook.pth・sitecustomize.py(未検出でもクリーンとは限らない)