Skip to main content

オープンソースメンテナーのアカウント侵害によるnpmサプライチェーン攻撃

Introducing open source security runtime monitoring

2025年9月8日

0 分で読めます

9月8日(月)、高い評価を受けているオープンソース開発者の~qixが、フィッシングメールによってアカウントを侵害されました。~qixは多数の人気npmパッケージの作者兼メンテナーで、support [at] npmjs [dot] helpというメールアドレスから届いたメッセージに返信したことで、この攻撃の被害に遭いました。

その結果、攻撃者は同氏のnpmアカウントを乗っ取り、Qixが特権アクセス権を持つパッケージに悪意のあるバージョンを公開できるようになりました。

9月9日更新:影響を受けたことが新たに判明したnpmパッケージを追加しました。

9月10日更新:影響を受けたことが新たに判明したnpmパッケージを追加しました。

何が起きたのか?

オープンソース開発者がフィッシングメールの被害に遭い、攻撃者にnpmアカウントへのアクセスを許してしまいました。これにより攻撃者は、多数の人気npmパッケージに悪意のあるコードを注入し、サプライチェーン攻撃を仕掛けることができました。

現時点で、標的にされたことが確認されているオープンソースメンテナーはこの人物のみです。ただし、影響を受けたものの、まだ報告されていない著名な開発者がほかにもいる可能性があります。

どのように実行されたのか?

攻撃者はソーシャルエンジニアリングを利用し、精力的に活動するオープンソース開発者を狙ったフィッシングメールを送信しました。このメールによって開発者は認証を行い、攻撃者にアカウントへのアクセスを許すセキュリティ制御を回避してしまいました。攻撃者はその後、開発者が特権アクセス権を持つ人気のオープンソースパッケージにマルウェアを注入し、マルウェアを含む新しいバージョンを公開できる状態になりました。

悪意のあるコードは、ブラウザー上で実行されるとネットワークトラフィックを監視し、暗号資産の取引を標的にします。パッケージに注入された悪意のあるコードは、Web3ウォレットが存在するとフックを作動させます。作動すると、ETHの価値を伴う取引を傍受して改変し、攻撃者が管理していると思われる別のアドレスに送金先を変更します。また、スワップや送金の取引も監視し、改ざんを試みます。

どのようなデータが標的になったのか?

攻撃者は、ユーザーのブラウザーで利用できる暗号資産ウォレットを標的にし、ユーザーが署名した取引や承認を攻撃者のアドレスにリダイレクトして資金を流出させようとしていました。現時点では、攻撃によってほかのデータが標的にされたとは考えられていません。

影響を受けたパッケージとバージョン

攻撃のタイムライン

UTC午後1時頃:侵害が検出された最初のパッケージ群が公開される

UTC午後2時16分:ソーシャルプラットフォームのBlue Skyで、開発者にアカウント侵害の可能性が通知される

UTC午後3時16分:開発者がBlue Skyへの投稿でアカウント侵害を認め、npmにインシデントを報告

UTC午後5時17分:npmが侵害を認め、侵害されたパッケージの削除に着手

UTC午後7時59分:npmが開発者に報告し、影響を受けたすべてのパッケージバージョンが削除されたことを伝える

侵害の痕跡(IoC)

  • GitHubユーザーのSindreSorhusが、このマルウェアが依存関係ツリーに含まれているか確認するための簡単なコマンドを共有しました。

brew install rg

rg -uu --max-columns=80 --glob '*.js' _0x112fa8 
  • パッケージメンテナーの方で、support [at] npmjs [dot] helpからのメールを受け取り、その指示に従った場合、同様に影響を受けている可能性が高いです。

今すぐ行うべきこと

  1. 現在も進行中のインシデントです。この投稿と、GitHubに投稿される開発者Qixからの更新情報を確認してください。

  2. Sindre Sorhusが共有したスクリプトを使って、マルウェアが依存関係ツリーに含まれているか確認してください。

Snykユーザーの方へ

Snyk SCAとSnyk SBOMを使って、組織全体のプロジェクトを特定し、監視できます。

  1. アドバイザリの公開後にテストを実行していない場合は、再テストを実行してください。

  2. CLIプロジェクトは再監視を行い、現在の依存関係ツリーが検出されるようにしてください。

Snykのレポート

この一連の脆弱性について、Snykの「Featured Zero-Day」レポート一覧にレポートが掲載されています。Enterpriseプランをご利用の場合は、左側のナビゲーションで「Reports」をクリックすると、このレポートにアクセスできます(GroupレベルとOrgレベルの両方のレポートを利用できます)。デフォルトでは「Issues Detail」レポートが表示されますが、レポートタイトルの横にある「Change Report」ドロップダウンをクリックし、「Featured Zero-Day」を選択できます。次の画面で、Zero-Dayドロップダウンリストから「npm Phishing Supply Chain Attack」レポートを選択してください。

npmのフィッシングによるサプライチェーン攻撃で絞り込まれたゼロデイ脆弱性レポートのダッシュボード。未解決の問題は0件、解決済みの問題は3件

サプライチェーンセキュリティ攻撃について

今回の攻撃は、最近発生した同種のセキュリティインシデントに続くものです。これまでも、CIやメンテナーアカウントへの攻撃によるリリースの乗っ取りが確認されています。

オープンソースセキュリティを実現するSnykのライブデモを予約

セキュリティの専門家に相談して、Snykでオープンソースを安全に活用する方法をご覧ください