NPM 上の悪意のパッケージがネットワーク情報を収集:60 件のマルウェア・パッケージを発見

Dozens of malicious packages on NPM collect host and network data

2025/05/23 BleepingComputer — NPM インデックスで発見されたのは、機密性の高いホスト/ネットワークのデータを収集し、脅威アクターが制御する Discord Web フックへと送信する、60 件の悪意のパッケージである。Socket の脅威調査チームによると、これらのパッケージは、5月12日以降において、3つのパブリッシャー・アカウントから NPM リポジトリにアップロードされたものだという。

各パッケージには、”npm install” 実行時に自動的に動作する、ポスト・インストール・スクリプトが含まれており、以下の情報を収集する機能の取り込みが確認された:

  • ホスト名
  • 内部IPアドレス
  • ユーザーホームディレクトリ
  • 現在の作業ディレクトリ
  • ユーザー名
  • システム DNS サーバー

これらのスクリプトは、クラウドプ・ロバイダーに関連するホスト名や逆引き DNS 情報を確認することで、分析環境での実行の可否を判断する機能も備えている。

Socket の評価によると、第2段階のペイロード配信/特権昇格/永続化のメカニズムなどは確認されなかったが、収集の対象とされたデータの性質から、標的型ネットワーク攻撃の踏み台として悪用される可能性が高いようとされる。

NPM で依然として存在するパッケージ

研究者たちが報告した悪意のパッケージだが、この記事の執筆時点では NPM 上に依然として存在し、累計で 3,000件近くダウンロードされていた。ただし、公開の時点では、すでにリポジトリから削除されていたことが確認されている。

開発者を欺いてパッケージを使用させようとする攻撃者たちは、以下のような命名手法を用いていた:

  • 正規パッケージに酷似した名称(例:flipper-plugins、react-xterm2、hermes-inspector-msggen)
  • 一般的で信頼性を想起させる名称
  • テスト用途を装う名称 (CI/CD パイプラインを標的としている可能性がある)

なお、全体像を示す 60 件の悪意のパッケージ・リストが、Socket のレポートの下部セクションに掲載されている。

すでに、これらのパッケージをインストールしてしまった場合には、それらを直ちに削除した上で、システム全体をスキャンし、感染の痕跡を完全に除去することが強く推奨される。

NPM のデータ・ワイパー

昨日である 5月24日に、Socket が新たに発見した、別の悪意の NPM キャンペーンで、8 件のパッケージが確認されている。それらはタイポスクワッティング手法により正規ツールを模倣しながら、ファイル削除/データ破壊/システム・シャットダウンなどの、破壊的な動作 (データワイパー) を実行するように設計されていた。

このキャンペーンは、React/Vue.js/Vite/Node.js/Quill などのエコシステムを標的としており、一連のパッケージは、これまでの2年間で 6,200 回以上もダウンロードされていた。

Script designed to delete Vue.js-related files on June 19–30, 2023
Script designed to delete Vue.js-related files on June 19–30, 2023
Source: Socket

長期間にわたり検出を回避してきた要因は、ハードコーディングされたシステム日付に基づき、ペイロードがアクティベートされる設計にあった。その発動後は、以下のような動作を実行する構造となっていた:

  • フレームワークファイルの段階的な破壊
  • Vue.js 関連ファイルを削除するスクリプト (2023年6月19日〜30日に実行)
  • コア JavaScript メソッドの破損
  • ブラウザのストレージ・メカニズムの妨害

このキャンペーンを背後で操る脅威アクターは、”xuxingfeng” という名前で活動しており、あらかじめ複数の正当なパッケージを公開し、信頼性を装っていたことが確認されている。

現時点では、ハードコーディングされた日付に基づく危機は去っているが、ユーザーに対して強く推奨されるのは、当該パッケージを完全に削除することである。なぜなら、ワイパー機能を復活させるためのアップデートを、将来において攻撃者が投入する可能性が消えていないからである。