コンテンツにスキップ

Mini Shai-Hulud ― npm Supply ChainがCI/CD Credential Theftへ直結する

Executive Summary

Microsoftは2026年5月20日、@antvのnpm Maintainer Accountが侵害され、広く利用されるPackageの悪意あるVersionを通じてCI/CD Credentialを窃取するSupply Chain Attack「Mini Shai-Hulud」を報告しました。PayloadはGitHub、AWS、Vault、npm、Kubernetes、1Password等のCredentialを探索し、Dependency Chainを通じて下流Projectへ影響を拡大しました。1

GitHubは対応として640の悪意あるPackageを削除し、Write権限と2FA bypassを持つ61,274のnpm Granular Access Tokenを無効化したとMicrosoftは報告しています。Software Dependencyの侵害がBuild System Identityの侵害へ直結することを示す事例です。

なぜ今なのか

Software Supply Chainの価値はSource Codeそのものだけではありません。CI/CD PipelineにはPackage Publish Token、Cloud Credential、Signing Material、Deployment Credential等の高価値Secretが集中しています。

Maintainer Accountが侵害されると、正規Package Updateを通じて多数の組織へPayloadを配布できます。

攻撃Chain

  1. npm Maintainer Accountを侵害
  2. 正規Scopeで悪意あるPackage VersionをPublish
  3. Downstream Dependencyへ自動伝播
  4. npm install時のScriptでPayload実行
  5. CI/CD / Cloud / Developer Credentialを探索
  6. Stolen Tokenを利用してRepository / Packageへ拡大

MITRE ATT&CK® Mapping

この表は、攻撃・Campaignの理解に有用な場合だけ表示します。Source-labeled は一次情報がATT&CK IDを明示したもの、Analyst-mapped は一次情報に記載された行動を本LibraryがATT&CKへ対応付けたものです。後者は、元情報の発行者がそのATT&CK IDを明示したことを意味しません。

Technique Tactic Basis Article context
T1195.001 Compromise Software Dependencies and Development Tools Initial Access Analyst-mapped 侵害されたnpm Maintainer / PackageとLifecycle Scriptを利用したDependency Chain侵害に対応。
T1552.001 Credentials In Files Credential Access Analyst-mapped .awsやVault Token Path等のCredential File探索に対応。
T1528 Steal Application Access Token Credential Access Analyst-mapped GitHub / npm / Kubernetes等のAccess Token取得・再利用に対応。

経営インパクト

観点 影響
Developer Supply Chain Direct DependencyでなくてもTransitive経由で侵害
Cloud Risk CI/CD SecretからCloud Control Planeへ到達し得る
Trust Package署名・Provenanceだけでは侵害を完全に防げない
Incident Scope 影響確認にはBuild Log、Lockfile、Token利用履歴が必要

日本企業への示唆

SBOMを作るだけでなく「いつ、どのVersionを、どのRunnerでBuildしたか」を追跡できる必要があります。Supply Chain Incident時にはPackage削除だけでなく、その期間に利用されたCredential Rotationが重要です。

推奨アクション

  1. npm等のLifecycle Scriptを必要最小限にする
  2. CI/CD Tokenを短命・Least Privilege化する
  3. Package LockfileとBuild Provenanceを保持する
  4. Dependency Updateを自動承認せずRisk-basedに検証する
  5. Compromised Package利用時はCredential Rotationまで実施する
  6. Maintainer / Package ReputationをThird-party Riskへ組み込む

用語解説

Transitive Dependency
直接指定したLibraryがさらに依存している間接的なDependency。利用者が意識しないまま組み込まれることがあります。

関連記事

参考情報