オープンソースAIエコシステムを狙ったサプライチェーン攻撃により、脅威アクターが開発者向けツールやAIインフラを悪用して認証情報を窃取し、クラウド環境を侵害するケースが増えていることが明らかになった。
研究者は発見した。TeamPCPがLiteLLMを侵害していた。LiteLLMは広く使われているオープンソースのPythonライブラリで、OpenAI互換APIを通じて100以上のLLMプロバイダーにアプリケーションを接続する。
攻撃では、悪意あるLiteLLMパッケージを使って、AIプラットフォーム、クラウドサービス、Kubernetes環境、開発者パイプラインに関連する認証情報を窃取したとされる。
TeamPCPの調査における主なポイント
- TeamPCPは、AI開発インフラを狙ったソフトウェアサプライチェーン攻撃によってLiteLLMを侵害した。
- 攻撃者はまずTrivyを汚染し、CI/CDパイプラインのトークンを窃取するとともに、悪意あるLiteLLMパッケージをPyPIに公開した。
- 悪意あるLiteLLMのバージョンは、永続化のためにソースコードへのインジェクションと、ひそかに実行される.pthファイルの手法を使った。
- マルウェアは、OpenAI、Anthropic、Azure、AWS、Kubernetes、開発者環境に関連する認証情報を標的にした。
- このインシデントは、AIエコシステム、CI/CDパイプライン、信頼されたオープンソース依存関係に広がるリスクが高まっていることを浮き彫りにしている。
攻撃はTrivyの侵害から始まった
分析によると、侵害はLiteLLM自体が標的になる前に始まっていた。
TeamPCPはまず、多くのCI/CDパイプラインに組み込まれている脆弱性スキャナー、Trivyを侵害した。
攻撃者は、偽装したメンテナーの身元とコミットのなりすましを使ってTrivyのリポジトリを汚染し、GitHub Releases、Docker Hub、Amazon ECRを通じて悪意あるバイナリを配布したとされる。
LiteLLMはCI/CDパイプライン内でTrivyを使用していたため、侵害されたスキャナーはビルド環境から機密性の高いトークンを収集できた。
研究者によると、マルウェアはLiteLLMのPYPI_PUBLISHトークンをCI/CDランナーのメモリから直接抽出し、攻撃者は公式のソースコードリポジトリ自体を侵害することなく、悪意あるLiteLLMパッケージを公開できた。
盗み出した認証情報を使い、TeamPCPは悪意あるLiteLLMのバージョンをPyPIにプッシュした。
2種類の異なるマルウェア注入手法
攻撃者は、悪意あるパッケージの各バージョンで異なるマルウェア配布手法を使った。
LiteLLMのバージョン1.82.7では、Base64でエンコードしたペイロードをproxy_server.pyファイルに埋め込む、直接的なソースコードインジェクションが使われたとされる。このペイロードはLiteLLMプロキシサービスの起動時に実行された。
バージョン1.82.8では、litelllm_init.pthという名前の悪意ある.pthファイルをPythonのsite-packagesディレクトリ内に配置する、より巧妙な永続化手法が使われた。
.pthファイルはPythonインタープリターの起動時に自動実行されるため、アプリケーションがLiteLLMを明示的にインポートしなくてもマルウェアを実行できた。
研究者は、LiteLLM 1.82.8を単純にインストールするだけで、影響を受けたホスト上の後続のPythonプロセスでペイロードが有効になったと指摘している。
認証情報の窃取と永続化
マルウェアは、認証情報の収集と永続化に重点を置いていた。
分析によると、ペイロードは主要なAIプロバイダーやクラウドサービスに関連する環境変数と設定ファイルをシステム内から探し出した。
標的となった認証情報には、APIキー(OpenAI、Anthropic、Azure AIのサービス向け)に加え、AWS、Google Cloud、Microsoft Azure環境に関連するクラウド認証情報が含まれていたとされる。
マルウェアはまた、ユーザーのホームディレクトリ内に保存されたKubernetesの設定ファイルやAWSの認証情報ファイルなど、ローカルの設定ファイルの抽出も試みた。
データを収集した後、マルウェアは情報を暗号化し、流出させるため圧縮アーカイブにまとめた。
その後、データは攻撃キャンペーンに関連する、攻撃者が制御するリモートドメインに送信された。
マルウェアはさらに、ポーリングベースのリモートコード実行バックドアを使って永続化し、追加のペイロードや実行命令を求めて、二次的なコマンド&コントロールエンドポイントに定期的に接続した。
組織がAIサプライチェーンのリスクを低減する方法
ソフトウェアサプライチェーン攻撃が開発者向けツールやAIエコシステムに影響を及ぼし続けるなか、組織はビルドパイプラインと依存関係のワークフローの保護をより重視している。
セキュリティチームは、認証情報の露出を抑え、パッケージの完全性を検証し、開発者の活動を可視化するとともに、サプライチェーンインシデントの可能性に備えることを優先すべきだ。
- CI/CDパイプライン、パッケージリポジトリ、開発者環境を監視し、承認されていないパッケージの変更、不審な公開活動、異常な認証動作がないか確認する。
- 公開用トークンへのアクセスを制限し、APIキーやクラウド認証情報について最小権限を徹底するとともに、MFAを開発者システムとビルドシステム全体で適用する。
- 署名付きリリースを使ってパッケージの完全性を検証し、デプロイ前にチェックサム検証、依存関係スキャン、ソフトウェアコンポジション解析(SCA)ツールを利用する。
- ビルド環境を分離し、不要な外向き接続を制限して、CI/CDランナーからの認証情報の露出とラテラルムーブメントのリスクを低減する。
- Pythonパッケージを継続的に監視し、AIライブラリやオープンソースの依存関係について、悪意ある更新、タイポスクワッティング、予期しないインストール動作がないか確認する。
- エンドポイントの可視性と挙動検知機能を強化し、認証情報の窃取、永続化メカニズム、不審なPythonインタープリターの活動を特定する。
- インシデント対応、封じ込め、復旧計画を定期的にテストし、ソフトウェアサプライチェーンの侵害、悪意あるパッケージ、CI/CDパイプラインの侵害に備える。
これらの対策を総合的に講じることで、組織はソフトウェアサプライチェーンへの露出を抑え、業務のレジリエンスを強化できる。
AIインフラが新たな標的に
LiteLLMの侵害は、攻撃者が信頼された開発者向けツールやCI/CD環境をますます狙うなか、AIインフラとソフトウェアサプライチェーンが直面するリスクの高まりを浮き彫りにしている。
LiteLLMは複数のAIプロバイダーへのゲートウェイとして機能するため、1件の侵害で、OpenAI、Anthropic、Azureなど接続されたサービスに関連する認証情報が露出する可能性がある。
このインシデントは、攻撃者がソフトウェアパイプライン内の信頼関係を悪用し、Trivyの先行する侵害を利用して正規のリポジトリや下流の開発環境を通じて悪意あるパッケージを配布できることも示している。
ゼロトラスト戦略を採用し、アクセス制御、セグメンテーション、IDセキュリティの強化に役立てている。





