自社に GPT、Claude、Gemini などのモデルに接続する AI アプリ、チャットボット、社内ツールがあるなら、今日、技術チームに一つだけ質問してください。2026 年 10 月 21 日に、サーバー、ノート PC、ビルドパイプラインのいずれかが LiteLLM のバージョン 1.107.0 をインストールしましたか?このバージョンは攻撃者によって公開され、リヤド時間の 14:39 から 16:23 まで約2時間 PyPI 上にあり、約 49,000 回ダウンロードされました。クラウドの鍵、AI プロバイダーの鍵、データベースのパスワード、SSH 鍵を盗みます。答えが「はい」なら、アンインストールだけでは不十分です。クリーンなイメージからマシンを再構築し、アクセスできたすべての鍵を交換してください。安全なバージョンは 1.106.2 です。

何が起きたのか?

LiteLLM は、一つのアプリが単一のインターフェースで数十の AI モデルとやり取りできるようにするオープンソースのライブラリ兼ゲートウェイで、多くの企業が AI 製品の中核に据えています。Chainguard によると、直近1か月の PyPI でのダウンロード数は 1 億回を超え、2,000 を超える他のパッケージが依存しているため、多くのチームが知らないうちにインストールしています。

LiteLLM の公式インシデント報告によると、攻撃者はプロジェクトのログに漏れていた GitHub のアクセストークンを入手しました。10 月 21 日 UTC 10:08、特権を持つ開発者の認証情報を使ってブランチ保護を回避し、名前の似たリポジトリからビルドするようにリリース手順を書き換えました。「BerriAI/litellm」ではなく「Berri-AI/litellm」です。UTC 11:39 に悪意のあるファイルが PyPI に届き、UTC 11:46 には v1.107.0、latest、main-latest、main-stable のタグで汚染された Docker イメージが公開されました。PyPI は UTC 13:23 までにこのバージョンを削除し、Docker のタグは UTC 14:20、つまりリヤド時間 17:20 に修正されました。

同じプロジェクトへの攻撃は今年2回目です。Chainguard によれば、2026 年 3 月にはあるグループが盗んだ PyPI トークンでバージョン 1.82.7 と 1.82.8 を公開しました。

悪意のあるバージョンは何を盗むのか?

危険なのは、アプリが LiteLLM を使うのを待たないことです。このバージョンは、そのマシンで Python が起動するたびに、無関係なコマンドであっても実行される Python の起動ファイルを追加しました。Wiz の分析によると、窃取プログラムは次のものを収集しました。

  • 設定ファイル、環境変数、サーバーのメタデータから取得した AWS、Google Cloud、Azure のクラウド鍵。
  • OpenAI、Anthropic、Cohere などの AI プロバイダーの API キー、つまりあなたの請求書とデータ。
  • SSH の秘密鍵、シェルの履歴、ブラウザに保存されたパスワードと Cookie。
  • LiteLLM Proxy のデータベースに保存された最大 500 件のプロバイダー認証情報。

攻撃者はすぐに動きました。Wiz は、盗まれた AWS 認証情報が窃取から約 4.5 時間後に、ビルドサーバーや Kubernetes のノードから試されているのを確認しました。マルウェアは1時間ごとにリモートのコードを取得する第2段階も仕込むため、パッケージを削除してもマシンは開いたままになります。

自社は影響を受けたのか?

チームが正確なバージョンを固定しており、10 月 21 日のリヤド時間 14:39 から 17:20 の間に何も更新していなければ、おそらく影響はありません。次のいずれかに当てはまる場合は影響を受けている可能性があります。

  • サーバーやコンテナが、バージョンを固定せずに「pip install litellm」を実行している、または Docker の「latest」タグを取得している。
  • CI/CD パイプラインがその日の午後に再ビルドした。
  • 開発者がその日にノート PC で LiteLLM を試した。
  • システムが LiteLLM に依存する別のパッケージを使っている。

LiteLLM は、非公開の Enterprise 版の顧客は影響を受けていないとしています。

今日やるべき5つのステップ

  • 探す:ロックファイル、ビルドログ、コンテナイメージでバージョン 1.107.0 を、Python のパッケージフォルダで cook.pth と sitecustomize.py を探します。
  • 再構築する:見つかった場合、アンインストールだけで済ませないでください。公式報告は、感染した環境で pip を実行するとマルウェアが再び動き出す可能性があると警告しています。クリーンなイメージからマシンやコンテナを再構築してください。
  • すべての鍵を交換する:マシンがアクセスできたクラウドの鍵とロール、AI プロバイダーの鍵、データベースのパスワード、SSH 鍵。すでに攻撃者の手に渡っていると考えてください。
  • ログを確認する:10 月 21 日以降のクラウドのアクティビティに GetCallerIdentity のような不審な呼び出しがないか確認し、AI プロバイダーの請求書に心当たりのない利用がないか見てください。
  • バージョンを固定する:litellm==1.106.2 またはそれ以降の公式修正版をインストールし、「latest」を自動で取得するのではなく、すべてのライブラリをロックファイルで固定してください。

AI エージェントのコードに置き忘れられた鍵についての以前の記事を読んだ方なら、教訓は角度が違うだけで同じだと分かるでしょう。AI の鍵は今や会社で最も価値ある秘密の一つであり、それが集まる場所が標的になります。

Origami の見解

今回、LiteLLM のコードそのものを乗っ取った者はいません。攻撃者はビルドと公開の仕組みを変えたため、ソースコードを確認するだけでは見抜けませんでした。だからこそ AI 製品を守るには、どのライブラリを選ぶかよりも、どう運用するかが重要です。固定されたバージョン、環境ごとに必要な権限だけを持つ別々の鍵、各 AI プロバイダーでの支出上限、そして誰が何にアクセスできるかの明確な記録です。Origami で企業向けに AI システムを構築する際、私たちはモデルゲートウェイをシステムで最も機密性の高い部分として扱います。すべての鍵を握っているからです。今回のインシデントについて自社の AI アプリを確認したい、あるいは鍵と権限を整理し直したい場合は、お問い合わせください。

出典