Microsoftのセキュリティ研究チーム(Microsoft Defender Security Research Team)は2026年5月28日、「Mini Shai-Hulud」と名付けられた悪意あるnpmパッケージキャンペーンが、開発者環境のクラウド認証情報およびCI/CDシークレットを組織的に窃取していると報告した。
Mini Shai-Hulud とはどんな攻撃か
このキャンペーンはタイポスクワット(typosquatting)という古典的だが今も有効な手口を利用している。タイポスクワットとは、広く使われている正規パッケージ名に似た「打ち間違えやすい名前」のパッケージを公開し、開発者が誤ってインストールしてしまうのを狙う攻撃だ。
例えば lodash に対して lodahs や lod4sh のような名前のパッケージをnpmレジストリに登録し、npm install 時のタイプミスやコピペミスを悪用する。インストールされた悪意あるパッケージは、インストール時または初回実行時にポストインストールスクリプト(postinstall)を起動し、以下のような情報を外部サーバーへ送信する。
- クラウド認証情報: AWS、Azure、GCPの環境変数に格納されたアクセスキーや接続文字列
- CI/CDシークレット: GitHub Actions、GitLab CI、Azure DevOpsなどのパイプライン変数
- 開発者ローカル環境:
.envファイル、SSHキー、認証トークン
「Mini Shai-Hulud」というキャンペーン名は、映画『デューン』に登場する砂の大虫(Shai-Hulud)に由来するとされる。地下に潜んで気づかれにくいという特性を示唆したネーミングだ。
攻撃チェーンの詳細
攻撃の流れは大まかに次の通りだ。
- 悪意あるパッケージをnpmレジストリに公開: 人気パッケージの類似名を取得し、
package.jsonのscripts.postinstallに攻撃コードを仕込む - 開発者が誤ってインストール: ローカル開発環境、Dockerビルド、CI/CDパイプライン上いずれでも発動する
- 環境変数とファイルシステムをスキャン: OSの環境変数、
.envファイル、設定ファイル群を走査 - 外部C2サーバーへのデータ送信: 窃取したシークレットを攻撃者のサーバーへHTTP/HTTPSで送信
- 横展開: 取得した認証情報を使ってクラウドリソースへ不正アクセス
特にCI/CDパイプラインが標的になることで、ソフトウェアサプライチェーン攻撃へ発展する可能性がある。パイプラインが侵害されれば、本番デプロイに悪意あるコードを注入されるリスクがある。
実務への影響 — 日本のエンジニアが今日からできること
1. npm install 前にパッケージ名を2回確認する
コピペでも手打ちでも、パッケージ名は必ずnpmjs.comで検索して確認する習慣をつけたい。特に「ちょっとしたユーティリティ」として導入する小さなパッケージは要注意だ。インストール数や公開日、メンテナンス状況を見ると偽物の見分けがつきやすい。
2. postinstall スクリプトを監査する
npm install --ignore-scripts オプションを活用すると、インストール時のスクリプト実行を抑止できる。CI/CDパイプラインでは特にこのオプションを検討したい。また、npm audit や socket.dev、Snyk といったサプライチェーン監査ツールを導入することで、不審なスクリプトを自動検出できる。
3. CI/CDのシークレットは最小権限で管理する
GitHub ActionsやAzure DevOpsでは、シークレットの有効期限を設定し、不要になったらすぐに失効させる運用を徹底する。また、クラウドへのアクセスにはマネージドID(Azure Managed Identity)やOIDC(OpenID Connect)を利用し、長期間有効な静的キーを環境変数に保持しない構成が理想だ。
4. 疑わしいパッケージのインストールを検知する仕組みを持つ
Microsoftは本レポートで検知のシグネチャや振る舞い指標(IOC)も提供している。Microsoft Defender for Endpoint やMicrosoft Sentinel を利用している組織であれば、対応するKQLクエリやルールを適用することで類似攻撃への防御が強化できる。
筆者の見解
タイポスクワット攻撃は目新しいものではない。だが今回のキャンペーンが改めて示しているのは、「CI/CDパイプラインは今や攻撃者にとって最も魅力的な標的の一つ」という現実だ。
開発者の手元のPCが侵害されても被害は一人で済む。だがパイプラインが侵害されれば、本番環境への悪意あるコード注入から、複数のクラウドアカウントの認証情報窃取まで、被害は一気に広がる。ソフトウェアサプライチェーンへの攻撃が増加傾向にある中、CI/CDシークレットの管理はもはや「セキュリティ担当者だけの仕事」ではなく、すべての開発者が理解しておくべき基礎知識になった。
Microsoftがこの分析を公開した意義は大きい。攻撃の命名からIOCの提供、KQLクエリの共有まで、防御側が行動できる情報を体系的にまとめている。この種の詳細なスレットインテリジェンスが継続的に提供されることで、組織の防御レベルは確実に上がる。Microsoftのセキュリティ部門はこういった地道な仕事をきちんとやっている。そこは素直に評価したい。
NHI(Non-Human Identities)の管理と最小権限の徹底は、業務自動化の加速と表裏一体だ。「静的なシークレットをどこかに置いておく」運用を脱して、動的な短命トークンやマネージドIDに移行することが、この種の攻撃を構造的に無力化する最善の道だと考えている。
出典: この記事は Typosquatted npm packages used to steal cloud and CI/CD secrets の内容をもとに、筆者の見解を加えて独自に執筆したものです。