LiteLLM 1.107.0にマルウェア|PyPI・Dockerで約2時間、確認とAPIキー入れ替え手順
- 14分で読める
- 一次資料6件
- セキュリティ図鑑編集部
汚染された版が公開されていた時間
10月21日 日本時間20時39分から汚染されたPyPIのファイル
1.107.0の配布物すべて汚染された箱の名札
v1.107.0・latest など公式が案内する固定先の版
事件より前に公開された版SUMMARY
要点をまとめると
- 01
2026年10月29日時点の公式発表によると、10月21日の日本時間20時39分から約2時間、AIの道具LiteLLMの1.107.0がマルウェア入りでPyPIとDockerに置かれていました。
- 02
入れた・動かした会社は、1.106.2に固定して作り直し、APIキーなどすべての鍵を入れ替える必要があります。
そもそもソフトウェアのサプライチェーン攻撃とは?
みんなが使っている部品(ライブラリ)の新しい版に悪いプログラムを混ぜ、更新した人のところへ入り込む攻撃です。
たとえるならいつもの仕入れ先の食材に、途中で毒を混ぜられるようなもの。お店に落ち度がなくても被害が出ます。
- 1部品に混ぜる公開されている新しい版に
- 2更新で入るいつもどおり入れた人へ
- 3鍵を盗むAPIキーやパスワード
IPA「情報セキュリティ10大脅威」の説明をもとに、やさしく言い換えています。
この記事をスライドで理解する(7枚)
1 / 7AIを社内で使うための道具「LiteLLM(ライトエルエルエム)」で、2026年10月21日、マルウェア入りの版「1.107.0」が公式の配布場所に約2時間置かれていました。配布場所は、Pythonの部品の置き場「PyPI」と、アプリの箱の置き場「Docker Hub」などです。この記事は、LiteLLMの公式発表をもとに、2026年10月29日時点で分かっていることをまとめました。
LiteLLMを直接知らなくても、社内でAIを使う仕組みを外部の会社や担当者に作ってもらった会社は、中に入っている可能性があります。まずは「うちにあるか」を確かめるところから読んでください。
01この記事でわかること
AIの道具にウイルスが入ってたって、うちも関係あるの?
LiteLLMというAIの取り次ぎ役の道具です。社内のAIの仕組みで使っていれば関係します。まず「使っているか」を確かめましょう。
AIの道具LiteLLMの1.107.0がマルウェア入りで配られた
版・箱の識別番号・残るファイルの3点を見る
pipを使わず片付け、版を固定し、鍵をすべて替える
入手元の記録、版の固定、鍵を分ける
この記事では、次のことを順番に説明します。
- LiteLLMとは何か。PyPIやDockerとは何か
- いつ、どの版が、どこで配られていたのか
- 何が盗まれる恐れがあったのか。APIキーが盗まれると何が起きるのか
- 自社が関係するかの確かめ方と、関係していたときの入れ替えの手順
- AIの道具を入れるときに守りたい3つの習慣
3行まとめ
- 10月21日の日本時間20時39分から約2時間、LiteLLM 1.107.0という汚染された版が公式の配布場所にありました。
- 中身は、鍵(認証情報)を盗み、外から命令を受けて動く道具を読み込むマルウェアです。
- その間に入れたり起動したりした会社は、「盗まれた」前提で、すべての鍵の入れ替えが必要です。
02何が起きたのか(LiteLLM・PyPI・Dockerの基本)
PyPIとかDockerとか、そもそも何なの?
どちらもソフトの部品や箱を配る公式の置き場です。今回はその置き場に、本物の名前で汚染された版が並んでしまいました。
GitHub上の1.107.0には悪いファイルは入っていない
PyPIとDockerの1.107.0に盗む仕組みが入っていた
LiteLLMとは
LiteLLMは、ChatGPTやClaude、Geminiなど、いろいろな会社のAIを1つの窓口から呼び出せるようにする無料の道具です。誰でも使えるオープンソース(設計図が公開されたソフト)として配られています。社内向けのAIチャットや、AIを使った業務の自動化を作るときに、裏側の部品として使われることがあります。
AIを呼び出すには、AIの会社が発行する「APIキー」という鍵が要ります。LiteLLMはその鍵を預かってAIに取り次ぐ役なので、会社のAIの鍵がまとめて置かれる場所になりやすい道具です。
PyPIとDockerとは
PyPI(パイピーアイ)は、プログラミング言語Pythonの部品を配る公式の置き場です。担当者が「pip install litellm」と打つと、ここから部品が届きます。版を指定しないと、そのとき一番新しい版が届きます。
Docker(ドッカー)は、アプリと動かすのに必要なものを1つの「箱」(イメージ)にまとめて配る仕組みです。箱の置き場がDocker HubやGHCR(GitHubの箱の置き場)です。箱には「v1.107.0」や「latest(最新)」といった名札(タグ)が付いていて、「latest」を指定すると、そのとき最新とされている箱が届きます。
何が起きたのか
LiteLLMの公式発表によると、攻撃者は開発者の鍵を使って、LiteLLMの「版を作って配る仕組み」に入り込みました。そして、本物とよく似た名前の別の保管場所(本物は「BerriAI/litellm」、偽物は「Berri-AI/litellm」)から1.107.0を作らせ、公式の置き場に載せました。
GitHub上の1.107.0の元のプログラムには、悪いファイルは入っていません。悪いものが入ったのは、配るために組み立てた完成品の方です。このように、ソフトそのものではなく、作って届ける途中を狙う攻撃をサプライチェーン攻撃といいます。公式発表は、1.107.0より前の版は安全だとしています。
03発表の時系列(10月21日)
どのくらいの時間、危ない版が置かれてたの?
公式は約2時間としています。日本時間で10月21日の20時39分から、Dockerは23時20分ごろまでです。
開発者の鍵で配る仕組みの手順を書き換え
汚染された1.107.0のファイル7個が載る
latestなど4つの名札が汚染された箱に
研究者がGitHubで汚染を知らせる
1.107.0が配布場所から消える
名札を削除または安全な箱に付け替え
公式発表の時刻は協定世界時(UTC)です。日本時間は9時間足して書いています。すべて10月21日のできごとです(最後の2行を除く)。
| 日本時間 | できごと |
|---|---|
| 19時08分 | 開発者の鍵で、配る仕組みの保護設定が破られ、手順が書き換えられる |
| 20時11分 | 別の開発者の鍵で、本番の公開の承認が通る |
| 20時39分〜20時40分 | PyPIに汚染された1.107.0のファイル7個が載る |
| 20時46分 | Docker HubとGHCRに汚染された箱が載る |
| 20時53分 | 3人目の開発者の鍵で、作業の記録が消される |
| 21時06分 | 外部の研究者が、GitHub上で汚染を報告 |
| 22時23分 | PyPIから1.107.0が削除される |
| 22時51分 | GHCRの該当する名札が使えなくなっているのを確認 |
| 23時20分 | Docker Hubの該当する名札がすべて削除、または安全な箱に付け替え |
| 10月22日 3時20分 | LiteLLMが事故の報告を公開 |
| 10月24日 6時00分 | 原因の分析を公開(これを正式な記録とし、最初の報告の一部を訂正) |
公式は、汚染された版が公開されていた時間を「約2時間」としています。PyPIでは約1時間45分、Docker Hubでは約2時間30分です。外部からの報告は、公開から30分足らずで出ていました。
汚染されていたもの
- PyPI:litellm 1.107.0 の7個のファイル(パソコンの種類ごとの配布物)すべて
- Docker Hub:名札「v1.107.0」「latest」「main-latest」「main-stable」
- GHCR:litellm、litellm-database、litellm-non_root の3種類の箱の、同じ4つの名札
「latest」が汚染されていたので、版を決めずに「最新」を入れる設定にしていた人ほど巻き込まれやすい状況でした。
04何が盗まれる恐れがあったのか
APIキーが盗まれると、何がまずいの?
AIの料金は鍵の持ち主に請求されます。他人に鍵を使われると、その分の請求が来たり、保存した情報に手が届いたりします。
各AI会社の鍵。盗まれると料金を他人に使われる
LiteLLMのマスターキーと配った仮想キー
データベースのパスワードとサーバーの権限
公式発表は、マルウェアの働きを「認証情報を盗み、遠隔でプログラムを動かす道具を読み込む」と説明しています。認証情報とは、パスワードやAPIキーのように、本人であることを示す情報です。
公式が入れ替えを求めている鍵は、次のとおりです。
- LiteLLMの管理画面やデータベースに保存した、各AI会社のAPIキーすべて
- LiteLLMのマスターキー(管理用の親鍵)と、社員や部署に配った仮想キー(子鍵)
- データベースにつなぐためのパスワード
- クラウド(AWSなど)でそのサーバーに与えていた権限
- そのサーバーで動いていたすべてのプログラムの設定にあった秘密の値
公式は、インターネットにつながったサーバーで1.107.0が一度でも動いたなら、持ち出しは成功したと考えるよう求めています。
APIキーが盗まれると何が起きるのか
ここからは一般的な説明です。AIのAPIキーは、合鍵と財布を兼ねたようなものです。
- 請求:AIの多くは、使った量に応じて料金がかかります。他人が盗んだ鍵でAIを使うと、その料金は鍵の持ち主の会社に請求されます。
- 情報:AIの会社のサービスによっては、鍵があれば、そのアカウントに保存したファイルや設定、使った記録にも手が届くことがあります。社内文書をAIに読ませていた場合は特に注意が必要です。
- 次の侵入:クラウドの権限やデータベースのパスワードが盗まれると、AIとは関係のない社内のデータまで狙われる入口になります。
今回、利用者側で実際にどれだけ鍵が使われたかは、公式発表には書かれていません。情報が漏れたときの全体の流れは情報漏えいへの備えにまとめています。
05自分の会社が関係するか確かめる方法
うちが当たったかどうか、どう見分けるの?
入っている版、箱の識別番号、cook.pthなどのファイルの3点を見ます。ただ、ファイルがなくても安全とは言い切れません。
外部に作ってもらったなら作った会社に聞く
日本時間20時39分〜23時20分ごろが危ない時間
latestや版なしのpip installは要注意
あれば感染は確実。なくても安全とは限らない
次の問いに1つでも「はい」なら、関係している可能性があります。社内にエンジニアがいない会社は、AIの仕組みを作った外部の会社に、この節をそのまま見せて確かめてもらってください。
- 社内のAIチャットや自動化の裏側で、LiteLLMを使っているか
- 10月21日の日本時間20時39分〜23時20分ごろに、LiteLLMを入れ直したり、箱を起動し直したりしたか
- 版を決めずに「pip install litellm」や「latest」の箱を使う設定になっているか
- 夜間の自動更新や、自動で作り直す仕組み(CI)でLiteLLMを入れているか
担当者が確かめること
- 「pip show litellm」で入っている版を見て、1.107.0でないかを確かめる
- 動かした箱の識別番号(ダイジェスト)が、公式が示した「sha256:1bbcb1443bc9…」で始まる値でないかを確かめる
- サーバーの中に「litellm-1.107.0.dist-info」「cook.pth」「sitecustomize.py」というファイルがないか探す
- AWSを使っている場合は、入れた時刻のあたりの操作記録(CloudTrail)に、身に覚えのない確認操作や、外からの権限の利用がないかを見る
公式は、これらのファイルが見つかれば感染は確実、見つからなくても安全とは言えないとしています。版の履歴やいつ入れたかを含めて判断してください。
06今すぐやること(立場別)
もし入れてたら、何からやればいいの?
まずpip installをしないこと。悪いファイルを消し、1.106.2に固定して作り直し、鍵を全部入れ替えます。
汚染環境ではPythonを起動すると悪い物が動く
cook.pthなどとキャッシュを削除し常駐を止める
1.106.2に固定。箱や環境は一から作る
新しい鍵に替えてから古い鍵を無効にする
クラウドの操作記録とAIの利用額を確認
汚染された版を入れた・動かした会社
公式の手順を、順番を守って行います。
- まず「pip install」をしない。汚染された環境ではPythonを起動するたびに悪いファイルが動くためです(pip自体もPythonで動きます)
- Pythonを使わずに、cook.pth、cook.py、sitecustomize.py と、それに対応するキャッシュのファイルを消す
- 「/tmp/remote_code_loader.lock」を持って動き続けているPythonのプロセスを止める
- 版を「1.106.2」に固定して入れ直す。できれば、仮想環境や箱を一から作り直す
- そのサーバーから届いた鍵を、すべて入れ替える(前の節の一覧)
- クラウドの操作記録を確かめる
鍵の入れ替えは、新しい鍵を作る→使っている場所を新しい鍵に替える→古い鍵を無効にするの順で行います。古い鍵を消し忘れると、入れ替えの意味がありません。AI会社の管理画面で、使用量や請求額に急な増加がないかも見ておきましょう。社内で対応しきれない場合は、インシデント対応を頼める会社に相談してください。
LiteLLMを使っているが、汚染された版は入れていない会社
- 版を固定しているか見直す。「最新を入れる」設定のままなら、検証した版に固定する
- 使っている版の安全情報を確かめる。LiteLLMは10月27日に、有料のEnterprise版の利用者向けに、認証なしでマスターキーなどを読み取られる深刻な弱点の注意(GHSA-w4c7-34wj-hqm8)を出しています。修正済みの版は1.103.10、1.104.8、1.105.6、1.106.5 です(それぞれの系統ごと)
外部に作ってもらった会社・使っているだけの社員
社員がAIチャットを使っているだけなら、個人でできることはほとんどありません。会社としては、作った会社に「LiteLLMを使っているか」「10月21日の汚染された版に当たっていないか」「鍵を入れ替える必要はあるか」の3点を、文書で回答してもらってください。
07LiteLLM側の対応と、分かった原因
そもそも、なんで乗っ取られちゃったの?
5月に公開の場所へうっかり載せた管理用の鍵が、そのまま使える状態で残っていたのが始まりでした。
汚染版を削除し、社内の鍵をすべて無効にする作業へ
5月に公開の場所へ載せた鍵が残っていた
LiteLLM側がしたこと
- PyPIから1.107.0を削除し、Docker HubとGHCRの汚染された名札を削除または付け替え
- 開発者の権限を最小限に絞り、社内のシステムや取引先のサービスに関わる鍵をすべて無効にする作業を開始
- 汚染された版の見分け方と、片付けの手順を公開
公式は、Enterprise版(有料で別の場所から配っている版)の利用者は、今回の汚染の影響を受けていないとしています。
分かった原因
10月24日(日本時間)の原因分析によると、きっかけは5月27日に公開の保管場所へ誤って載せてしまい、そのまま無効にしていなかった管理用の鍵でした。攻撃者は10月10日(UTC)にこの鍵を使ってLiteLLMの別のサービスに入り、組織の管理者のGitHubの鍵を取り出しました。そこから、ほかの開発者の鍵も次々に盗まれました。
最初の報告では、鍵は社内のLiteLLMの記録から漏れたと見ていましたが、原因分析で「最初の鍵は別のサービスから来た」と訂正されています。公式は、攻撃者は複数の独立した守りを破る必要があったと書いています。
08まだ分かっていないこと
結局、どれくらいの会社がやられたの?
まだ公表されていません。利用者の鍵が実際に使われたかどうかも、公式発表には書かれていません。
汚染版を入れた利用者の数は公表されていない
利用者の鍵が実際に使われたかは不明
手順の見直しは翌週に共有するとしている
10月29日時点で、公式発表からは次のことが分かっていません。
- 汚染された版を実際に入れた利用者の数
- 利用者側の鍵が実際に盗まれ、使われたかどうか
- 攻撃者が誰なのか
- このマルウェアに、CVEなどの番号付きの注意情報が出るかどうか(10月29日時点で、今回の汚染そのものの番号は見当たりません)
- 再発を防ぐための手順の見直しの中身(公式は「来週共有する」としています)
09同じことを防ぐには(AIを使い始めた中小企業向け)
AIを使い始めたばかりだけど、何に気をつければいい?
ほかのソフトと同じです。どこから入れたかを記録し、版を固定し、鍵を用途ごとに分けて上限を決めましょう。
何をどこからいつどの版で入れたか一覧に
最新の自動取り込みをやめ、番号で指定する
用途ごとに分け、上限額を決め、公開しない
AIの道具は新しく、つい「話題のものを最新版で試す」になりがちです。しかし中身は普通のソフトと同じで、同じ守り方が効きます。IPAの「情報セキュリティ10大脅威 2026」でも、組織向けの2位が「サプライチェーンや委託先を狙った攻撃」、3位が「AIの利用をめぐるサイバーリスク」です。今回はその2つが重なった事故でした。
習慣1:どこから入れたかを記録する
公式の置き場から入れることは大前提です。そのうえで「どの道具を、どこから、いつ、どの版で入れたか」を一覧にしておきます。今回のように「10月21日の夜に入れたか」がすぐ答えられるかどうかで、確認の手間が大きく変わります。外部に作ってもらった場合も、使っている部品の一覧を受け取っておきましょう。
習慣2:版を固定し、出たばかりの版にすぐ飛びつかない
「最新を自動で入れる」設定は便利ですが、今回はそれがそのまま入口になりました。版は番号で固定し、新しい版は少し様子を見て、安全情報を確かめてから上げる流れにします。Dockerなら「latest」ではなく、版の番号や識別番号(ダイジェスト)で指定します。
習慣3:鍵(APIキー)を分け、使える範囲と金額を絞る
- 用途や部署ごとに鍵を分ける。1本の鍵をあちこちで使い回さない
- AI会社の管理画面で、使える上限額や通知を設定できるなら設定する
- 鍵をプログラムの中や公開の場所に書かない。今回の原因も、公開の場所に置いた鍵でした
- 使わなくなった鍵はすぐ無効にする。定期的に入れ替える
AIを社内で使うときの全体の注意点はAIを使うときのセキュリティ、中小企業向けの対策の選び方は中小企業向けのページにまとめています。マルウェアそのものの基本はマルウェアの用語解説をご覧ください。
10よくある質問
QLiteLLMという名前を聞いたことがありません。うちは関係ありますか。
社内でAIの仕組みを自分たちで作っていなければ、関係ない可能性が高いです。ただ、外部の会社に社内向けのAIチャットなどを作ってもらった場合は、裏側で使われていることがあります。作った会社に確認してください。
QChatGPTやClaudeを画面から使っているだけでも危ないですか。
今回の汚染は、LiteLLMを自分のパソコンやサーバーに入れた人が対象です。AIの会社の画面やアプリを使っているだけなら、今回の汚染の対象ではありません。
Q1.107.0を入れましたが、すぐに消しました。それでも鍵を替えるべきですか。
替えてください。公式は、インターネットにつながった環境で一度でも動いたなら、持ち出しは成功したと考えるよう求めています。悪いファイルが見つからなくても安全とは言えない、ともしています。
Qどの版を使えば安全ですか。
汚染の片付けについて、公式は1.106.2、または事件より前に公開された版に固定するよう案内しています。ただし有料のEnterprise版を使っている場合は、10月27日に出た別の注意情報で、1.106.5以降などの修正版が示されています。自社の使い方に合わせて確かめてください。
QDocker Hubで「latest」を使っていました。今は安全ですか。
公式によると、10月21日の日本時間23時20分までに、汚染された名札は削除または安全な箱に付け替えられました。ただし、それより前に取り込んだ箱が手元に残っていると危険です。識別番号を確かめ、作り直すことをおすすめします。
11今後の予定と更新方針
この話、まだ続きがあるの?
LiteLLMは再発防止の手順を翌週に共有するとしています。出たらこの記事に追記します。
手順の見直しが共有されたら追記
番号付きの情報が出たら反映
LiteLLMは、手順の見直しを翌週に共有するとしています。新しい公式発表や、今回の件に関する番号付きの注意情報が出た場合は、この記事を更新します。この記事の内容は、2026年10月29日時点の公式発表と、PyPI・GitHubの公開情報にもとづいています。
NEXT ・ 次に読む
週1回・無料
「今週気をつけること」をメールで受け取るいま悪用されている脆弱性と、出回っている詐欺の手口を、毎週まとめてお届けします。いつでも解除できます。SOLUTIONS同じ被害を防ぐ対策
この記事に関係する対策の種類から、評価の高いサービスを選んでいます。
- 証拠15/35
- 透明さ35/35
- 使いやすさ24/30
- 料金
- 月150円〜
- 無料
- 30日体験
- 返金
- —
- 日本語窓口
- フォーム
ソリトンシステムズが国内で開発するIDaaSで、ID管理、シングルサインオン、多要素認証、電子証明書の発行をまとめて提供します。ISMAPに…
- 証拠15/35
- 透明さ28/35
- 使いやすさ30/30
- 料金
- 外貨建て
- 無料
- 31日体験
- 返金
- —
- 日本語窓口
- 電話
Microsoft のクラウド型SIEMで、Azure上でログを集めて分析する。Microsoft 365 や Defender を使う会社がログをまとめやすく、国内SOC事…
- 証拠29/35
- 透明さ23/35
- 使いやすさ20/30
- 料金
- 月299円〜
- 無料
- —
- 返金
- —
- 日本語窓口
- 電話
Microsoft 365のメール・Teams等を守る追加機能。Plan 2には攻撃シミュレーション訓練が含まれるため、Microsoft 365を使う会社が追加の機…
出典(一次資料)6件被害を受けた組織や公的機関の発表だけを出典にしています(2026.10.30に確認)開く
- 1
- 2LiteLLM「v1.107.0 attack chain(原因分析、正式な記録)」 ↗docs.litellm.ai
- 3
- 4
- 5PyPI「litellm」配布ページ ↗pypi.org
- 6IPA「情報セキュリティ10大脅威 2026」 ↗www.ipa.go.jp

