SocketはCrowdStrike関連の複数のnpmパッケージが改ざんされていたと報告した。「Shai-Halud攻撃」と呼ばれるサプライチェーン攻撃とされている。多数のパッケージが対象となるため注意が必要だ。
この記事は会員限定です。会員登録すると全てご覧いただけます。
Socketは2025年9月16日(現地時間)、CrowdStrike関連の複数のnpmパッケージが改ざんされていたことを公表した。「Shai-Halud攻撃」と呼ばれるサプライチェーン攻撃とされ、過去にJavaScriptライブラリ「TinyColor」や40以上のパッケージを侵害した同一のキャンペーンの継続とみられている。
攻撃はcrowdstrike-publisherというnpmアカウントから配布されているパッケージに仕込まれており、悪意のあるコードは以前確認されているものと同一と判断されている。bundle.jsと呼ばれるスクリプトが含まれており、正規シークレットスキャナーの「TruffleHog」をダウンロードして実行する機能を備える。
ホストシステムの各種トークンやクラウド認証情報を探索し、有効性を確認した上でリポジトリー内に不正な「GitHub Actions」ワークフローを作成し、収集したデータを特定の外部エンドポイントに送信する仕組みとなっている。
この攻撃ではGitHub Actionsのワークフローファイルをリポジトリーに追加する点が注目されている。一度コミットされると、その後のCIパイプライン実行時に機密情報を外部に流出させる工程が持続的に発動する可能性がある。攻撃者はキャンペーンを明示的にブランド化しており、「shai-hulud.yaml」や「shai-hulud-workflow.yml」といったファイル名を使っている。同時期に「GitHub」には「Shai-Hulud Migration」というタイトルの約700件の公開リポジトリーも確認されている。
Socketの分析によれば、スクリプトは環境変数からGITHUB_TOKEN、NPM_TOKEN、AWS_ACCESS_KEY_ID、AWS_SECRET_ACCESS_KEYなどを抽出し、利用可能な場合、GitHub APIやnpmのwhoamiエンドポイントと通信を実行する。クラウド環境では短期間のみ有効な資格情報を取得する試みも確認されている。
今回改ざんが確認されている主なパッケージは以下の通りだ。
@crowdstrike/commitlint(8.1.1、8.1.2)
@crowdstrike/falcon-shoelace(0.4.1、0.4.2)
@crowdstrike/foundry-js(0.19.1、0.19.2)
@crowdstrike/glide-core(0.34.2、0.34.3)
@crowdstrike/logscale-dashboard(1.205.1、1.205.2)
@crowdstrike/logscale-file-editor(1.205.1、1.205.2)
@crowdstrike/logscale-parser-edit(1.205.1、1.205.2)
@crowdstrike/logscale-search(1.205.1、1.205.2)
@crowdstrike/tailwind-toucan-base(5.0.1、5.0.2)
eslint-config-crowdstrike(11.0.2、11.0.3)
remark-preset-lint-crowdstrike(4.0.1、4.0.2)
対象はCrowdStrike名義に限らず、第三者のパッケージも含まれており、攻撃の範囲は拡大しているとみられる。発見されている不正パッケージはnpmレジストリーから削除済みだ。
利用者への推奨対応としては、まず安全が確認されているバージョンに固定するか該当パッケージをアンインストールすることが挙げられる。その上で、開発環境や継続的インテグレーションおよび継続的デリバリーシステム(CI/CD)環境における不正な公開や認証情報の盗難が発生していないかどうかを確認し、npmトークンやクラウド認証情報を含む機密情報を速やかに更新する必要がある。npm publishやパッケージ改変に関するログを監視し、不審な挙動を早期に検出できる体制を整えることが求められる。
そのプロンプト、実は偏見まみれ? 思考のクセから生まれる脆弱性を回避せよ
なぜ米国企業はセキュリティ人材が豊富なのか? 構造的課題から見る日本との差
脆弱性に「スクープ」は必要? セキュリティ情報公開のあるべき姿を考える
「予算積んで」ではボスは動かない 情シスのためのIT投資「説得の流儀」Copyright © ITmedia, Inc. All Rights Reserved.