連鎖感染するnpmワーム「Mini Shai-Hulud」 特徴は「ランサム性」? どう守る? 専門家の見解:「更新は数日待て」 npm新常識
GitHub Actionsを“感染源”にしてnpmの数百パッケージを侵害するマルウェアキャンペーン「Mini Shai-Hulud」が、開発者コミュニティーを震撼させている。この攻撃の特徴は“自己増殖”と“ランサム化”だという。一体どう対策すべきか。
TanStackは2026年5月11日(米国時間、以下同)、「GitHub Actions」の設定不備を悪用したnpmサプライチェーン侵害「Mini Shai-Hulud」マルウェアキャンペーンの詳細を公表した。
開発者を狙ったこのキャンペーンの第1波で、攻撃者はGitHub Actionsのキャッシュ汚染とOpenID Connect(OIDC)トークン抽出を組み合わせ、@tanstack配下の42パッケージに計84件の不正なバージョンを公開した。また、2026年5月12日に発生した第2波では、「TanStack Router」を起点に、「UiPath」「Mistral AI SDK」「DraftLab」など199以上のnpmパッケージを侵害している。
この攻撃に感染することで、「Amazon Web Services」(AWS)や「Google Cloud」「Kubernetes」「Vault」「GitHub」、npm、SSH鍵などの認証情報が漏えいする他、仮想通貨のウォレットなどが盗み出される可能性がある。
特徴は“自己増殖”と“ランサム化” 開発者が取るべき防御策とは?
攻撃者はMini Shai-Huludキャンペーンにおいて、pull_request_targetを使うGitHub Actionsのワークフローを悪用し、フォーク側から細工済みキャッシュを本体リポジトリーに流入させた。その後、release.yml実行時に汚染済みpnpmキャッシュを復元させ、ビルド工程で不正コードを動作させた。
問題のワークフローでは、pull_request_target経由で外部フォークのコードを処理していた。攻撃者はTanStack/routerを複製したフォーク「configuration」を作成し、約3万行規模のJavaScriptペイロードを含むvite_setup.mjsを追加した。PR #7378として送信後、複数回のforce-pushを実施し、キャッシュ保存処理に不正データを書き込ませた。
保存済みキャッシュはrelease.ymlがmainブランチ更新時に参照するキーと一致しており、本番公開工程で汚染済みキャッシュが読み込まれた。攻撃コードはGitHub Actionsランナーのメモリ領域を調査し、OIDCトークンを抽出した上で、registry.npmjs.orgに直接POSTリクエストを送信したとみられる。
TanStackは「npm publishワークフロー自体は侵害されておらず、不正コードの公開は、テスト失敗後にマルウェア側から直接実行された」と説明している。OIDC trusted publisher機能により、GitHub Actionsからnpmに短時間有効な公開権限が発行される仕組みを悪用された形となる。
TanStackは、2026年5月11日に不正なバージョンをインストールした利用者向けにクラウド認証情報やSSH鍵などの全面更新を推奨している。
@IT編集部では、GMO Flatt Securityの米内貴志氏(取締役副社長Co-CTO《最高技術責任者》)にMini Shai-Huludキャンペーンの影響や注意すべきポイントを聞いた。
――今回のMini Shai-Huludキャンペーンの特徴を教えてください。
米内氏 この攻撃の特徴は、感染した端末から、さらに他のパッケージに自身と同じ悪性コードを植え付ける、自己増殖型(ワーム型)である点です。
――第1波と第2波では攻撃にどのような変化があったのでしょうか。
米内氏 第1波と第2波では感染規模が大きく変化しており、第2波は数百のパッケージの侵害(結果としてより多くのユーザー開発者の侵害)に至っています。また、第2波特有の事象ですが、盗み出した認証情報が無効化されると、端末内のデータを削除する悪性コードも含まれていました。この意味で「第2波は、よりランサム的だ」と言えるでしょう。
――2025年には、npmパッケージを狙った同じく自己増殖型ワーム「Shai Hulud」が発生しました。Mini Shai-Huludとの違いは何でしょうか。
米内氏 Mini Shai-Huludでは検体の練度が向上しており、解析や検知が面倒になっている点で、より危険でしょう。また、前述のようにランサム的挙動が確認されましたが、これは感染時にインシデントの初動対応を遅らせる狙いがあると推察しています。
――この攻撃の最も注意すべきポイントと取るべき防御策を教えてください。
米内氏 前述のランサム性は最も意識すべき部分です。また、この攻撃に限らず、Shai-Huludやその他のキャンペーンは、結果として攻撃者がさまざまなパッケージをさらに侵害する権限を確保してしまうことに問題があります。つまり「今回が発生した以上、高い確率で次の事案が発生すると考えるべき」です。OSS(オープンソースソフトウェア)や公開パッケージに全く依存しない開発は難しいですが、次の事案は自分の身に降りかかる可能性が十分にあります。
短期的には、公開直後のパッケージをすぐに利用せず、数日間待ってから利用するのがすぐできる自衛策です。数日の間にコミュニティーやセキュリティ企業がマルウェアを発見する可能性が十分にあるためです。これは依存関係のクールダウンと言われます。ただこれは、緊急の脆弱(ぜいじゃく)性パッチ対応の妨げになる可能性もあり、実際に運用する上では幾つかの課題があります。
中期的な視点では、OSSパッケージを利用する端末やCI/CD(継続的インテグレーション/継続的デリバリー)といった開発関連の環境に対する監視を強化することが必要です。長期的にはOSS依存自体を減らし、侵害の入り口になるパッケージを減らすことが求められるのではないかと思います。
Copyright © ITmedia, Inc. All Rights Reserved.
関連記事
LinuxカーネルのゼロデイをAIが発見 悪用で簡単にroot権限奪取が可能に
Linuxカーネルに約9年間にわたり見過ごされてきた致命的なローカル権限昇格の脆弱性「Copy Fail」が突如浮上した。この脆弱性を悪用すれば、一般ユーザーが極めて簡単にroot権限を取得できる。さらにこの発見を後押ししたのはAIだという。
GitHub侵害で銀行連携停止 マネーフォワード事案が突き付ける開発リスク
マネーフォワードは認証情報漏えいによるGitHubへの不正アクセスを受け、ソースコードや一部個人情報が流出したと公表した。銀行連携機能まで一時停止に追い込まれた今回の事案は、開発現場に潜む見落とされがちなリスクを浮き彫りにしている。
NIST、ついに“脆弱性の全件分析”を断念 CVE爆増でパンク状態、方針転換
NISTは、脆弱性データベース「NVD」の運用を大きく見直す。CVEの急増により従来の“全件分析”が限界に達したためだ。今後は優先度に応じた対応へと転換する。この変更は、脆弱性管理の前提そのものを揺るがす可能性がある。
パスワード管理は「覚えない」から「保存しない」に 注目の新技術「HIPPO」とは?
IEEE Spectrumは保存不要のパスワード生成技術「HIPPO」について報じた。単一のマスターパスワードからWebサイトごとの情報をその場で演算生成し、漏えいリスクと管理の負担を軽減する。実験では手動入力より高い安全性と信頼性が示された。