史上最大のサプライチェーン攻撃と呼ばれる今回の事件では、攻撃者がフィッシング攻撃によってメンテナーのアカウントを侵害し、週26億回以上ダウンロードされるNPMパッケージにマルウェアを注入しました。
このサプライチェーン攻撃でアカウントが乗っ取られたパッケージのメンテナーの一人が、本日早くにこの事件を確認し、侵害を認識していたこと、またフィッシングメールがsupport [at] npmjs [dot] helpから送られてきたことを明らかにしました。このドメインは正規のnpmjs.comドメインを偽装したウェブサイトをホストしています。
攻撃者はメールの中で、対象となったメンテナーのアカウントが2025年9月10日にロックされると脅し、フィッシングサイトへ誘導するリンクをクリックさせようとしました。
「アカウントのセキュリティ強化のため、すべてのユーザーに二要素認証(2FA)の認証情報を更新していただくようお願いしています。当社の記録によると、前回の2FA更新から12か月以上が経過しています。」とフィッシングメールには書かれていました。
「アカウントのセキュリティと整合性を維持するため、できるだけ早くこの更新を完了していただきますようお願いいたします。なお、2FA認証情報が古いアカウントは、2025年9月10日から一時的にロックされ、不正アクセス防止のため利用できなくなりますのでご注意ください。」
このサプライチェーン攻撃を分析したAikido Securityによると、脅威アクターはパッケージの管理権限を奪取した後、index.jsファイルに悪意のあるコードを注入し、ブラウザベースのインターセプターとして機能するようにしました。これによりネットワークトラフィックやアプリケーションAPIの乗っ取りが可能になります。
この悪意のあるコードは、侵害されたアプリケーションにウェブ経由でアクセスするユーザーのみに影響し、暗号通貨アドレスや取引を監視して、それらを攻撃者が管理するウォレットアドレスへリダイレクトします。これにより、本来送信されるべきアドレスではなく、攻撃者のアドレスに取引が乗っ取られることになります。
このマルウェアはウェブブラウザに自身を注入することで動作し、Ethereum、Bitcoin、Solana、Tron、Litecoin、Bitcoin Cashのウォレットアドレスや送金を監視します。暗号通貨取引を含むネットワークレスポンスがあると、宛先を攻撃者のアドレスに書き換え、署名される前に取引を乗っ取ります。
これまでに乗っ取られたパッケージは、合計で週26億回以上ダウンロードされています:
- backslash(週26万ダウンロード)
- chalk-template(週390万ダウンロード)
- supports-hyperlinks(週1920万ダウンロード)
- has-ansi(週1210万ダウンロード)
- simple-swizzle(週2626万ダウンロード)
- color-string(週2748万ダウンロード)
- error-ex(週4717万ダウンロード)
- color-name(週1億9171万ダウンロード)
- is-arrayish(週7380万ダウンロード)
- slice-ansi(週5980万ダウンロード)
- color-convert(週1億9350万ダウンロード)
- wrap-ansi(週1億9799万ダウンロード)
- ansi-regex(週2億4364万ダウンロード)
- supports-color(週2億8710万ダウンロード)
- strip-ansi(週2億6117万ダウンロード)
- chalk(週2億9999万ダウンロード)
- debug(週3億5760万ダウンロード)
- ansi-styles(週3億7141万ダウンロード)
「これらのパッケージは、ウェブサイトのクライアント側で実行されるコードが追加されており、ブラウザ内で暗号資産やweb3の活動を密かに傍受し、ウォレットの操作を改ざんし、支払い先を攻撃者のアカウントに書き換えることで、ユーザーに気付かれずに資金や承認が攻撃者にリダイレクトされるようになっています」とAikido Securityのリサーチャー、チャーリー・エリクセン氏は述べています。
「この攻撃が危険なのは、複数のレイヤーで動作する点です。ウェブサイト上の表示内容の改ざん、APIコールの改ざん、ユーザーのアプリが署名しようとしている内容の改ざんなどが行われます。」
このサプライチェーン攻撃は、ここ数か月の間にさまざまな有名JavaScriptライブラリの開発者を標的とした同様の攻撃が続いている中で発生しました。
例えば、7月には攻撃者がeslint-config-prettier(週3,000万回以上ダウンロードされるパッケージ)を侵害し、3月には他の広く使われている10個のnpmライブラリが乗っ取られ、情報窃取マルウェアに変えられました。
この記事は現在進行中です…