LiteLLM→TanStack 404版 ── 3ヶ月で完成した「AI開発者標的型」サプライチェーン攻撃の産業チェーン
2026年3月24日、日間340万ダウンロード・月間9,500万ダウンロードを記録するLLMルーティングライブラリLiteLLMのPyPIパッケージが侵害された。悪性バージョン1.82.7および1.82.8が約3時間にわたり配布され、2,500以上の組織と43万4,000件のCI/CDパイプラインが影響を受けた。しかしこれは序章に過ぎなかった。わずか48日後の5月11日、同一脅威アクター「TeamPCP」は単一キャンペーンでTanStack全42パッケージ(84悪性バージョン)、Mistral AI SDK(npm+PyPI同時)、UiPath 65パッケージ、合計404悪性バージョンを6分間で投入する史上最大規模の協調攻撃を実行した。npmの約78%が標的となり、AI tooling(Mistral、LiteLLM、Guardrails AI)が最上位の攻撃クラスタに集中している。この構造は、AI開発者が最優先攻撃対象となった産業構造転換の加速フェーズそのものである。本稿では、LiteLLM単体侵害から404版協調攻撃への進化過程を時系列で分析し、「AI開発者=最高価値ターゲット」の経済合理性と防御設計の構造的課題を解明する。
TeamPCP攻撃チェーンの時系列分析 ── Trivy→LiteLLM→TanStack 3段階エスカレーション
2026年のAIサプライチェーン攻撃を理解するには、TeamPCPが構築した3段階の攻撃チェーンを時系列で追う必要がある。各段階は前段階で窃取した認証情報を次段階の攻撃に活用する「連鎖増殖」モデルであり、従来の単発型パッケージ汚染とは本質的に異なる。
第1段階: Trivy GitHub Actions侵害(2026年3月19日)
攻撃の起点は、コンテナセキュリティスキャナーAqua Security Trivyのgithub-actionリポジトリであった。TeamPCPは3月19日にリリースタグを強制プッシュし、CI/CDパイプラインで実行されるTrivyアクションに悪性コードを注入した。Trivyはセキュリティツールであるがゆえに多くのCI環境で特権的に実行されており、1万件以上のCI/CDパイプラインからGitHubトークン、npmパブリッシュトークン、AWS認証情報が窃取された。皮肉にも、セキュリティスキャナーの信頼性が攻撃の最大のレバレッジとなったのである。
第2段階: LiteLLM PyPI侵害(2026年3月24日 10:39 UTC)
Trivyから窃取した認証情報を利用し、TeamPCPはLiteLLMのPyPIパブリッシング権限を奪取した。悪性バージョン1.82.7および1.82.8には3段階の情報窃取ペイロードが埋め込まれていた。第1段階でlitellm_init.pthファイルがPythonプロセス起動時に自動実行される永続化メカニズムを確立。第2段階で/proc/<pid>/memからのメモリ抽出により.envファイルとインメモリシークレットを窃取。第3段階でroot権限に昇格し、SSH鍵、Kubernetesシークレット、暗号通貨ウォレット、クラウド認証情報を一括収集した。PyPI側が検疫するまでの約3時間(13:38 UTC)で、898のGitHubオーナーアカウントに紐づく2,038リポジトリが侵害された。Datadog Security Labsの分析によれば、窃取されたデータ量は300GBを超える。
第3段階: Mini Shai-Hulud協調攻撃(2026年5月11日 19:20 UTC)
LiteLLM攻撃から48日後、TeamPCPは前2段階で蓄積した大量の認証情報を一斉に使用し、170以上のnpmパッケージと2つのPyPIパッケージに対する同時攻撃を実行した。@tanstack/react-routerだけで週間1,270万ダウンロードを記録する巨大エコシステムが6分間で汚染された。この3段階エスカレーションは、サプライチェーン攻撃が「単発の汚染」から「認証情報の再投資による複利的拡大」へと構造転換したことを示している。筆者のインシデント対応の実務経験から言えば、1秒の判断遅れが被害範囲を指数関数的に拡大させるが、この攻撃チェーンではまさにその指数関数的拡大が攻撃者側の戦略として意図的に設計されている点が、従来のインシデントとは質的に異なる。
Endor Labs、Sonatype、Microsoft Securityの各調査レポートは、TeamPCPが「正規の就労機会を得られない若年層」で構成されているとプロファイリングしている。しかし技術的洗練度は国家支援型APTに匹敵し、SLSAプロベナンス偽造やOIDCトークン抽出といった高度な手法を独自に開発している点は注目に値する。
404悪性バージョン同時投入の技術的解剖 ── SLSA偽造・OIDC抽出・地理的条件分岐
2026年5月11日のMini Shai-Hulud攻撃は、サプライチェーンセキュリティの前提を複数同時に破壊した点で画期的であった。技術的に最も重要な3つのブレークスルーを解剖する。
1. SLSA(Supply-chain Levels for Software Artifacts)プロベナンス偽造
TanStackの84悪性バージョンは、有効なSLSAプロベナンス認証(attestation)を伴って配布された。これはサプライチェーンセキュリティの業界標準であるSLSAフレームワークにおいて、暗号学的検証をパスする悪性パッケージが配布された初の確認事例である。攻撃者はGitHub Actionsランナープロセスの実行時メモリからOIDCトークンを抽出する手法を開発した。具体的には、pull_request_targetイベント(通称「Pwn Request」パターン)とGitHub Actionsキャッシュポイズニングを組み合わせ、フォークとベースリポジトリ間の信頼境界を越えてランナーメモリに直接アクセスした。OIDCトークンが取得できれば、正規のビルド署名プロセスを模倣してSLSA準拠のプロベナンスを生成できる。つまり、SLSAに依存するすべてのセキュリティツール──Sigstore、cosign、npm audit signatures──が悪性パッケージを「正規」と判定したのである。
StepSecurityの事後分析は、これが「SLSAへの過信が生む新たな攻撃面」だと指摘している。プロベナンス検証は「ビルド環境が侵害されていない」ことを前提とするが、ビルド環境自体が攻撃対象となった場合、暗号学的保証は無意味化する。
2. 60秒ポーリング+自己破壊メカニズム
悪性パッケージに埋め込まれたスクリプトは、60秒間隔でGitHubトークンの有効性をポーリングし続ける。トークンが無効化(revoke)されたことを検知すると、rm -rf ~/.を実行してホームディレクトリ配下のすべてのドットファイル(.ssh、.aws、.kube、.npmrc等)を破壊する。これは証拠隠滅と同時に、被害者の環境を使用不能にすることでインシデント対応を妨害する二重目的の設計である。
3. 地理的条件分岐による選択的破壊
Mistral AI SDKの悪性バージョン(npm: @mistralai/mistralai 2.2.2–2.2.4、PyPI: mistralai 2.4.6)には、ロケーションベースの条件分岐が実装されていた。ロシア語環境では実行を回避し、イスラエルまたはイランのIPアドレスからのアクセスに対しては1/6の確率でrm -rf /を実行する破壊的分岐が存在した。この地政学的条件分岐は、攻撃者の帰属や動機に関する分析を複雑化させる意図的な偽旗(false flag)操作の可能性も指摘されている。
SafeDepの分析によれば、404悪性バージョンの内訳はTanStack 84版、Mistral AI 10版(npm 9 + PyPI 1)、UiPath 65版、OpenSearch・Guardrails AI等その他245版であった。npm 5月12日01:53 UTC、PyPI 5月12日03:05 UTCにそれぞれ削除されたが、初期の6分間ウィンドウ(19:20–19:26 UTC)での自動インストールが最大の被害をもたらした。CI/CDパイプラインはバージョン固定なしの^や~指定で最新版を自動取得するため、ビルド実行中のパイプラインが即座に汚染された。
この攻撃の技術的教訓は明確である。署名・プロベナンス・ロックファイルという3層の防御がすべて同時に突破可能であることが実証された。MCPサーバー20万脆弱性インスタンスの構造的欠陥と同様、AIエージェントのサプライチェーンは信頼の連鎖そのものが攻撃面となっている。
「AI開発者=最高価値ターゲット」の経済学 ── なぜAI toolingが最上位攻撃クラスタなのか
2026年のサプライチェーン攻撃において、AI開発ツールが攻撃クラスタの最上位に位置する理由は、純粋な経済合理性で説明できる。
認証情報の価値密度
LiteLLMは複数のLLMプロバイダー(OpenAI、Anthropic、Azure、AWS Bedrock等)へのAPI呼び出しを統一的にルーティングするプロキシサーバーである。つまりLiteLLMの環境変数には、複数プロバイダーのAPIキーが集約されている。1つのLiteLLMインスタンスを侵害すれば、平均3〜5プロバイダーの認証情報を一括取得できる。Guardrails AIはLLM出力のバリデーションツールであり、同様にモデルAPIキーを保持する。Mistral AI SDKはMistralのエンドポイントに直結する。これらAI toolingパッケージは「認証情報の集約点」として、汎用ライブラリよりも1インスタンスあたりの価値が桁違いに高い。
Gurucul社のTeamPCPプロファイリングレポートによれば、窃取されたクラウド認証情報の闇市場価格は1セットあたり100〜5,000ドル、SSH鍵/Kubernetesシークレットのバンドルは500〜50,000ドルで取引されている。LiteLLM攻撃で窃取された50万件以上の認証情報の推定市場価値は、保守的に見積もっても5,000万ドル(約75億円)、積極的な見積もりでは5億ドル(約750億円)に達する。
エンタープライズAI導入率の急伸
2026年時点でエンタープライズのAI投資率は80%に達し(2025年の78%から上昇)、EU AI Act高リスク分類の本格適用が8月に控えている。この急速な導入拡大は、AI開発ツールの依存関係がエンタープライズの本番環境に直結することを意味する。LiteLLMの月間9,500万ダウンロードという数字は、Fortune 500企業の多くがこのツールに依存していることを示唆する。攻撃者にとって、AI toolingへの1回の侵害は、個別企業への標的型攻撃よりも圧倒的に効率的なエンタープライズアクセスの入口となっている。
CI/CDパイプラインの特権的位置
AI開発ツールはCI/CDパイプラインの中核に組み込まれている。LLMを使った自動テスト、モデル評価、デプロイメントバリデーションのワークフローでは、AIツールがKubernetesクラスタへのアクセス権、クラウドストレージの読み書き権限、モデルレジストリへのプッシュ権限を保持する。筆者が全国規模のWAFサービスの技術主任として無停止での機器リプレースを実施した経験から言えば、インフラの中核コンポーネントは「止められない」制約ゆえに侵害されても即座に切り離せない。AI推論パイプラインにも同じ構造的制約が存在し、侵害されたLiteLLMインスタンスを即座に切り離すことは本番サービスの停止を意味する。この「止められない」制約が、攻撃者の滞留時間を長期化させるのである。
Sonatype 2026 State of Software Supply Chain Reportによれば、2025年に発見された悪性パッケージは45万4,600件に達し、前年比75%増であった。そのQ4だけで39万4,877件(年間の89%)が発見されており、攻撃の自動化が急速に進行していることを示す。2026年は通年で60万〜80万件の悪性パッケージが予測されている。npm標的が約78%を占める偏りは、npmエコシステムのユーザーベースの大きさ(週間数十億ダウンロード)と依存関係の深さ(平均プロジェクトで100以上の推移的依存関係)に起因する。
Ethereum C2とCHAINDROP ── テイクダウン不可能な指揮統制インフラの構造分析
2026年のサプライチェーン攻撃におけるもう一つの構造的転換は、Ethereumブロックチェーンを活用したC2(Command and Control)インフラの実用化である。
従来型C2の限界と解決
従来のC2サーバーはドメイン名やIPアドレスでホストされるため、テイクダウン(強制停止)が可能であった。攻撃者がドメインを取得しサーバーを設置しても、法執行機関やホスティングプロバイダーがこれを停止できる。しかし2026年7月以降に観測されたNullReceiverおよびCHAINDROP変種では、C2サーバーのアドレス解決にEthereumスマートコントラクトが使用されている。攻撃の流れは次の通りである。汚染されたnpmパッケージがインストールされると、公開Ethereum RPCエンドポイント(Infura、Alchemy等)に対してスマートコントラクトのストレージを照会する。コントラクトから現在のC2サーバーのIPアドレスとポートを取得し、接続を確立する。C2サーバーが差し押さえられた場合、攻撃者はスマートコントラクトの値を更新するだけで新しいC2サーバーに全感染ノードを一斉にリダイレクトできる。
CHAINDROP変種の特異性
2026年8月4日にJFrog Security ResearchおよびElastic Security Labsが報告したCHAINDROP変種は、Shai-Hulud系統の最新進化形である。keyv monorepoの侵害を起点に400以上のnpmパッケージを汚染し、VS CodeおよびClaude Codeのフック機構に永続化メカニズムを埋め込んだ。注目すべきは、パッケージがnpmから削除されてもブロックチェーンベースのC2解決が独立して機能し続ける点である。つまり「パッケージ削除=感染除去」という従来の前提が成立しなくなった。NullReceiver単独で7月27日以降68件以上のEthereumトランザクションが観測されており、活発な運用が継続していることが確認されている。
検知の構造的困難
ブロックチェーンRPCエンドポイントへのクエリは通常のHTTPSトラフィックとして観測され、EDR(Endpoint Detection and Response)やNDR(Network Detection and Response)では悪性と判定しにくい。DeFiアプリケーションやWeb3開発ツールが同一のRPCエンドポイントを正規に使用しているため、ブロック対象として設定できない。スマートコントラクトのアドレスはキャンペーンごとにローテーションされ、ドメインベースのIoCリストに相当する統一的な検知メカニズムが存在しない。AI自律脆弱性ハンティングの産業化によって防御側のツールは進化しているが、ブロックチェーンC2はその検知モデルの盲点を突いている。
Endor Labsはこの手法を「テイクダウン不可能なC2(The Unkillable C2)」と命名し、ブロックチェーンの不変性がサイバーセキュリティの前提を根底から覆す転換点であると分析している。Ethereum以外にもBNB Smart Chain、Polygon、Solanaが利用されており、マルチチェーン展開による冗長化も進行中である。
防御設計の構造的再編 ── 254日検知ギャップと実行可能な対策フレームワーク
サプライチェーン攻撃の平均検知期間は254日である。LiteLLM攻撃の3時間検知は例外的に早く、これはPyPIチームの迅速な対応によるものであった。しかし3時間でも43万4,000件のCI/CDパイプラインが汚染された。Mini Shai-Hulud攻撃の6分間ウィンドウですら、CI/CDの自動ビルドを通じて大規模な被害が発生した。この現実は、「検知→対応」モデルの限界を示している。
即時実装すべき5つの防御層
1. ロックファイルの完全固定とハッシュ検証
package-lock.jsonおよびpoetry.lockでバージョンを完全固定し、integrity hashを検証するCI/CDステップを必須化する。^や~によるセマンティックバージョニング範囲指定は、Mini Shai-Hulud攻撃で実証されたように自動的に悪性バージョンを取得するリスクがある。Renovate/DependabotによるPR経由の更新に限定すべきである。
2. GitHub Actions OIDCトークンの最小権限化
TanStack攻撃はOIDCトークンの過剰な権限が攻撃を可能にした。permissionsブロックでid-token: writeの付与を最小限のジョブに限定し、pull_request_targetトリガーの使用を禁止するOrganization-levelのポリシーを設定する。StepSecurityのHarden Runnerを導入し、ランナー上のプロセスおよびネットワーク通信をリアルタイムで監視することも有効である。
3. npmパブリッシュの2FA必須化とスコープ制限
npmの--auth-type=webによる2FA必須化を全パブリッシュ操作に適用する。CI/CDでの自動パブリッシュにはGranular Access Tokenを使用し、パッケージスコープとIPアドレス範囲を制限する。LiteLLM攻撃ではパブリッシングトークンの窃取が直接的な侵害原因であり、トークンの権限範囲制限が被害を限定できた可能性が高い。
4. ブロックチェーンRPCトラフィックの監視
CHAINDROP対策として、Infura・Alchemy等の主要Ethereum RPCエンドポイントへの予期しないアウトバウンド通信を監視する。Web3開発を行わない環境では、これらのエンドポイントへのアクセスをホワイトリスト外としてアラートを発行する。NDRソリューションでEthereum JSON-RPCプロトコル(eth_call、eth_getStorageAt等)のパターンマッチングを実装することも検討に値する。
5. SLSAプロベナンスの「信頼しつつ検証」モデルへの移行
TanStack攻撃はSLSA Level 3プロベナンスを偽造した。プロベナンスの存在を無条件に信頼するのではなく、ビルドログの異常検知(通常と異なるビルド時間、通常と異なるランナー環境)を組み合わせた多層検証が必要である。Socket、Snyk、SafeDepなどのSCAツールは、プロベナンス検証に加えてランタイム行動分析(パッケージがネットワーク通信を行う、ファイルシステムにアクセスする等の異常行動検知)を統合し始めており、これらの採用を推奨する。
脆弱性診断やペネトレーションテストの実務では、プロトコルやHTTPヘッダ一つの設定ミスが致命的な脆弱性になり得ることを体験的に知っている。サプライチェーン防御においても同様で、.npmrcの一行、permissionsブロックの一項目が攻撃の成否を分ける。防御は「大きな戦略」ではなく「小さな設定の積み重ね」でしか実現できない。AI自律レッドチームツールを活用したサプライチェーン攻撃シミュレーションの定期実施も、検知能力向上のために検討すべきである。
FAQ
LiteLLM侵害で具体的にどのデータが窃取されたのか?
悪性バージョン1.82.7/1.82.8は、SSH鍵、AWSやGCPなどのクラウド認証情報、Kubernetesシークレット、暗号通貨ウォレット、.envファイル内の環境変数、インメモリのシークレット情報を窃取した。root権限への昇格機能を持ち、/proc/<pid>/memからのメモリ抽出で実行中プロセスの秘密情報も対象とした。影響は2,500以上の組織に及んだ。
Mini Shai-Hulud攻撃の「404悪性バージョン」とは何か?
2026年5月11日にTeamPCPが単一キャンペーンで投入した悪性パッケージバージョンの総数である。TanStack 84版、Mistral AI SDK 10版、UiPath 65版、OpenSearch・Guardrails AI等245版の合計404版が、npmとPyPIに同時配布された。npmとPyPIの両エコシステムを同時に標的とした協調攻撃としては史上最大規模である。
SLSAプロベナンスが偽造されたとはどういう意味か?
SLSA(Supply-chain Levels for Software Artifacts)はソフトウェアのビルド元を暗号学的に証明するフレームワークである。TanStack攻撃では、GitHub ActionsランナーのメモリからOIDCトークンが抽出され、このトークンで正規の署名プロセスを模倣した有効なプロベナンスが生成された。Sigstoreやnpm audit signaturesなどのツールが悪性パッケージを「正規」と判定した。
Ethereum C2とは何か?なぜテイクダウンできないのか?
マルウェアの指揮統制(C2)サーバーのアドレスをEthereumスマートコントラクトに記録する手法である。従来のドメイン/IPベースのC2は法執行機関がテイクダウンできるが、ブロックチェーン上のデータは改ざん・削除不可能で、公開RPCエンドポイント経由のアクセスは通常のHTTPSトラフィックと区別困難なため、実質的にテイクダウン不可能となる。
AI開発者が優先的に標的とされる理由は?
AI toolingパッケージ(LiteLLM、Mistral SDK等)は複数のLLMプロバイダーのAPIキーやクラウド認証情報を集約的に保持する。1つのAIツールインスタンスの侵害で平均3〜5プロバイダーの認証情報を一括取得でき、汎用ライブラリの侵害と比較して認証情報の「価値密度」が桁違いに高い。エンタープライズAI投資率80%の背景もこの標的集中を加速させている。
自社のCI/CDパイプラインがShai-Hulud攻撃の影響を受けたか確認する方法は?
まず対象パッケージの該当バージョン(LiteLLM 1.82.7/1.82.8、@tanstack各パッケージの悪性バージョン等)がインストールされた履歴をCI/CDログで確認する。次にGitHubトークン、npmトークン、AWS認証情報などの全シークレットをローテーションする。Socket.devやSnykなどのSCAツールで依存関係の事後スキャンを実施し、自律的ゼロデイ検知ツールの導入も検討すべきである。
2026年のサプライチェーン攻撃の規模はどの程度拡大しているか?
Sonatypeの報告によれば、2025年に45万4,600件の悪性パッケージが発見され前年比75%増であった。2026年は通年で60万〜80万件が予測されている。経済的影響はグローバルで年間532億ドルに達し、1件あたりの平均インシデントコストは約480万ドルと推定されている。検知までの平均期間は254日である。
参考文献
- TeamPCP Isn't Done: LiteLLM Attack Analysis — Endor Labs, 2026年3月
- Compromised LiteLLM PyPI Package Delivers Multi-Stage Credential Stealer — Sonatype, 2026年3月
- LiteLLM and Telnyx Compromise — Datadog Security Labs, 2026年4月
- Mass npm Supply Chain Attack: TanStack, Mistral AI — SafeDep, 2026年5月
- npm Supply Chain Compromise Postmortem — TanStack, 2026年5月
- Mini Shai-Hulud Compromised npm Packages Enable CI/CD Credential Theft — Microsoft Security Blog, 2026年5月
- Shai-Hulud Is Back: CHAINDROP Variant Analysis — JFrog Security Research, 2026年8月
- The Unkillable C2: Command and Control via Blockchain — Endor Labs, 2026年8月
- 2026 State of Software Supply Chain Report — Sonatype, 2026年
- Threat Actor Profile: TeamPCP — Gurucul, 2026年