サイバーセキュリティ

【危険】 Mini Shai-Hulud攻撃キャンペーンとは? npm・PyPIを狙うサプライチェーン攻撃をわかりやすく解説

この記事は約9分で読めます。
記事内に広告が含まれています。

2026年5月、開発者向けのソフトウェア部品であるnpmパッケージやPyPIパッケージを狙った「Mini Shai-Hulud」と呼ばれる攻撃キャンペーンが大きな注目を集めました。

この攻撃は、一般利用者のパソコンを直接狙うものではなく、ソフトウェアを開発・配布する仕組みそのものを悪用するサプライチェーン攻撃です。正規のパッケージや開発環境に悪意あるコードを混入させ、GitHubの認証情報、クラウドのアクセスキー、CI/CD環境のシークレット情報などを盗み取ることが目的とされています。

特にTanStackでは、2026年5月11日に42個のnpmパッケージに対して合計84件の悪性バージョンが公開されました。NVDもこの事象について、GitHub ActionsのOIDC trusted publisher設定を悪用し、正規の公開経路を通じて悪性パッケージが配布されたと説明しています。

本記事では、Mini Shai-Hulud攻撃キャンペーンの概要、危険性、被害事例、企業が取るべき対策について、専門知識がない方にもわかるように整理して解説します。

Mini Shai-Hulud攻撃キャンペーンとは

Mini Shai-Hulud攻撃キャンペーンとは、npmやPyPIなどのパッケージ管理サービスを悪用し、開発者や企業の開発環境を狙うサプライチェーン攻撃です。

npmはJavaScript、PyPIはPythonで使われる部品置き場のような存在です。多くの開発者は、システム開発の際にこれらの部品を取り込んで利用します。そのため、よく使われるパッケージに悪性コードが混入すると、利用している開発者や企業にも被害が広がる可能性があります。

今回の攻撃の特徴は、単に「怪しいパッケージを新しく公開した」だけではない点です。攻撃者は、実際に利用されている正規パッケージや開発フローを悪用し、信頼されている経路から悪性コードを配布しました。

たとえるなら、知らない人から怪しい荷物が届いたのではなく、いつも使っている正規の取引先から届いた部品の中に、こっそり危険な仕掛けが入っていたようなものです。


何が起きたのか

Mini Shai-Huludに関連する攻撃では、複数の開発者向けエコシステムが影響を受けました。特に注目されたのがTanStackへの攻撃です。

TanStackの公式ポストモーテムによると、2026年5月11日19:20〜19:26 UTCの間に、42個の@tanstack/* npmパッケージで84件の悪性バージョンが公開されました。

攻撃では、GitHub Actionsのpull_request_targetの使い方、キャッシュ汚染、GitHub Actions runnerプロセスからのOIDCトークン抽出が組み合わされていました。TanStackは、npmトークン自体は盗まれておらず、npm公開ワークフローそのものも改ざんされていないと説明しています。

さらにMicrosoftは、AntV関連のnpmパッケージでもMini Shai-Huludに関連する攻撃を確認したと公表しています。攻撃者は@antvのメンテナーアカウントを侵害し、広く使われるデータ可視化系パッケージに悪性バージョンを公開しました。

その影響はecharts-for-reactなどの依存関係にも広がり、CI/CD環境やクラウドワークロードにまで波及する可能性がありました。


なぜMini Shai-Huludは危険なのか

Mini Shai-Huludが危険視される理由は、攻撃対象が「利用者の端末」だけではなく、開発・配布・自動化の仕組み全体に及ぶためです。

1. 正規パッケージを通じて侵入する

多くのサイバー攻撃は、不審なメールや偽サイトを入口にします。しかし、Mini Shai-Huludでは、開発者が普段通りにパッケージをインストールしただけで悪性コードが動く可能性がありました。

これは、入口が怪しく見えにくい攻撃です。利用者から見ると、普段使っている部品を更新しただけに見えるため、気づきにくい点が大きな問題です。

2. 認証情報やクラウド情報を狙う

Microsoftの分析では、悪性ペイロードはGitHub、AWS、HashiCorp Vault、npm、Kubernetes、1Passwordなど、複数の環境の認証情報を狙っていたとされています。また、GitHub Actions runnerのメモリから情報を取得する動きや、権限昇格、データ持ち出しも確認されています。

つまり、単に開発者のPCが感染するだけではありません。盗まれた認証情報を使って、クラウド環境、ソースコード管理、CI/CDパイプラインにまで被害が広がるおそれがあります。

3. 自己拡散する性質がある

Mini Shai-Huludは、ワームのように広がる性質も持っています。ワームとは、感染先を足場にしてさらに別の環境へ広がるタイプの不正プログラムです。

開発者の認証情報や公開権限が盗まれると、その開発者が管理する別のパッケージにも悪性コードが混入される可能性があります。これにより、攻撃が一つのパッケージで終わらず、依存関係を通じて広範囲に波及します。


影響を受けた主な対象

Mini Shai-Huludに関連する攻撃では、以下のような開発者向けエコシステムが影響を受けたと報告されています。

対象概要
TanStackWebアプリ開発で使われるライブラリ群。42パッケージ、84悪性バージョンが確認された
AntVデータ可視化系のnpmパッケージ群。MicrosoftがCI/CD認証情報窃取の可能性を報告
Mistral AI関連パッケージnpmやPyPI側で関連する不正パッケージが報告された
PyPIパッケージPython向けパッケージでも悪性コード混入が確認された
OpenAITanStack攻撃の影響を受け、2台の従業員端末が影響を受けたと報道された

OpenAIについては、Reutersが2026年5月14日に、TanStack npmへのサプライチェーン攻撃に関連して2台の従業員端末が影響を受けたものの、ユーザーデータや本番システム、知的財産への影響は確認されていないと報じています。


攻撃の流れをわかりやすく整理

Mini Shai-Huludの攻撃は、次のような流れで進みます。

  1. 攻撃者が正規の開発者アカウントやCI/CD設定の弱点を悪用する
  2. 正規パッケージに悪性コードを混入する
  3. 開発者や企業が通常通りパッケージをインストールする
  4. 悪性コードが実行され、認証情報やクラウド情報を探す
  5. GitHub、npm、クラウド環境などのトークンやシークレットを外部へ送信する
  6. 盗んだ権限を使い、別のパッケージやリポジトリへ攻撃を広げる

ここで重要なのは、攻撃者が「システムの脆弱性」だけを狙ったわけではない点です。開発フロー、依存関係、CI/CD、パッケージ公開の信頼関係といった、現代のソフトウェア開発に欠かせない仕組みそのものが狙われました。


企業が取るべき対策

Mini Shai-Huludのような攻撃に対しては、単にウイルス対策ソフトを入れるだけでは不十分です。開発環境、認証情報、CI/CD、依存関係を含めて確認する必要があります。

1. 影響を受けたパッケージを確認する

まず、package-lock.jsonpnpm-lock.yamlyarn.lockrequirements.txtなどを確認し、影響を受けたパッケージやバージョンを利用していないか確認します。

特に、2026年5月前後に更新されたnpm・PyPIパッケージについては、CIログやビルド履歴も含めて確認することが重要です。

2. 認証情報をローテーションする

TanStackは、影響を受けたバージョンをインストールした可能性がある場合、AWS、GCP、Kubernetes、Vault、GitHub、npm、SSHなどの認証情報をローテーションすることを推奨しています。

Microsoftも、影響を受けた可能性のある開発環境やビルド環境では、npmアクセストークン、CI/CDシークレット、クラウド認証情報などをローテーションするよう推奨しています。

3. CI/CDの設定を見直す

今回の攻撃では、GitHub Actionsの設定やキャッシュの扱いが悪用されました。特にpull_request_targetは、使い方を誤ると外部からのプルリクエストを通じて危険な処理が実行される可能性があります。

CI/CDでは、以下の見直しが重要です。

  • 外部PRで信頼できないコードを実行しない
  • GitHub Actionsの権限を最小限にする
  • キャッシュを信頼境界をまたいで共有しない
  • シークレットを必要なジョブだけに渡す
  • ActionsをタグではなくコミットSHAで固定する
  • CODEOWNERSで重要ファイルの変更を制限する

4. パッケージ更新に待機期間を設ける

公開されたばかりの新しいパッケージバージョンをすぐに取り込むと、今回のような攻撃に巻き込まれるリスクが高まります。

そのため、依存関係の更新には「公開から一定時間が経過してから取り込む」仕組みを導入するのが有効です。これは、怪しい新バージョンが公開直後に発見・削除されるまでの時間を稼ぐ考え方です。

5. 開発端末を“侵害済み”として扱う

悪性パッケージをインストールした可能性がある端末は、単なる「不審ファイルが入った端末」ではなく、認証情報が盗まれた可能性のある端末として扱う必要があります。

そのため、端末の隔離、ログ確認、認証情報の無効化、再構築を検討すべきです。特にCI/CD環境やクラウド管理権限を持つ端末では、慎重な対応が求められます。


Mini Shai-Huludから学ぶべきこと

Mini Shai-Huludは、企業のセキュリティ対策において「開発環境も守るべき重要資産である」ことを改めて示しました。

これまでのセキュリティ対策では、本番システム、社内ネットワーク、利用者端末に注目が集まりがちでした。しかし、現代の開発現場では、GitHub、npm、PyPI、CI/CD、クラウド認証情報が密接につながっています。

つまり、開発環境は単なる作業場所ではなく、攻撃者にとっては本番環境へ近づくための入口です。

企業は今後、以下の考え方を持つ必要があります。

観点これまでの考え方今後必要な考え方
開発端末作業用PC認証情報を持つ重要資産
OSSパッケージ便利な部品信頼性確認が必要な外部依存
CI/CD自動化の仕組み攻撃者に狙われる実行基盤
認証情報漏れたら変更常に最小権限・短寿命化
パッケージ更新最新版が望ましい安全確認後に取り込む

FAQ

Mini Shai-Huludとは何ですか?

Mini Shai-Huludとは、npmやPyPIなどの開発者向けパッケージを悪用し、認証情報やクラウド情報を盗み取るサプライチェーン攻撃キャンペーンです。正規パッケージに悪性コードを混入し、開発環境やCI/CD環境を狙う点が特徴です。

一般利用者にも影響はありますか?

直接的な標的は、主に開発者や企業の開発環境です。ただし、影響を受けたソフトウェアが企業サービスやアプリに組み込まれると、間接的に一般利用者にも影響が及ぶ可能性があります。

npmやPyPIとは何ですか?

npmはJavaScript、PyPIはPythonで使われるソフトウェア部品の配布場所です。開発者は必要な機能をこれらの場所から取り込み、アプリやシステムを作ります。

企業はまず何を確認すべきですか?

まず、影響を受けた可能性のあるパッケージやバージョンを利用していないか確認します。そのうえで、GitHubトークン、npmトークン、クラウド認証情報、CI/CDシークレットなどをローテーションし、CI/CDログや不審な通信を確認する必要があります。

サプライチェーン攻撃とは何ですか?

サプライチェーン攻撃とは、企業を直接攻撃するのではなく、利用している外部サービス、ソフトウェア部品、委託先、開発ツールなどを経由して侵入する攻撃です。信頼している経路を悪用するため、発見が遅れやすい特徴があります。


まとめ

Mini Shai-Hulud攻撃キャンペーンは、npmやPyPIといった開発者向けパッケージを悪用し、GitHub、クラウド、CI/CD環境の認証情報を狙う高度なサプライチェーン攻撃です。

特に重要なポイントは次の3つです。

  • 正規パッケージや正規の公開経路が悪用された
  • 開発端末やCI/CD環境から認証情報を盗むことが主目的だった
  • 盗まれた権限を使い、別のパッケージや環境へ広がる可能性があった

この攻撃は、企業に対して「開発環境も本番環境と同じくらい重要な防御対象である」ことを突きつけています。今後は、OSS利用状況の把握、CI/CDの権限管理、認証情報の短寿命化、依存関係更新の待機期間導入など、開発プロセス全体を含めたセキュリティ対策が欠かせません。

コメント

タイトルとURLをコピーしました