`npm install` を実行した瞬間、見知らぬ誰かのコードが自社のビルド環境で動く——その前提で開発していますか。 2026年5月から6月にかけて、npm(およびPyPI)を標的とする自己増殖型のサプライチェーン攻撃が継続している。Palo Alto Networksの脅威research部門Unit42は、2026年6月2日に追跡状況を更新し、「Mini Shai-Hulud」と呼ばれる攻撃が脅威アクター「TeamPCP」によって続いていると報告した。

この攻撃は、開発の根幹であるOSS依存とCI/CD(継続的インテグレーション/デリバリ)を侵入口にする。受託・自社開発を行う組織にとって、これは他人事ではない。本記事では、進行中の攻撃の事実を正確に押さえたうえで、依存とCI/CDをどう守るかを整理する。

この記事の要点

  • 2026年5〜6月、npm/PyPIを標的とする自己増殖型のサプライチェーン攻撃(Mini Shai-Hulud/TeamPCP)が継続中(Unit42が6月2日に追跡更新)。
  • 手口:CI/CD(GitHub Actions等)を乗っ取り、OIDCトークンやnpm/クラウドの認証情報を窃取。盗んだ資格情報で感染パッケージを再公開し、ワームのように広がる。
  • 規模は報告により幅がある。初期バーストは@tanstack系42パッケージ・84バージョン。数日でnpm・PyPI合わせて170以上のパッケージに拡大したとの報告(数値は報告・波により差がある)。
  • 注意:この攻撃の一部は、正規のSLSA来歴証明(provenance)が付いた悪性パッケージを公開した。来歴の確認だけでは防ぎきれない
  • 本質は、`npm install`等の依存導入が任意コード実行になりうるという構造。IPA「情報セキュリティ10大脅威2026」でもサプライチェーン攻撃は組織編の上位(第2位・8年連続)。


何が起きているのか

Unit42の報告(2026年6月2日更新)によれば、攻撃の流れはおおむね次のとおりだ。

  1. CI/CDの侵害:信頼されたパッケージ(@tanstack系など)のリポジトリで、CI設定の弱点(信頼できないフォークからのワークフロー実行など)を突き、GitHub Actionsを乗っ取る。
  2. 認証情報の窃取:実行環境のメモリからOIDCトークンを抜き取り、npmトークン、クラウド(AWS/Azure/GCP)の鍵、Vaultトークン、Kubernetesシークレットなど、多数のプラットフォームの資格情報を収集する。
  3. 自己増殖(ワーム化):盗んだ資格情報で、メンテナーが管理する他のパッケージを列挙し、感染版を次々と再公開する。これによりワームのように拡散する。
項目内容
攻撃名/主体Mini Shai-Hulud / TeamPCP(犯行声明あり)
標的npm・PyPI のパッケージエコシステム
侵入口CI/CDの乗っ取り(GitHub Actions等)、OIDC/各種トークンの窃取
拡散自己増殖(ワーム)
規模初期=@tanstack系42パッケージ・84バージョン。数日で170+パッケージへ(報告・波により差)

この系譜は、2025年9月の「Shai-Hulud」ワームに始まり、11月のShai-Hulud 2.0、2026年の「Mini Shai-Hulud」へと連なる(個別の攻撃キャンペーンは区別すべきで、同一視はしない)。


なぜ `npm install` が危ないのか

サプライチェーン攻撃が深刻なのは、依存パッケージの導入そのものが任意コード実行になりうる構造にある。

  • npmのライフサイクルスクリプト(`preinstall`/`install`/`postinstall`)は、`npm install` 時に自動で・開発者やCIの権限で実行される。つまり、悪性パッケージを入れた瞬間、任意のコードが自社環境で動く。これは2025年のShai-Hulud(postinstallスクリプトを悪用)の典型的な侵入口だった。
  • 2026年のTanStack系の波では、postinstallよりもCI/CDパイプラインの乗っ取り(OIDCトークン窃取)が主な機構だった。攻撃の重心が「開発者のPC」から「CI/CD基盤」へ移っていることに注意したい。

さらに厄介なのは、この攻撃の一部が正規のSLSA来歴証明(provenance)を持つ悪性パッケージを公開したことだ。「来歴があるから安全」とは言い切れない。来歴の確認は有効な一手だが、それ単独では防ぎきれない。

開発組織にとって、これは抽象的なリスクではない。受託開発のCI/CDが侵害されれば、顧客の本番環境やデータにまで影響が及ぶ。サプライチェーン攻撃の文脈はnpm依存のサプライチェーンとインシデント対応(axios事例)VSCode拡張を狙うサプライチェーン攻撃(GlassWorm)でも扱っている。IPAの脅威全体像は情報セキュリティ10大脅威2026とAIリスクを参照されたい。


守りの実践:依存とCI/CDをセキュアにする

Unit42が示す対策をふまえ、開発組織が取るべき要点を整理する。

  • ロックファイル+`npm ci`:`npm install` ではなく `npm ci` を使い、ロックファイルに固定された依存だけを導入する。
  • ライフサイクルスクリプトの抑止:`.npmrc` で `ignore-scripts=true` を設定し、不要な自動実行を止める(必要なものは個別に検証)。
  • SBOM(部品表)の整備:何に依存しているかを可視化し、侵害公表時に「自社が影響を受けるか」を即座に判定できるようにする。
  • 来歴検証+多層防御:`slsa-verifier`等で来歴を確認しつつ、来歴だけに依存しない(前述のとおり正規来歴付きの悪性版が存在した)。
  • CI/CDトークンの最小権限化:OIDCのスコープを絞り、CIからの外部通信(egress)を制限する。信頼できないフォークからのワークフロー実行(`pull_request_target`の濫用)を避ける。

こうしたセキュアな開発プロセス(セキュアSDLC)を、自社の開発・CI/CDに合わせて設計・実装することが重要だ。考え方や実装はシステム開発AI開発として組み立てられる。

自社のCI/CDと依存、サプライチェーン攻撃に耐えますか

GXOでは、OSS依存・CI/CDのセキュリティ点検から、SBOM整備、CIトークンの最小権限化、セキュアSDLCの設計・実装まで支援しています。「依存が多すぎて把握できていない」段階のご相談を歓迎します。

CI/CD・依存のセキュリティを相談する → GXO お問い合わせ

※ 営業電話はしません | オンライン対応可 | 構想段階の相談だけでもOK


よくある質問(FAQ)

Q1. 自社は影響を受けていますか?

まず、影響が報告されているパッケージ(@tanstack系など)への依存があるか、SBOMやロックファイルで確認してください。依存の可視化ができていないと、この判定自体ができません。Unit42等のベンダーが公開する影響パッケージ一覧と、自社の依存を突き合わせるのが第一歩です。

Q2. `npm install` と `npm ci` は何が違うのですか?

`npm ci` はロックファイルに固定された依存だけを忠実に導入し、勝手な更新を行いません。CI/CDでは `npm ci` を使うことで、ビルドのたびに想定外の(侵害された可能性のある)バージョンが入り込むリスクを下げられます。

Q3. 来歴証明(provenance)があれば安全ですか?

いいえ。今回の攻撃の一部は、正規のSLSA来歴証明が付いた悪性パッケージを公開しました。来歴の確認は有効な一手ですが、それ単独では防ぎきれません。ロックファイル運用、スクリプト抑止、SBOM、CIトークンの最小権限化と組み合わせた多層防御が必要です。

Q4. CI/CDの何を見直せばよいですか?

OIDCトークンのスコープを最小化し、CIからの外部通信を制限し、信頼できないフォークからのワークフロー実行(`pull_request_target`の濫用)を避けることが要点です。CI環境のメモリからトークンを抜き取る手口が報告されているため、CIに渡す権限と秘密情報を最小限にすることが重要です。


まとめ:依存を「信じる」から「検証する」へ

進行中のnpmサプライチェーン攻撃は、`npm install`等の依存導入が任意コード実行になりうること、そして攻撃の重心が開発者PCからCI/CD基盤へ移っていることを示している。正規の来歴証明を持つ悪性パッケージまで現れた以上、「信頼された名前だから安全」という前提は通用しない。

守りの要は、依存を可視化し(SBOM)、固定して導入し(ロックファイル+`npm ci`)、自動実行を抑止し、CI/CDの権限を最小化する多層防御だ。これらをセキュアな開発プロセスとして自社に実装することが、受託・自社開発の信頼を守る。GXOは、セキュアSDLCの設計・実装をシステム開発AI開発として支援している。詳細はセキュリティ事業も併せてご覧いただきたい。

依存とCI/CDの「現在地」を点検しませんか

OSS依存の可視化(SBOM)、CIトークンの権限見直し、セキュアSDLCの設計・実装まで、貴社の開発体制に合わせて整理します。受託開発の信頼を守る備えを、一緒に進めましょう。

セキュアな開発体制を相談する → GXO お問い合わせ


参考情報

  • Palo Alto Networks Unit42「Monitoring npm Supply Chain Attacks」(2026年6月2日更新。Mini Shai-Hulud/TeamPCPの継続、CI/CD乗っ取り・OIDCトークン窃取・自己増殖、対策=npm ci/ignore-scripts/SBOM/最小権限CIトークン等):https://unit42.paloaltonetworks.com/monitoring-npm-supply-chain-attacks/
  • Snyk「TanStack npm packages compromised」(@tanstack系42パッケージ・84バージョンの初期バースト、GitHub Actions経由のOIDCトークン窃取):https://snyk.io/blog/tanstack-npm-packages-compromised/
  • IPA「情報セキュリティ10大脅威 2026」(組織編で「サプライチェーンや委託先を狙った攻撃」が第2位・8年連続。2026年1月29日公表):https://www.ipa.go.jp/pressrelease/2025/press20260129.html
  • ※ 影響を受けたパッケージ数・バージョン数は報告および攻撃の波により差がある。累計ダウンロード数等の数値は概算(スナップショット)である点に留意。

関連記事