LiteLLM 1.107.0が侵害:認証情報窃取ツールとバックドアの分析

インシデントの概要

2026年10月21日、PyPI上のLiteLLMパッケージバージョン1.107.0に、機密性の高い開発者認証情報を窃取し、永続的なリモートコード実行(RCE)バックドアを確立するように設計された悪意のあるコードが含まれていることが判明しました。悪意のあるファイルはビルドプロセスに注入されていたため、GitHub上のソースコードはクリーンなままであり、配布されたwheelファイルのみにペイロードが含まれていました。PyPIはその後、侵害されたバージョンを削除しました。

攻撃のメカニズム

この攻撃は、高度なサプライチェーン注入を利用したものです。攻撃者はプライベートなビルドパイプライン内の pyproject.toml ファイルを改ざんすることで、最終的なPython wheelファイルに3つの悪意のあるファイルが含まれるようにしました。

  • cook.pth および cook.py: これらのファイルは認証情報窃取ツールとして機能します。Pythonは起動時に .pth ファイルを自動的に実行するため、このコードはIDE、CI/CDパイプライン、バックグラウンドタスクを含むホスト上のすべてのPythonプロセスで実行されます。SSHキー、クラウドプロバイダーの認証情報(AWS、Azure、GCP)、ブラウザのパスワード、LLM APIキーを収集し、www.litellm[.]dev にデータを流出させます。
  • sitecustomize.py: このファイルは、ホスト上で永続化するバックグラウンドデーモンを実装します。リモートのGitHubリポジトリを定期的にチェックしてコマンド&コントロールサーバーのアドレスを取得し、攻撃者が被害者のマシン上で任意の第2段階のコードをダウンロードして実行できるようにします。

ビルドパイプラインの侵害

SafeDepによるセキュリティ分析によると、悪意のあるwheelファイルは公開されているGitHub Actionではなく、BerriAIの内部リリースパイプラインを使用してビルドされたことが示されています。攻撃者は、メンテナンス担当者の認証情報またはパイプラインインフラストラクチャ自体を侵害し、cook/ ディレクトリを注入してビルド構成を改ざんした可能性が高いです。悪意のあるファイルはwheelのビルドプロセス中に追加されたため、配布パッケージ内の RECORD ファイルにはそれらが正しく記録されており、自動化された整合性チェックに対しては正規のパッケージであるかのように見えていました。

コミュニティの対応と緩和策

今回のインシデントは、LiteLLMが今年に入ってから2度目のサプライチェーン侵害に直面したことを意味しており、プロジェクトのセキュリティ体制とメンテナンス担当者の慣行に関して大きな懸念が生じています。

  • 緊急の対応: ユーザーは、LiteLLMの依存関係をバージョン1.106.2以前に固定することを推奨します。
  • 公式ガイダンス: LiteLLMチームは、docs.litellm.ai/blog/security-incident-oct-21-2026 に公式のインシデントレポートを公開し、インシデントの収束を確認しました。
  • 開発者の反応: コミュニティメンバーは、これらの脆弱性が繰り返されることに対して不満を表明しています。多くの人が、新しいパッケージバージョンに対するデフォルトの「クールダウン」期間や、サードパーティ依存関係の影響範囲を制限するためのサンドボックスツールの使用など、パッケージ管理セキュリティの向上を求めています。

「攻撃者が3つのユニークな開発者のGitHub認証情報を侵害したというのは少し恐ろしいことです。これはシステム的な問題のように思えます。もし3人の開発者がキーを盗まれたのであれば、根本的な問題は別の場所にあることを示唆しています。彼らは1人を除くすべての開発者の権限を取り消しましたが、それはおそらく正しいアプローチでしょう。しかし、私ならLiteLLMを『このバージョンより前のもの』に固定し、追って通知があるまでそのままにしておきます!」 — HN Commenter @threecheese

「すべての sandbox-exec や Lulu のルールも、このようなものに対しては保護になりません。ある時点で許可のポップアップに疲弊してしまい、私たちは何でも許可を与えることが普通であるかのように振る舞い始めてしまいます。」 — HN Commenter @crossroadsguy

Sources

関連