OSSの信頼は壊れていた。直す前に証明された
4か月、1,000パッケージ、週間ダウンロード合計5億。TeamPCPという脅威アクターが突きつけたのは、新しい手口ではなく、業界が長年見て見ぬふりをしてきた事実そのものだった。
既知の欠陥が、最悪の形で現実になった
オープンソースの信頼モデルには構造的な欠陥がある。研究者も開発者も、それを知っていた。レジストリに公開されたパッケージの正当性を、ほとんどの組織は検証していない。CI/CDパイプラインは上流のコードを自動で取り込み、テストし、本番に流す。その連鎖のどこか一点が汚染されれば、下流すべてに広がる。
知っていて、直さなかった。
2026年2月末、TeamPCPがその穴を突き始めた。最初の標的は脆弱性スキャナーTrivy。Aqua SecurityのGitHub Actionsワークフローに残った未失効のトークンを利用し、公式リリースチャンネルを制圧した。セキュリティツールが、攻撃の入口になった。
そこから連鎖は止まらない。Trivyで盗んだ認証情報でCheckmarxのKICSを侵害し、LiteLLM、Bitwarden、TanStack、AntVへと波及した。5月にはMicrosoft DurableTaskのPyPIパッケージが汚染され、Nx ConsoleのVS Code拡張機能を経由してGitHub自身の内部リポジトリ約3,800件が流出した。
2026年2月 Trivy侵害(第1波) GitHub Actions残存トークンを利用 2026年3月 KICS・LiteLLM・Telnyxへ連鎖 盗んだPATでKICS、LiteLLM、Telnyxに波及 2026年4月 Checkmarx再侵害・Bitwarden CLI汚染 Docker Hub・VS Code拡張・npmを同時攻撃 2026年5月 Mini Shai-Huludソースコード公開 ワーム型マルウェアのコードをGitHubに公開 TanStack・AntV・GitHub内部リポジトリ流出 VS Code拡張経由で GitHub内部リポジトリ約3,800件流出 2026年6月 汚染パッケージ1,000超に到達 汚染パッケージの週間DL合計約5億に到達 npm v12(7月リリース予定) インストールスクリプト自動実行をデフォルト無効化 |
4か月足らずで汚染されたパッケージは1,000を超え、それらの週間ダウンロードは合わせて約5億に達した。
「スピード」というトレードオフ
なぜこれほどの規模に膨らんだのか。理由の一つは、ソフトウェア業界が速度を選んできたことにある。
CIランナーはビルド・テスト・公開を自動で回す。開発者はそこに最新バージョンを常時取得するよう設定してきた。脆弱性パッチを素早く取り込むための、推奨されたやり方だ。TeamPCPはその習慣をそのまま利用した。上流のCI/CDワークフローを1つ侵害すれば、下流で自動プルする全開発者に汚染コードが届く。依存が依存を呼ぶ構造のなかで、1つの侵入点が何千もの環境に展開される。
Socket創業者兼CEOのフェロス・アブーハディジェ(Feross Aboukhadijeh)氏は、AIの普及がこの構造を一段と危うくしていると指摘する。依存パッケージのセキュリティ検証は以前から不十分だったが、AIがコードを生成しパッケージを自動インストールするようになり、チェック体制はさらに薄くなった。「検証されていないパッケージをエージェントが勝手にインストールしている。攻撃者が入り込んだとき、歯止めが少ない分だけ影響は広い」とアブーハディジェ氏は語る。
Google Threat Intelligence Group(GTIG)のキンバリー・グーディ(Kimberly Goody)氏も、手法自体に目新しさはないと述べる。速度と規模が異例なだけで、悪用されているのはサードパーティへの信頼という、業界が何年も前から認識していた弱点だ。
Palo Alto Networksのナサニエル・クイスト(Nathaniel Quist)氏は、問題の核心をさらに上流に置く。パッケージが配布される前に、公開する組織や個人が認証情報を守り、サプライチェーン攻撃の起点にならないようにする責任がある。「その領域を通過するすべてのものは、厳重に監視・管理されなければならない」
金ではなく、破壊
TeamPCPの動機は、典型的なサイバー犯罪と少し違う。
Googleは活動の大半を1人のオペレーターによるものとみており、南アフリカへのIPアドレス接続を追跡している。Palo Alto Networksは中核メンバーとして「ResoluteXBF」というハンドルのほか、「diencracked」「Shinigami」の2名を追跡中だ。他のサイバー犯罪者と組むこともあるが、提携は短命に終わるか公然と仲間割れしている。Lapsus$、ShinyHunters、DragonForce、BreachForumsとのつながりも報告されている。
収益は目立たない。自称被害者数は1万超、恐喝で得た金額は約9万ドル(約1,450万円)(Palo Alto Networks調べ)。奪った約4,000件のプライベートリポジトリにつけた値札は9万5,000ドル(約1,530万円)。金額が目的なら、非効率すぎる。
「金を稼いでいるわけではないが、大きな衝撃を与えている」とグーディ氏は言う。「混乱を引き起こすのが好きなようだ」
5月にはTeamPCPのアフィリエイトが自作ワーム「Mini Shai-Hulud」のソースコードをGitHub上に公開し、他の犯罪者に利用を促した。攻撃の民主化。模倣犯が参入しやすくなり、TeamPCP自身が逮捕されてもキャンペーンが止まらないリスクが生まれる。
もしTeamPCPが本当に1人で回っているなら、法執行機関にとっては1回の逮捕で大きな打撃を与えられる珍しい機会になる。だが、ソースコードが公開された今、その機会はすでに狭まりつつある。
被害の広がりと、意外な「天井」
汚染されたパッケージの週間ダウンロード合計が5億に達しても、それがすべて実害に結びつくわけではない。マルウェアに感染したパッケージが入った環境の多くはインターネットに直接露出しておらず、攻撃に利用できる条件が揃わないケースも多い。
それでも、認証情報の窃取は確実に起きている。Kubernetes環境、AWS、Azure、Google Cloudの認証情報がターゲットにされ、セキュリティスキャナー、パスワードマネージャー、CI/CDインフラまで侵害された。Wizのアミタイ・コーエン(Amitai Cohen)氏によれば、侵害後の認証情報のローテーションが不完全なために、同じ組織が1か月に3回TeamPCPの被害を受けた例もある。
被害リストには、Checkmarx、Bitwarden、LiteLLM、Telnyx、SAP、GitHub、Mistral AI、UiPath、Red Hatなど名だたる企業が並ぶ。
業界はようやく動き始めた
TeamPCPが突いた「インストール時のスクリプト自動実行」という攻撃面に対し、npm側がついに構造的な対策に踏み切った。6月9日に発表されたnpm v12(7月リリース予定)は、preinstall、install、postinstallスクリプトのデフォルト実行を無効化する。npm installを実行するだけで依存ツリー全体のスクリプトが自動実行される仕組みは12年続いた。それが明示的な許可制に切り替わる。
Gitの依存関係やリモートURLからのインストールも、明示的な承認がなければブロックされる。npm史上もっとも大きなセキュリティ方針の転換だ。
タイミングは偶然ではない。6月初旬にはMiasmaワームがRed Hatの公式npmスコープを侵害し、同じインストールスクリプトのメカニズムを悪用していた。TeamPCPとMiasmaが同じ攻撃面に収束したことが、デフォルト変更を加速させた。
ただし、インストールスクリプトの無効化はサプライチェーン攻撃全体の解決策ではない。TeamPCPの手法にはCI/CDワークフローの直接侵害、OIDCトークンの窃取、VS Code拡張機能の汚染など、インストールスクリプトを介さないルートも多い。npm v12は大きな一歩だが、1つの攻撃面を閉じたにすぎない。
追跡者たちの消耗
Wizでこの攻撃を初期から追い続けてきたコーエン氏は、セキュリティカンファレンスSleuthConでの発表の中で、疲弊を隠さなかった。
「毎朝目が覚めるたびに、広く使われているパッケージが侵害されていて、みんなそれを何事もなかったように使い続けている。こんな状態にいつまでもいるわけにはいかない」
Wizの戦略情報担当ディレクター、ベン・リード(Ben Read)氏によれば、セキュリティ実務者は侵害パッケージの検知速度を上げており、一部のリポジトリは15分以内に除去されるようになった。それでもTeamPCPはほぼ毎日新たなパッケージを汚染し、24時間以内にデータを窃取する。守る側が速くなっても、攻撃のテンポがそれを上回る。
OSSの信頼モデルが壊れていることは、ずっと前からわかっていた。TeamPCPがやったのは、それをもう無視できない規模で証明したことだ。業界が「直すべきだった」を「直さなければならない」に書き換えるかどうか。答えはまだ出ていない。
参照元
How software development's speed obsession enabled TeamPCP's chaos crusade - CyberScoop
他参照
Upcoming breaking changes for npm v12 - GitHub Changelog
関連記事
- GitHubリポジトリ5500件超にバックドア、「Megalodon」攻撃の全容
- マイクロソフトが警告。PyPI mistralai汚染、import時に全消去の罠
- Red Hatの公式npmパッケージ32件が侵害
- GitHubの内部リポジトリ約3800件が流出した経路が判明した
- セキュリティツールが武器に変わる日——TrivyとAxiosに何が起きたか
- AIコーディングが見落とした脅威。jqwikとShai-Hulud
- MiasmaワームがMicrosoft GitHubを直撃、73リポジトリが強制封鎖
- AURマルウェア、削除完了の翌日にさらに高度な第3波が発生
- Axiosを侵した「偽の会議」――北朝鮮ハッカーの手口
- AUR荒らし、マルウェアの次はロシア語の嫌がらせ。AIが最初に検知