JavaScript/npmエコシステムは、2025年11月24日に再出現したShai-Hulud 2.0により、サプライチェーン脅威における新たな基準に直面している。この自己増殖型ワームは特にオープンソースのメンテナと彼らが公開するパッケージを標的とする。この新亜種は、孤立した悪意のあるパッケージから、協調的で自動化された感染メカニズムへの転換を示すものである。
影響はすでに深刻だ。数百のnpmパッケージと数万のGitHubリポジトリが影響を受け、JavaScriptサプライチェーン攻撃としては前例のない「被害範囲」を生み出している。OPSWAT1.0の分析をご存知の読者にとって、2.0のリリースはワームの能力と運用規模を劇的に拡大するものです:より早い実行、より広範な拡散、標準的な修復策に対するより高い耐性により、懸念される脅威から完全なエコシステムレベルのインシデントへと格上げされました。
シャイ=フルード 2.0 概要
- 自己増殖型ワーム:Shai-Hulud 2.0はGitHubの認証情報を窃取し、自身を再パッケージ化して、メンテナのnpmポートフォリオ全体に再公開する。
- 大規模な拡散:700以上の感染したnpmパッケージ、25,000以上のGitHubリポジトリ、500人のメンテナが影響;30分ごとに1,000以上の新規リポジトリが追加される(Wiz)。
- クロスエコシステムへの影響:自動化されたnpmからMavenへのミラーリングを通じて、Maven/Javaでも同様に確認される。
- 主なリスク:CI/CDへの曝露、機密情報の侵害、インストール時実行、およびレジストリの汚染。
- 防御:SBOMの正確性、プロバンス検証、実行時監視、厳格なトークン/シークレット管理。
範囲とエスカレーション:被害はどの程度広がっているのか?
Shai-Hulud 2.0の拡散規模と速度は、近年のサプライチェーン関連インシデントで観測された事例をすべて上回った。標的型npm侵害として始まった事態は、瞬く間に数千のプロジェクトと数百のメンテナに影響を及ぼす、システム的なクロスプラットフォーム感染へと拡大した。
典型的なnpmマルウェアは単一のトロイの木馬化されたパッケージが関与するのに対し、Shai-Hulud 2.0はワームのように振る舞う。開発者を侵害した後、GitHubの認証情報を盗み、自身を再パッケージ化し、メンテナの全パッケージセットに再公開する。これにより各被害者が新たな配布拠点となり、エコシステム全体で急速かつ指数関数的な拡散を引き起こす。
改ざんされたパッケージ
数百のnpmパッケージが侵害されました。これには、確立された組織が管理する注目度の高いプロジェクトも含まれており、下流への影響を拡大させています。
急速な、指数関数的拡大
このワームは、盗まれた認証情報による自動公開を駆動力として、30分ごとに1,000以上の新たな悪意あるGitHubリポジトリを生成していることが確認されている(Wiz)。新たな被害者はそれぞれ拡散ノードとなり、サイクルごとに総被害規模を増幅させている。
暴露された秘密
Shai-Hulud 2.0の認証情報窃取コンポーネントは特に深刻な被害をもたらしている。確認済みの漏洩情報には、GitHub、AWS、GoogleCloud 、Azureといった主要プラットフォームにまたがる1,500件以上の認証情報とトークンが含まれている。
この機微なトークンの大量流出は、広範なマルチクラウド環境への侵害を示しており、長期にわたる悪用の可能性を秘めている。
修復作業
幸いなことに、Zapier、PostHog、Postmanといった著名なメンテナンス担当者の多くは、既に自身のパッケージの管理権限を取り戻しています。悪意のあるバージョンはnpmから削除され、影響を受けた多くのリポジトリは復旧またはクリーンアップが進められています。
しかし、この事象は依然として進行中です。迅速な修復が行われた場合でも、組織は依存関係の健全性、CIパイプライン、GitHubアカウントを継続的に監視し、さらなる認証情報の漏洩や自動化された再公開の兆候がないか確認する必要があります。
クロスエコシステム影響:npm → Maven/Java
特に、この動きは自動化されたnpmからMavenへのアーティファクト変換(JFrog)を通じて、Maven/Javaなどの他のエコシステムにも影響を与えている。
-
Shai-Hulud 2.0の主な標的はnpmのままである一方、今回の攻撃波はクロスエコシステム感染のリスク、特にJava/Mavenプロジェクトへの波及リスクを明らかにした。セキュリティ研究者が特定した悪意のあるMavenアーティファクト:
org.mvnpm:posthog-node:4.18.1同じペイロードを含むもの (セットアップ_バン.jsそしてbun_environment.js侵害されたnpmパッケージ内で発見されたハッカーニュース) .
- 仕組み:自動化されたブリッジングツールが、Javaプロジェクト向けにnpmパッケージをMavenアーティファクトとして再構築します。Node.jsを直接使用していないチームでも、プロジェクトがこれらのミラーリングされたアーティファクトに依存している場合、影響を受ける可能性があります。
これは、サプライチェーン攻撃が生態系に依存しないリスクであることを示している。npmを直接使用しないプロジェクトでさえ、自動化されたツールを通じてリスクを継承する可能性がある。
Shai-Hulud 2.0は、現代のサプライチェーンワームが環境認識型かつ多段階の脅威であることを実証している。開発者マシンやCI/CDパイプラインに適応し、ペイロードと拡散メカニズムの両方として認証情報を収集し、拡散または破壊的影響を確実に実現するためのフォールバック動作を備えている。検出には、静的コード解析だけでなく、全段階にわたる実行時動作の監視が必要である。
技術力学:ワームの仕組み
| ステージ | 何が起こるのか |
|---|---|
| 1. 初期アクセスと展開 | 攻撃者は侵害されたnpmメンテナアカウントを悪用し、マルウェアを含むパッケージを配布する セットアップ_バン.js そして bun_environment.js自動的に実行される プリインストール 開発者マシンとCI/CDパイプラインを横断する |
| 2. ステルス的なランタイム初期化 | ローダーはホスト環境を検知し、Bunランタイムを初期化して、ペイロードをバックグラウンドで静かに実行し、インストールが通常通り見えるようにする。 |
| 3. 環境フィンガープリンティングと権限昇格 | ペイロードはCIプラットフォームを特定し、Linuxランナー上でDockerを介したパスワードレスルート権限取得を試み、DNSやiptablesルールを変更してネットワークフローを制御できる。 |
| 4. 認証情報とシークレットの収集 | ペイロードは環境変数とクラウドキーを収集し、ローカルのシークレット検出のためにTruffleHogを実行し、AWS/Azure/GCPの認証情報を抽出し、GitHubシークレットをスクレイピングするための一時的なワークフローを注入します。 |
| 5. 情報漏洩と持続的侵入 | 盗まれたデータは三重のBase64エンコードを施され、被害者のアカウント内の新規リポジトリにアップロードされる。一方、悪意のある自己ホスト型ランナーとワークフローを通じて永続化が確立される。 |
| 6. ワームの拡散(複製) | 盗まれたnpmトークンを利用し、ワームは被害者のパッケージを複製し、悪意のあるファイルやフックを注入し、バージョンを改ざんして再公開することで自律的に拡散する。 |
| 7. 破壊的フォールバック | 認証情報を収集できない場合、ワームは破壊ルーチンを起動し、ユーザーのホームディレクトリを完全に消去する。 |
PostHogインシデントが浮き彫りにしたCI/CDのリスク
PostHogの侵害は、CI/CDの脆弱性の微妙さを示している:
- 悪意のあるプルリクエストがGitHub Actionsのpull_request_targetを悪用した。
- ボットPATが不正に流出され、これによりトロイの木馬化されたnpm SDKが公開される事態が発生した。
CI/CDワークフローは、自動化されたものであっても、高リスクな攻撃対象領域です。スクリプトを制限し、トークンの露出を最小限に抑え、有効期間の短い認証情報を強制適用してください。
従来の防御の限界
- 依存関係の固定は、推移的依存関係のために失敗する可能性があります。
- 静的SCAスキャナーは、正当なパッケージ名の下で新たに公開されたトロイの木馬化されたコードを検出できません。
- CI/CDパイプラインを介したトークンの悪用は、内部リポジトリさえも危険に晒す。
SBOMとSupply Chain 防御策として活用する方法
SBOMおよびサプライチェーンツールは以下を提供できます:
- 依存関係の透明性: バージョンとメンテナのメタデータを含む、直接依存関係と推移的依存関係を追跡します。
- 出所検証:予期せぬパッケージの変更や未知のメンテナを特定します。
- 認証情報とシークレットの監視:漏洩の試みや不正使用されたトークンを検出します。
- 行動分析:インストール中のリソースアクセスや異常な実行パターンを監視します。
万能薬とは言えないが、SBOMと継続的モニタリングを組み合わせることで、ワーム型攻撃に対する防御を強化できる。
OPSWAT およびMetaDefender Software Supply ChainChain™
OPSWAT 技術はソースコードリポジトリをスキャンし、悪意のあるnpmパッケージ「sha1-hulud」を検出します。

MetaDefender Software Supply Chain より完全な状況を提供し、侵害された sha1-hulud パッケージを検出します。


MetascanMultiscanningマルウェアを検出するための防御層を追加します:

推奨される即時対応
- 認証情報のローテーション:GitHub PAT、npmトークン、SSHキー、クラウド認証情報;MFAを有効化。
- 侵害されたパッケージを削除する: npmキャッシュとnode_modulesをクリアし、既知のクリーンなバージョンに固定する。
- GitHubとCI/CDの監査:新しいリポジトリ、ワークフロー、不審なコミットを探します。
- パイプラインを強化する:ライフサイクルスクリプトを制限し、外部ネットワークアクセスを制限し、トークンのスコープを最小化する。
- 継続的監視:依存関係とビルドパイプラインを重要な攻撃対象領域の一部として扱う。
主なポイント
サプライチェーンの脅威はエコシステムに依存しない
Shai-Hulud 2.0がnpm-to-Mavenブリッジングを介してMaven/Javaに波及した事例は、サプライチェーン攻撃が言語やエコシステムの境界を越えて発生し得ることを示している。自動化されたブリッジングツールが使用されている場合、npmを直接利用していないプロジェクトでさえも影響を受ける可能性がある。
認証情報の衛生管理は基盤となる
盗まれたトークン(GitHub、npm、クラウド)は、機密環境への拡散とアクセスを可能にします。短命でスコープ限定のトークンを使用し、多要素認証(MFA)を強制し、侵害の疑いがある場合は直ちに認証情報を更新してください。自動化されたシークレットスキャンツールを使用してプロセスを加速させます。
包括的なSupply Chain 必須である
静的なSCAスキャンやバージョンの固定化のみに依存するのは不十分です。SBOMの可視性、マルウェアのマルチスキャン、トークン/シークレット保護を組み合わせ、あらゆるエコシステムにおけるリスクを低減しましょう。 MetaDefender Software Supply Chainをご検討ください。
ソフトウェアのサプライチェーンを保護し、サイバー攻撃を防止する、カスタマイズされたシームレスに統合されたソリューションをご準備ください。
