SANDWORM_MODE:Shai-Hulud風の新たな自己伝播npmサプライチェーン攻撃
Help Net Security – February 24, 2026
Shai-Huludスタイルの自己伝播型npmマルウェアを使った新たなサプライチェーン攻撃について、サイバーセキュリティ企業Socketが報告。「SANDWORM_MODE」と名付けられたこの攻撃キャンペーンでは、タイポスクワッティングされた19件の悪意あるnpmパッケージによって開発者らが狙われていたという。
SANDWORM_MODEキャンペーンでは、2つのnpm公開者エイリアス「official334」および「javaorg」により、少なくとも19件の有害npmパッケージが公開された。2025年9月・11月に襲来した自己伝播型サプライチェーンマルウェア「Shai-Hulud」のケースと同様、これらのnpmパッケージも認証情報を窃取し、さらなるプロジェクトを感染させ、開発者環境を通じて自己伝播する仕組みを有しているとされる。オリジナルのShai-Huludの直接の後継版であるか模倣であるかははっきりしないものの、オリジナルに見られた漫画『Dune』風のテーマ設定は一貫しているという。
19件のnpmパッケージは、AIコーディングツール「Claude Code」やOpenClaw、supports-color、暗号資産関連ツールなどの人気ユーティリティになりすましており、なりすまし対象のライブラリに想定されるのと同様の挙動を保持している。しかし、開発者がいずれかをインポートすると、パッケージは以下の流れで悪意ある活動を行うという。
- 隠されたローダーを実行する。このローダーは、埋め込まれたコードを復号する役割を持つ。
- APIキーやアクセストークン、.npmrc認証情報、SSHキー環境変数、暗号資産ウォレットの鍵といった機微なデータを探し、抜き取る。
- ホストに応じて、第2段階のモジュールの実行を48〜96時間遅らせる。ただし、ローダーが継続的インテグレーション(CI)環境(GITHUB_ACTIONS、GITLAB_CI、CIRCLECI、JENKINS_URL、BUILDKITE)を検出した場合、この遅延は省略される。
- 第2段階のモジュールを復号・実行し、機微な情報をさらに収集する。
Socketによれば、この第2段階のモジュールはパスワードマネージャー(Bitwarden、1Password、LastPass)、ローカルのSQLiteストア(Apple Notes、Macの「メッセージ」アプリ、Joplin、クリップボード履歴)を対象にデータ窃取を行うほか、ワーキングディレクトリを超えてファイルシステム全体のスキャンを実施し、ウォレットファイルや暗号資産関連構成ファイルを探すという。加えて、環境変数と.envファイルから9つのLLMプロバイダー(OpenAI、Anthropic、Google、Groq、Together、Fireworks、Replicate、Mistral、Cohere)のAPIキーを収集し、既知のフォーマット正規表現で各キーを検証するとされる。
同モジュールはまた、自己伝播アクションの実行や永続製の確立、MCPサーバーインジェクションの実施も担う。自己伝播アクションは、まずローカルマシンのスキャンを行ってGitリポジトリやGitHubやnpmなどのサービスの認証トークンを探し、有効な認証情報が見つかった場合にはプロジェクトファイルを自動で改変し、悪意あるパッケージを潜り込ませる。その後、これらの変更をプッシュするか、侵害版のパッケージを被害者自身のアカウントを使って公開するというもの。
永続性の確立は、悪意あるGitフックのインストールにより行われる。このGitフックは、感染した開発者がコードを操作する度に、悪意あるペイロードを再ダウンロードまたは再実行することができる。マルウェアはまた、悪意あるMCP(Model Context Protocol)サーバーをAIコーディング支援ツール(Claude Code、Claude Desktop、Cursor、VS Code Continue、Windsurf/Codeium)の構成設定に注入。これにより、こうしたAIツールに密かに指示を送り、機微なファイルの読み取らせることが可能になるという。
第2段階のモジュールは、収集した全データ(npm/GitHubトークン、環境シークレット、プロキシ認証情報、.npmrc認証情報、暗号資産関連のアーティファクト、LLM APIキー、伝播結果)を以下3つのチャンネルを通じてカスケード方式で抽出する。
- HTTPS POST経由でCloudflare Worker(https://pkg-metrics[.]official334[.]workers[.]dev/exfil)へ送信
- 脅威アクターが盗んだGitHubトークンを使って作成した非公開リポジトリへのGitHub APIアップロード
- Base32エンコードされたクエリによるDNSトンネリング(プライマリ:freefan[.]net、セカンダリ:fanfree[.]net)
SocketはSANDWORM_MODEについて伝えるブログ記事の中で、既知の悪意あるnpmパッケージの一覧を公開しているほか、今回のサプライチェーン攻撃で影響を受ける開発者に以下の事項を実施するよう推奨している。
- インストールした悪意あるパッケージをすべて削除し、node_modules/ディレクトリを削除する
- 当該システムが実行されたシステム(開発者マシンまたはCI環境)はすべて侵害された可能性があるものとして扱い、漏洩した可能性のあるすべての認証情報(npmトークン、GitHubトークン、CI/CDシークレットを含む)をローテーションする
- package.json、ロックファイル、.github/workflows/に最近加えられた変更を精査し、不審な追加や予期せぬ追加がないか確認する
- グローバルなGitフックテンプレートの監査とフックディレクトリ内の不審なスクリプトの検査により永続化メカニズムの有無を確認し、ローカルAIコーディングアシスタントの構成ファイルで予期せぬまたは未知のmcpServersエントリがないかを調査する
Socketはこのキャンペーンについて、関連するプロバイダーに警告。これを受けCloudflareは攻撃者が盗難データの受信や感染したシステムの制御に使っていたネットワークサービスを停止したほか、GitHubは同キャンペーンに関連するリポジトリとアカウントを削除し、npmも悪意あるパッケージを削除した。これらのテイクダウン措置により、SANDWORM_MODE関連のインフラはすばやく停止されているとのこと。



-300x200.png)














とは?.jpg)