メインコンテンツへスキップ
  1. 記事一覧/

【緊急速報】npm大規模攻撃2026年5月|317パッケージ侵害の全貌と対策

著者
Alicia
AI・IT・ハードウェアの最新ニュースを自動配信するテックブログです。
目次
サムネイル

【読了時間3分】2026年5月npm史上最大級の攻撃事件が発生
#

2026年5月19日、JavaScriptエコシステムを震撼させる大規模なサプライチェーン攻撃が発生しました。わずか22分間で317個のnpmパッケージが侵害され、数百万のダウンロードを誇る人気パッケージも被害を受けました。本記事では、この「Mini Shai-Hulud」と呼ばれる攻撃の全貌と対策を詳しく解説します。

【緊急】被害の概要と影響範囲
#

攻撃の基本情報
#

  • 発生日時: 2026年5月19日 01:44-02:06 UTC(22分間)
  • 侵害アカウント: atool ([email protected])
  • 被害パッケージ数: 317個
  • 悪意のあるバージョン数: 637個

主要被害パッケージと月間ダウンロード数
#

特に深刻な被害を受けた人気パッケージは以下の通りです:

  1. size-sensor: 420万ダウンロード/月
  2. echarts-for-react: 380万ダウンロード/月
  3. @antv/scale: 220万ダウンロード/月
  4. timeago.js: 115万ダウンロード/月
  5. @antv/g-canvas: 100万ダウンロード/月

これらの数値からも、今回の攻撃がいかに広範囲に影響を与えたかが分かります。

攻撃手法の詳細解析
#

2段階の自動攻撃パターン
#

攻撃は2つの波に分かれて実行されました:

第1波(01:39-01:56 UTC)

  • 約317バージョンを公開
  • 01:39-01:49に4つの初期テスト公開
  • その後本格的な一括公開

第2波(02:05-02:06 UTC)

  • 約314バージョンを公開
  • 同じパッケージの第2バージョン

悪意のあるペイロードの特徴
#

攻撃に使用された悪意のあるコードは以下の特徴を持ちます:

  • サイズ: 498KBの難読化されたBunスクリプト
  • 実行方法: preinstallフック(bun run index.js
  • SHA256: a68dd1e6a6e35ec3771e1f94fe796f55dfe65a2b94560516ff4ac189390dfa1c

【重要】狙われる認証情報の種類
#

今回の攻撃では、以下の認証情報が標的となりました:

クラウドサービス関連
#

  • AWS認証情報(環境変数、設定ファイル、EC2メタデータ、ECSコンテナメタデータ)
  • Secrets Manager
  • GCP サービスアカウント
  • Azure認証情報

開発ツール関連
#

  • GitHub Personal Access Tokens
  • npmトークン
  • SSH キー
  • Docker認証情報

その他のサービス
#

  • Kubernetes サービスアカウントトークン
  • HashiCorp Vault トークン
  • データベース接続文字列
  • Stripe キー
  • Slack トークン

巧妙な永続化メカニズム
#

CI/CD環境での永続化
#

攻撃者は以下の方法でCI/CD環境に永続化を図ります:

  1. GitHub Actions OIDC トークンの悪用

    • npm公開トークンとの交換
    • Sigstore(Fulcio + Rekor)を使用した偽の署名付きアーティファクト作成
  2. ワークフローファイルの改ざん

    • .github/workflows/codeql.ymlへの注入
    • ワークフロー名「Run Copilot」で偽装
    • toJSON(secrets)format-results.txtにダンプ

AI開発環境の乗っ取り
#

現代の開発環境に合わせ、AI コーディングツールも標的となります:

  • Claude Code: SessionStartフックの注入
  • Codex: 同様のフック機能の悪用
  • VS Code: tasks.json"runOn": "folderOpen"設定

システムレベルの永続化
#

Linux環境

  • systemdユーザーサービス(kitty-monitor.service

macOS環境

  • LaunchAgent(com.user.kitty-monitor.plist

GitHub を利用した巧妙なC2通信
#

Dead-Drop C2 バックドア
#

攻撃者は以下の仕組みでリモート操作を可能にします:

  1. GitHub コミット検索の悪用

    • 1時間ごとにGitHubのコミット検索APIをポーリング
    • キーワード「firedalazer」を含むコミットメッセージを監視
  2. RSA-PSS署名による指令

    • フォーマット: firedalazer <base64_url>.<base64_signature>
    • 署名検証後、指定URLから任意のPythonコードを実行
  3. 偽装されたUser-Agent

    • python-requests/2.31.0で正常なリクエストに偽装

データ流出の手法
#

盗まれた認証情報は以下の方法で流出されます:

  • 公開GitHubリポジトリの作成: 侵害されたトークンで作成
  • Gitオブジェクトとしてコミット: 盗んだデータをコミット履歴に埋め込み
  • Duneテーマの命名規則: {word1}-{word2}-{number}パターン
    • word1例: sardaukar, mentat, fremen, atreides など
    • word2例: sandworm, ornithopter, heighliner など

インポスターコミットによる巧妙な配信
#

GitHub フォークオブジェクト共有の悪用
#

攻撃者はoptionalDependenciesを使って二重の配信経路を確保:

  • 対象リポジトリ: antvis/G2
  • 手法: 孤立コミット(orphan commit)の作成
  • 偽装: 作成者情報の偽装
  • メッセージ: “New Package”

検出が困難な理由
#

  • ブランチ履歴に表示されない孤立コミット
  • 対象リポジトリへの書き込み権限不要
  • preinstallフックがブロックされても実行可能

【保存版】対策と検出方法
#

侵害指標(IoC)チェックリスト
#

パッケージレベル

  • 2026年5月19日 01:44-02:06 UTC にatoolが公開したパッケージ
  • preinstallスクリプトにbun run index.js
  • optionalDependencies@antv/setup: github:antvis/G2#<commit-sha>

ファイルシステムレベル

  • .claude/settings.jsonSessionStartフック
  • .vscode/tasks.json"runOn": "folderOpen"タスク
  • ~/.local/share/kitty/cat.py
  • ~/.local/bin/gh-token-monitor.sh
  • /var/tmp/.gh_update_state

ネットワークレベル

  • 169.254.169.254(EC2メタデータ)へのリクエスト
  • 169.254.170.2(ECSコンテナメタデータ)へのリクエスト
  • firedalazerキーワードを含むGitHubコミット

推奨される対策
#

即座に実行すべき対策

  1. 影響を受けた可能性のあるパッケージの確認

    • npm lsでインストール済みパッケージを確認
    • 該当する日時に更新されたパッケージの特定
  2. 認証情報のローテーション

    • npm トークン
    • GitHub Personal Access Token
    • AWS/GCP/Azure 認証情報
    • データベース接続文字列
  3. システムの清浄化

    • systemd/LaunchAgent サービスの確認と削除
    • 不審なファイルの除去
    • CI/CDワークフローの検査

長期的な対策

  • **Package Manager Guard (pmg)**の導入検討
  • dependency cooldown設定による新規バージョンの一時的ブロック
  • 定期的なセキュリティ監査の実施

過去の攻撃との関連性
#

今回の攻撃で使用されたペイロードは、3週間前のSAP侵害で使用された「Mini Shai-Hulud toolkit」と同一の特徴を示しています:

  • 同じスキャナーアーキテクチャ
  • 同じ認証情報正規表現セット
  • 同じ難読化パターン

これは組織的な攻撃グループによる継続的な活動を示唆しています。

まとめ:現代のサプライチェーン攻撃の新たな脅威
#

今回のMini Shai-Hulud攻撃は、現代のソフトウェア開発環境に対する新たな脅威を浮き彫りにしました。特に注目すべき点は:

  1. AI開発ツールの標的化: Claude Code、Codex、VS Codeなど現代的な開発環境への適応
  2. GitHub機能の悪用: フォークオブジェクト共有、コミット検索API、OIDCトークンの巧妙な活用
  3. 多層的な永続化: システムレベル、CI/CD、AI環境での包括的な永続化

開発者および組織は、単純なパッケージ検証だけでなく、CI/CD パイプライン、開発環境、認証情報管理の包括的なセキュリティ見直しが急務です。

詳細は元記事を参照してください。また、最新のセキュリティ情報については継続的な情報収集を推奨します。


出典: Mini Shai-Hulud Strikes Again: 314 npm Packages Compromised

関連記事

【速報】月間100万DL超のオープンソースパッケージが認証情報窃取 - 被害対策と予防策を徹底解説

月間100万ダウンロード超の人気オープンソースパッケージ「element-data」が悪意ある攻撃により改ざんされ、ユーザーの認証情報を窃取する事態が発生。GitHubアクションの脆弱性を悪用した新手の攻撃手法と対策方法を詳しく解説します。

【緊急警告】WordPress プラグイン数十種にバックドア発見!2万サイトが感染の危機

WordPressプラグインの買収を悪用したサプライチェーン攻撃が発覚。Essential Plugin社の40万インストール超プラグインにバックドアが仕込まれ、2万以上のサイトに影響。#WordPress #セキュリティ #サイバー攻撃

axios NPMパッケージが乗っ取り被害、RAT配布で深刻な供給網攻撃

概要 # 週間ダウンロード数1億回を超える人気JavaScriptライブラリaxiosのNPMパッケージが乗っ取られ、悪意のあるバージョン1.14.1と0.30.4が公開される事態が発生しました。StepSecurityが2026年3月30日に検出したこの攻撃は、極めて巧妙な手法でリモートアクセストロイ(RAT)を配布する、これまでに記録された中でも最も高度な供給網攻撃の一つとされています。