npmパッケージを狙った2度目の大規模攻撃 492のパッケージが自己増殖型ワーム「Shai Hulud」に感染セキュリティチームに求められる6つのアクションとは

セキュリティSaaSを手掛けるAikido Securityは、npmパッケージを標的とした自己複製型ワーム「Shai Hulud」による2回目の大規模サプライチェーン攻撃を観測したと発表した。

» 2025年12月05日 08時00分 公開
[@IT]

この記事は会員限定です。会員登録(無料)すると全てご覧いただけます。

 セキュリティSaaSを手掛けるAikido Securityは2025年11月24日(日本時間、以下同)、npmパッケージを標的とした自己複製型ワーム「Shai Hulud」による2回目の大規模ソフトウェアサプライチェーン攻撃を観測したと発表した。

 npmパッケージは、Node.jsのデフォルトパッケージマネジャーであるnpmで管理されるパッケージ。Shai Huludによる1回目の大規模攻撃は2025年9月に発生した。攻撃者は、今回の攻撃キャンペーンを「Second Coming」(再臨)と称しているという。Shai Huludは、小説「Dune」(デューン)シリーズに登場する架空の地球外生物の名前にちなんで名付けられた。

npmパッケージを狙った2度目の大規模攻撃

 npmの開発元を2020年に買収したGitHubは2025年9月、npmパッケージを狙った攻撃の頻発を受け、セキュリティ強化策として、「FIDOベースの二要素認証(2FA)によるローカルパブリッシング」「グラニュラーアクセストークンの有効期限の7日間への短縮」「トラステッドパブリッシングへの移行」を打ち出した。

 これらと併せて、詳細な権限設定や現代的なセキュリティ制御が欠けているクラシックトークンの廃止も発表した。クラシックトークンの作成は既に無効化されており、既存のクラシックトークンも2025年12月9日付けで無効化される計画だ。

 だが、多くのユーザーはまだ、トラステッドパブリッシング(CI/CD〈継続的インテグレーション/継続的デリバリー〉プロバイダーからの一時的でジョブ固有の認証情報を使用することで、長期間有効なトークンを完全に排除する仕組み)に移行していない。「脅威アクターは、その隙を突いて2回目のShai Hulud攻撃を仕掛けた」と、Aikido Securityは指摘している。

自己増殖型ワームのShai Huludとは

 自己複製型ワームであるShai Huludは、システムに感染すると、自動化ツールの「TruffleHog」を使用して、APIキーやトークンなどのシークレット(機密情報)を検索し、見つけたものを全てパブリックGitHubリポジトリに公開する。その後、自身の新規コピーをnpmにプッシュしてエコシステム全体への拡散を図るとともに、データを攻撃者に送信する。

 Aikido Securityは、前回と今回の攻撃では以下の点が異なると分析している。

  • ファイル「setup_bun.js」でbunをインストールし、それを用いて悪意あるコードである「bun_environment.js」を実行する
  • 盗んだデータを含むランダムな名前のリポジトリを作成する(前回はハードコードされた名前)
  • 最大100個のnpmパッケージに感染する(前回は20個)
  • GitHubまたはnpmでの認証に失敗した場合、ユーザーのホームディレクトリ内の全ファイルを消去する

攻撃の影響を受けたパッケージ

 Aikido Securityは、「Zapier」「ENS」「AsyncAPI」「PostHog」「Browserbase」「Postman」など、新しいバージョンのShai Huludによって侵害された492個のパッケージを検出した。これらの月間合計ダウンロード数は1億3200万回に上る。

シークレットの漏えい

 Shai HuludはシークレットをGitHubで公開する際、ランダムなリポジトリ名を使用している。これらのリポジトリの説明欄には「Sha1-Hulud: The Second Coming.」と記載されている。

2万6300のリポジトリのシークレットが漏えい(提供:Aikido Security) 2万6300のリポジトリのシークレットが漏えい(提供:Aikido Security)

Shai Hulud攻撃の影響

 攻撃者によって悪意あるコードが混入されたnpmパッケージを開発者がインストールすると、インストールが完了する前にマルウェアがひそかに実行される。

 これにより、開発者のマシン、ビルドシステム、またはクラウド環境へのアクセス権が奪われる。その後、TruffleHogを使用して、パスワード、APIキー、クラウドトークン、GitHubやnpmの認証情報といった機密情報が検索される。

 検索で見つかったものは全て、パブリックGitHubリポジトリにアップロードされる。それらの中にコードリポジトリやパッケージレジストリへのアクセス権が含まれていた場合、攻撃者はそれらを用いてさらに多くのアカウントを侵害し、パッケージに悪意あるコードを混入させたものをより多く公開することで、攻撃を拡大させることができる。

 Aikido Securityは、npmを使用しているチームに、影響を受けたかどうかを直ちに確認し、漏えいした可能性のある認証情報の変更を推奨している。

セキュリティチームに求められる6つの対応

 Aikido Securityは、セキュリティチームに求められる対応として以下を挙げている。

  • Zapier/ENSに関連する全てのnpm依存関係とバージョンを監査する
  • インストール中に使用された全てのGitHub、npm、クラウド、CI/CDのシークレットを変更する
  • GitHubで「Sha1-Hulud: The Second Coming」という説明文を持つ不審なリポジトリがないかどうか確認する
  • 可能であれば、CIでnpmの「postinstall」スクリプトを無効にする
  • パッケージのバージョンを固定し、GitHubおよびnpmアカウントでMFA(多要素認証)を強制する
  • 「Safe-Chain」のようなツールを使用し、npm上の悪意あるパッケージをブロックする

Copyright © ITmedia, Inc. All Rights Reserved.

アイティメディアからのお知らせ

スポンサーからのお知らせPR

注目のテーマ

人に頼れない今こそ、本音で語るセキュリティ「モダナイズ」
4AI by @IT - AIを作り、動かし、守り、生かす
Microsoft & Windows最前線2025
AI for エンジニアリング
ローコード/ノーコード セントラル by @IT - ITエンジニアがビジネスの中心で活躍する組織へ
Cloud Native Central by @IT - スケーラブルな能力を組織に
システム開発ノウハウ 【発注ナビ】PR
あなたにおすすめの記事PR

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。