OWN NEWS GATHER
← 戻る
The Hacker News

npmパッケージ「jscrambler」8.14.0が侵害、インストール時にRust製マルウェアを実行

要点

  • 「jscrambler」バージョン8.14.0に、インストール時にマルウェアを自動起動するコードが混入した。
  • 公開から6分後に検知されたが、その短い時間内に導入した開発環境などではすでに実行された可能性がある。
  • マルウェアはRust製で、クラウド認証情報やCursorなどAIツールの設定ファイル内のAPIキーを標的にしていた。
  • 悪意あるコードはGitHubリポジトリにはなく正規アカウントから直接プッシュされており、アカウント侵害等が疑われる。
  • Linux版のeBPFロード機能やWindows・macOS版の解析回避・永続化など、OSごとの高度な機能が確認された。
  • JavaScriptの難読化ツール「jscrambler」のnpmパッケージにおいて、特定のバージョンが侵害された。2026年7月11日に公開されたバージョン8.14.0をインストールすると、OS別の情報窃取マルウェアが自動実行される状態になっていた。本件は、開発環境やビルドサーバーの強力なアクセス権限を狙ったサプライチェーン攻撃とみられている。

パッケージの差分と自動実行の仕組み

Socketはバージョン8.14.0の公開6分後に異常を検知したが、その間にダウンロードしたシステムではすでにマルウェアが実行された可能性がある。
前バージョンとの差分では、dist/ 内に起動用ローダーの setup.js とデータコンテナ intro.js が追加されていた。intro.js にはOS別のバイナリが格納されており、インストール時の「preinstall」フック(パッケージインストール前に自動実行されるスクリプト)により setup.js が起動し、OSに応じたバイナリを一時ディレクトリに書き出してバックグラウンドで実行する仕組みだった。

リポジトリとの乖離と侵害経路

追加ファイルは公開ソースコードには存在しない。分析によると、GitHub上の公式リポジトリにはバージョン8.14.0に該当するコミットやタグはなく、最新タグは8.13.0のままであった。
本バージョンは正規アカウントからnpmへ直接プッシュされ、通常のリリースフローをバイパスしていた。アカウントまたはビルドパイプラインのいずれかが侵害されたとみられるが、現時点では原因は特定されていない。

開発環境を狙う情報窃取機能

実行されるマルウェアは、Rustで構築されたクロスプラットフォーム対応のインフォスティーラー(情報窃取マルウェア)である。
標的は開発者環境に特化しており、AWSやGoogle Cloudなどのクラウド認証情報(CIランナー用エンドポイント含む)、暗号通貨ウォレット、Bitwarden、ブラウザのCookieなどを狙う。さらに、CursorやVS Code、Claude DesktopといったAIコーディングツールの設定ファイルも対象で、APIキーやModel Context Protocol(MCP、外部のAIモデルとツールを接続するためのプロトコル)の認証情報が窃取される仕様になっていた。

OS別の高度な機能と通信先

マルウェアには高度な解析・検知回避機能も備わっていた。Linux版バイナリは「eBPF(カーネル内でプログラムを安全に実行する技術)」プログラムをメモリからロードしてカーネル内に足場を築く機能を持ち、その動作は解析中である。Windows版とmacOS版には、解析を防ぐアンチデバッグ機能や、再起動後も自動実行する永続化処理(Windowsのスケジュールタスク、macOSのLaunchAgent設定)が組み込まれていた。
通信先の情報はバイナリ内で暗号化されていたが、監視により、ハードコードされた2つのIPアドレスや匿名通信ネットワーク「Tor」への接続が確認されている。

影響の背景と過去の事例

jscramblerは週に約15,800回ダウンロードされる開発依存(devDependencies、開発時のみ必要なパッケージ)のツールである。今回の侵害バージョンのダウンロード数は不明だが、ビルドマシンを狙う攻撃においては拡散規模よりも得られるアクセス権限の強さが重要となる。
npmエコシステムでは、2025年9月に自己拡散型の「Shai-Hulud」ワームや、アカウント乗っ取りによる「chalk」「debug」「Axios」の侵害などサプライチェーン攻撃が相次いでいる。今回の事件は、npmがインストールフック対策を施した「npm 12」をリリースした直後のタイミングで発生した。

元URL