React Native の npm パッケージを侵害:2026年3月16日に発生したインシデントを追跡

Glassworm Malware Infects Popular React Native npm Packages

2026/03/17 gbhackers — React Native の 2 つの npm パッケージが、新たな Glassworm 関連サプライチェーン攻撃により、一時的に Windows 認証情報窃取マルウェアの配布経路となった。2026年3月16日に、AstrOOnauta の react-native-country-select@0.3.91/react-native-international-phone-number@0.11.8 の悪意あるバージョンが npm に公開された。いずれも、通常の npm インストール実行時に動作する、同一の段階的ローダーを埋め込んでいる。

これらのパッケージのダウンロード数は、週次で 29,763件、月次で 134,887件であり、侵害されていた短い期間において、CI パイプライン/開発者ワークステーション/ビルド・エージェントにリスクをもたらした。

悪意の挙動は、隣接するバージョンをカバーするかたちで導入されている。旧バージョンである react-native-country-select@0.3.9/react-native-international-phone-number@0.11.7 には “preinstall” フックは存在せず、ローダーも含まれていなかった。

Aikido の報告によると、2026年03月16日に数分間隔で、攻撃者は新バージョンを公開している。バージョン 0.11.8 は 10:49:29 UTC に、バージョン 0.3.91 は 10:54:18 UTC に公開され、いずれも難読化された “install.js” と “package.json” 内に新たな “preinstall” エントリを追加していた。

Glassworm マルウェア

“install.js” は、2 つのパッケージにおいて完全に同一であり、同一パブリッシャによる複数パッケージの、同日侵害であることを強く示唆している。

インストール時に、攻撃チェーンが引き起こされる。2 つのパッケージとも “preinstall” : “node install.js” を定義しており、npm の通常インストール完了前に Node.js がインストーラを実行する。

このスクリプトは、攻撃者が管理するインフラ (Solana RPC エンドポイントを含む) に接続し、インストール中に第 2 段階のペイロードを取得/実行する。

Install-Time Execution (Source : aikido).
Install-Time Execution (Source : aikido).

これらのコードは、ロシアのロケール/タイムゾーンと判定される環境をスキップする。この挙動は、金銭目的マルウェアで繰り返し確認されている特徴である。

研究者たちは、同一の Solana ベース・チェーンをオフラインで追跡し、Solana アカウントを抽出し、getSignaturesForAddress を照会し、トランザクションメモから base64 エンコードされたリンクを取得し、第 2 段階のアーティファクトを復号した。

Russian Locale Check (Source : aikido).
Russian Locale Check (Source : aikido).

復号した結果には、http://45[.]32[.]150[.]251 上にホストされる、第 3 段階ペイロードの復号に必要な、 secret key および IV (szfNmayz6fgt6ojbAuVhjEAOWMMxw7iS/ZMM7q5jBwUbsYFo7/8ZdxA==) が含まれていた。

npm パッケージとマルチステージ攻撃

第 3 段階のペイロードは、Windows 対応の情報窃取とダウンロードの機能を持つ JavaScript 実装であり、AES を介して追加コンポーネントを復号する。

このペイロードが Windows 上で実行されると、schtasks および Run レジストリキーを用いる永続化が確立され、”~\init.json” にガード・ファイルを作成することで、再実行が管理される。


The Recovered Third Stage Persists And Pulls More Components (Source : aikido).
The Recovered Third Stage Persists And Pulls More Components (Source : aikido).

さらに、”%APPDATA%_node_x86″ および “%APPDATA%_node_x64” に Node.js ランタイム (v22.9.0) をダウンロードし、Node が未導入の環境であってもモジュール実行を可能にする。

このペイロードは、Chromium/Firefox のブラウザ・プロファイル・パスを走査し、ブラウザ・プロセスを停止し、エクステンションとウォレットのデータをコピーして、後の流出に備える。

対象とされる暗号資産ウォレットには、MetaMask/Exodus/Atomic/Guarda/Coinomi/Daedalus/Braavos/OKX Wallet/Trust Wallet などが含まれる。

さらに、npm および GitHub の認証情報の窃取も試行される。npm の auth トークン取得および git credential helper の呼び出しにより、単一の npm インストールから全面的な認証情報侵害へと拡大していく。

収集データおよび追加モジュールは、”45[.]32[.]150[.]251″ および “217[.]69[.]3[.]152” にホストされる攻撃者のインフラへと送信される。

この一連のマルチステージ攻撃は、Glassworm/ForceMemo キャンペーンと高い確率で一致する、認証情報およびウォレット窃取のチェーンである。