Microsoft、Shai-Hulud 2.0 サプライチェーン脅威への対処に向けた新ガイダンスを公開

Microsoft は、ここ数か月で観測された中でも最も重大なクラウドネイティブ・エコシステム侵害の一つである Shai-Hulud 2.0 サプライチェーン攻撃に対処するための包括的なガイダンスを公開しました。

このキャンペーンは、開発者環境、CI/CD パイプライン、クラウド接続ワークロードを標的とし、機密性の高い認証情報や構成シークレットを収集することで、現代のソフトウェア開発ワークフローに内在する信頼を悪用する高度な脅威を示しています

Shai-Hulud 2.0 キャンペーンは、これまでのサプライチェーン侵害を基盤としていますが、自動化、伝播速度、標的の広さにおいて憂慮すべき強化が加えられています。

脅威アクターは、数百の npm パッケージの preinstall フェーズを通じて悪意あるコードを注入しました。この手法は、テストやセキュリティチェックが脅威を検知する前に実行されます。

特に懸念されるのは、Zapier、PostHog、Postman など広く利用されているプロジェクトのメンテナーアカウントが侵害されたことであり、攻撃者が信頼された開発インフラに侵入できる能力を持つことを示しています。

盗まれた認証情報は、その後、攻撃者が管理する公開リポジトリに外部送信され、さらなる侵害につながるリスクベクターを生み出します。

Shai-Hulud 2.0 攻撃の仕組み

この攻撃メカニズムは、package.json ファイルに埋め込まれた set_bun.js という preinstall スクリプトを通じて npm パッケージを改ざんする手法を利用しています。

実行時、このスクリプトは、Node.js に類似した代替 JavaScript ランタイムである Bun ランタイムバイナリが既に存在するかを確認し、存在しない場合はインストールします。

その後、Bun ランタイムは、バンドルされた悪意あるコード (bun_environment.js) を実行し、GitHub Actions Runner アーカイブをダウンロードおよびインストールして、SHA1HULUD という名前のランナーエージェントを持つ新しい GitHub リポジトリを作成します。

Image
Shai-Hulud 2.0 攻撃チェーン

アーカイブされたファイルには、認証情報スキャンツールである TruffleHog と、システムに保存された認証情報を照会しクラウド認証情報を取得するために使用される Runner.Listener 実行ファイルが含まれています。

Microsoft Defender は、隠しファイルに対する shred コマンドの不審な使用や、専用の「Sha1-Hulud Campaign Detected」アラートなど、複数のアラートを通じてこのキャンペーンを早期に検知しました。

特筆すべきは、新たに作成されたリポジトリへの一部のコミットが「Linus Torvalds」という名前で行われていたことであり、攻撃者が偽のペルソナを用いて活動を偽装していたことを示しています。これは、開発環境におけるコミット署名検証の重要性を強調するものです。

Image
Linus Torvalds を装ったユーザーによる悪意あるコミット

即時の緩和策として、Microsoft Defender は、組織に対し Key Vault 資産への不正アクセスを確認し、露出した認証情報を迅速にローテーションおよび失効させ、影響を受けた CI/CD エージェントやワークスペースを隔離し、さらなる露出を減らすために高リスクな攻撃経路を優先的に対処することを推奨しています。

また、組織はCI/CD パイプラインに割り当てられた ID から不要なロールや権限を削除し、とりわけ Key Vault のアクセス制御に注意を払う必要があります。

特に npm メンテナーに対しては、従来のトークンではなく信頼されたパブリッシングを実装し、すべての書き込みおよび公開アクションに対して 2 要素認証を必須とするよう公開設定を強化し、2FA 構成には時間ベースのワンタイムパスワードよりも WebAuthn を優先することを Microsoft は推奨しています。

さらに、Microsoft Defender Antivirus でクラウド配信による保護と自動サンプル送信を有効化し、攻撃面削減ルールを適用することで、新たな脅威に対する重要な防御を提供できます。

緩和策

Microsoft Defender XDR の顧客は、エンドポイント、ID、メール、アプリ全体にわたる検知カバレッジに加え、侵害の兆候を特定するためのカスタマイズされたハンティングクエリにアクセスできます。

Microsoft Security Copilot との統合により、この脅威に特化した自動インシデントレスポンスおよび調査ワークフローが可能になります。

Microsoft Defender for Cloud を利用する組織では、Azure DevOps、GitHub、または GitLab との統合を通じて DevOps 環境を接続することで、サプライチェーンインシデントの調査に不可欠なコードリポジトリのマッピング機能を利用できます。

Shai-Hulud 2.0 キャンペーンは、信頼されたパッケージワークフローに埋め込まれた攻撃に対して、従来型のネットワーク防御がなぜ不十分であるかを示しています。

コードセキュリティ、ポスチャ管理、ランタイム保護を組み合わせ、エンドポイントの挙動、コンテナのアクティビティ、ランタイムの異常に関するテレメトリを相関させる多層的なディフェンスインデプスアプローチにより、セキュリティチームは侵害されたデバイスを迅速に特定し、不審なパッケージにフラグを立て、拡散が発生する前に脅威を封じ込めることができます。

組織は直ちに自社の npm パッケージ依存関係を評価し、推奨されるハードニング対策を実装する必要があります。

侵害の指標

インジケーター タイプ 説明 初回観測日 最終観測日
setup_bun.js ファイル名 Bun ランタイムをインストールする悪意あるスクリプト 2025年11月24日 2025年12月1日
bun_environment.js ファイル名 認証情報の収集と外部送信を行うスクリプト 2025年11月24日 2025年12月1日

翻訳元: https://gbhackers.com/shai-hulud-2-0-2/

ソース: gbhackers.com