合計月間インストール数20億回超の人気npmパッケージ群を狙った大規模サプライチェーン攻撃が発生

JavaScript向けパッケージ管理サービス「npm」で、広く使われている数百個のパッケージに認証情報を盗むマルウェアが混入される大規模なサプライチェーン攻撃が発生しました。セキュリティ企業のAikido Securityによると、2026年8月4日までに侵害が確認されているのは少なくとも434パッケージの1381バージョンで、各パッケージの合計月間インストール数は20億回を超えているとのことです。
Keyv and friends compromised in active Shai-Hulud supply chain attack
https://www.aikido.dev/blog/keyv-and-friends-compromised-in-npm-supply-chain-attack

開発者がnpmからパッケージを追加すると、パッケージが内部で利用する別のパッケージも自動的に導入される場合があります。直接選んだ覚えのない部品までソフトウェアに組み込まれるため、広く使われるパッケージに悪意のあるコードが混入すると依存関係を通じて多数の開発環境やサービスへ被害が連鎖します。このように、開発や運用を支える部品の供給経路へ侵入し、部品を利用する組織をまとめて攻撃する手法が「サプライチェーン攻撃」です。利用者から見れば正規の配布元から通常通りインストールしただけに見えるため、異常に気付きにくい点も大きな問題となります。
今回の攻撃の起点となったのは、キーバリュー形式でデータを保存するライブラリの「Keyv」などを管理する開発者のGitHubアカウントです。攻撃者は主要な開発ブランチであるmainブランチへ悪意のあるファイルを直接追加し、直後に新バージョンを公開しました。公開作業には正規の自動処理基盤であるGitHub Actionsが使われたため、改ざん済みのパッケージには正規の手順で作成されたことを示す署名も付いていたとのこと。
最初に確認された主な侵害バージョンは、月間約6億400万回ダウンロードされる「Keyv」のバージョン6.0.0、約5億8000万回の「flat-cache」のバージョン6.1.24、約5億7100万回の「file-entry-cache」のバージョン11.1.6などです。攻撃は同じ管理者が所有するパッケージ群にとどまらず、盗み出した認証情報を使って別の開発者や企業が管理するパッケージにも広がりました。

侵害されたパッケージには「setup.mjs」と「Math_Symbol.js」や「math_init.js」などの名前のファイルが追加され、インストール前にsetup.mjsを実行する設定が組み込まれていました。利用者が対象バージョンをnpmでインストールすると、インストール完了前にsetup.mjsが自動実行されます。setup.mjsはJavaScript実行環境のBunをダウンロードし、認証情報を盗むMath_Symbol.jsを起動します。
Math_Symbol.jsが狙うのは、npmやGitHubのアクセストークン、Amazon Web Servicesの認証情報、KubernetesやHashiCorp Vaultに保存された秘密情報などです。環境設定ファイルやSSH鍵、データベースへの接続情報、StripeやSlackのトークンも探索対象に含まれます。盗まれたデータは暗号化された上で、攻撃者が用意した公開GitHubリポジトリなどへ送信される仕組みでした。

マルウェアには自己増殖機能も備わっており、盗んだnpmトークンで公開権限を持つパッケージを調べ、悪意のあるファイルと自動実行設定を追加してからバージョン番号を更新し、侵害済みパッケージとして再公開する仕組みになっていたとのこと。また、GitHubのリポジトリにはVisual Studio CodeやAIコーディングツール「Claude Code」が自動的に読み込む設定ファイルも追加されており、開発者が侵害されたリポジトリをVisual Studio Codeで開いたり、リポジトリ内でClaude Codeを起動したりすると悪意のあるコードが自動実行される仕掛けも存在していました。
Aikido Securityは利用者に対し、マルウェア検出結果の確認と手動での再スキャンを推奨しています。また、パッケージが端末や自動ビルド環境で動き出す前に危険性を確認するため、npmやYarnなどのインストール処理を監視するオープンソースツール「Aikido Safe Chain」も案内しています。記事作成時点でも別の管理者やパッケージへの感染が続いており、影響を受けたパッケージ数はさらに増える可能性があるとのことです。
・関連記事
4つのnpmパッケージを侵害したサプライチェーン攻撃が北朝鮮ハッカーによるものだとAmazonが特定 - GIGAZINE
サプライチェーン攻撃への防御策として「数日待つ」のは有効なのか? - GIGAZINE
度重なるサプライチェーン攻撃を受けnpmが「段階的リリース」を導入、流出したトークンだけではパッケージを公開できない仕組みを追加 - GIGAZINE
GitHubが依存関係の自動更新に標準で「3日間の待機」を導入、危険な新バージョンの即時取り込みを防止 - GIGAZINE
毎週数百万回ダウンロードされる人気JavaScriptライブラリ群「TanStack」にサプライチェーン攻撃、問題のあるバージョンをインストールした開発環境では認証情報流出の恐れ - GIGAZINE
・関連コンテンツ
in セキュリティ, Posted by log1d_ts
You can read the machine translated English article A large-scale supply chain attack has oc….







