コンテンツにスキップするには Enter キーを押してください

週2.8百万ダウンロードのNPMパッケージ『is』がマルウェアで開発者に感染

Image

人気のNPMパッケージ『is』がサプライチェーン攻撃によって侵害され、バックドア型マルウェアが注入されました。これにより攻撃者は感染したデバイスに完全なアクセス権を持つことが可能になりました。

これは、メンテナーのアカウントがフィッシングによって乗っ取られ、その後、権限のないオーナー変更が数時間気付かれずに行われたことで発生しました。その間に新しいリリースをダウンロードした多くの開発者が影響を受けた可能性があります。

『is』パッケージは、さまざまな型チェックや値の検証機能を提供する軽量なJavaScriptユーティリティライブラリです。

このソフトウェアはNPMパッケージインデックスで週2.8百万回以上ダウンロードされています。開発ツール、テストライブラリ、ビルドシステム、バックエンドやCLIプロジェクトなどで低レベルのユーティリティ依存として広く利用されています。

2025年7月19日、パッケージの主要メンテナーであるJohn Harband氏は、バージョン3.3.1から5.0.0にマルウェアが含まれており、脅威アクターがnpmに提出してから約6時間後に削除されたことを発表しました。

Image

これは、偽ドメイン『npnjs[.]com』を使ってメンテナーの認証情報を盗み、人気パッケージの改ざんバージョンを公開したNPMサプライチェーン攻撃と同じ手口によるものです。

『is』の他にも、以下のパッケージが同じ攻撃で侵害され、マルウェアを配布していたことが確認されています:

  • eslint-config-prettier (8.10.1, 9.1.1, 10.1.6, 10.1.7)
  • eslint-plugin-prettier (4.2.2, 4.2.3)
  • synckit (0.11.9)
  • @pkgr/core (0.2.8)
  • napi-postinstall (0.3.1)
  • got-fetch (5.1.11, 5.1.12)

Socketによると、『is』にはクロスプラットフォームのJavaScriptマルウェアローダーが含まれており、WebSocketベースのバックドアを開いてリモートコード実行を可能にします。

「一旦有効化されると、Nodeのosモジュールを使ってホスト名、オペレーティングシステム、CPUの詳細を収集し、process.envからすべての環境変数を取得します」とSocketは説明しています。

「その後、wsライブラリを動的にインポートし、WebSocket接続を通じてこれらのデータを外部に送信します。」

「ソケット経由で受信したすべてのメッセージは実行可能なJavaScriptとして扱われ、脅威アクターに即座にインタラクティブなリモートシェルを提供します。」

研究者らはまた、『eslint』やその他のパッケージのペイロードも分析し、ウェブブラウザに保存された機密情報を狙うWindows用インフォスティーラー『Scavanger』を発見しました。

このマルウェアは、間接システムコールや暗号化されたC2通信などの回避メカニズムを備えていますが、フラグ操作によりChromeでセキュリティ警告が発生する可能性があります。

攻撃パターンから、脅威アクターは他のメンテナーの認証情報も侵害し、今後さらにステルス性の高いペイロードを新たなソフトウェアパッケージで試そうとしている可能性があります。

これを防ぐため、メンテナーは直ちにパスワードをリセットし、すべてのトークンをローテーションする必要があります。また、開発者は2025年7月18日以前の安全が確認されているバージョンのみを使用してください。

自動アップデートはオフにし、ロックファイルを使って特定の依存バージョンにリリースを固定することが推奨されます。


Wiz

CISOが実際に使うボードレポートデッキ

CISOは、クラウドセキュリティがビジネス価値をどう高めるかを明確かつ戦略的に示すことが、経営層の理解を得る第一歩だと知っています。

この無料で編集可能なボードレポートデッキは、セキュリティリーダーがリスク、影響、優先事項をビジネスの観点から明確に提示するのに役立ちます。セキュリティの最新情報を有意義な会話と迅速な意思決定につなげましょう。

翻訳元: https://www.bleepingcomputer.com/news/security/npm-package-is-with-28m-weekly-downloads-infected-devs-with-malware/

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です