Hackers backdoor Jscrambler npm package with infostealer malware

クライアントサイドのWebセキュリティ企業であるJscramblerは、ある攻撃者が同社のnpmパッケージの悪意のあるバージョンを公開し、それが1,500回近くダウンロードされたことを明らかにした。

この悪意のあるJscramblerパッケージは、リリース8.14、8.16、8.17、および8.20にまたがっており、「preinstall」フック中に実行される情報窃取型マルウェアが含まれていた。

「本日、当社の『Code Integrity』製品で使用されるJscrambler npmパッケージの悪意のあるバージョンが、無断で公開されていることを確認しました」と、Jscramblerは土曜日に発表した警告で述べています

image

「この事象は当該パッケージに限定されたものであり、『Webpage Integrity』を含む他のJscrambler製品には影響を及ぼしていません」と同社は述べた。

Jscramblerは迅速に対応したものの、開発者が当該パッケージを非推奨とし、安全なバージョン8.22をリリースするまでの間、悪意のあるパッケージは2時間にわたり流通し続けた。

影響を受けたパッケージは、他の4つのJscramblerパッケージの依存関係となっていたが、ベンダーはこれらについても非推奨とし、新しいバージョンに置き換えた。

Node Package Manager(npm)の統計データによると、この2時間の間に、当該の悪意のあるパッケージは1,479回ダウンロードされた。

Jscramblerは、WebおよびモバイルのJavaScriptアプリケーションをリバースエンジニアリングや改ざんから保護するための商用プラットフォームである。

そのnpmパッケージは週に17,000回のダウンロードがあり、アプリ開発者は自身のJavaScriptをJscramblerのサービスにアップロードすることで、コードが改ざんされるのを防ぐことができます。これにより、悪意のあるコードの注入などのリアルタイムな改変に対する防御が可能になります。

アプリケーションセキュリティ企業のSocketがこの侵害を検知し、不正に公開されたJscramblerパッケージを分析しました。研究者によると、このパッケージには、以下の複数の種類の機密データを標的とした情報窃取型マルウェアが含まれていたとのことです:

  • ソースコードおよびプロジェクトファイル
  • 開発者の認証情報およびシークレット(Git、SSH、環境変数、CI/CDトークン)
  • クラウドの認証情報およびシークレットマネージャー(AWS、Azure、GCP、Kubernetes)
  • AIコーディングツールおよびMCPの設定(Claude、Cursor、Windsurf、VS Code、Zed)
  • 仮想通貨ウォレットおよびシードフレーズ(MetaMask、Phantom、Coinbase、Exodus、Trust Wallet)
  • ブラウザデータ(クッキー、保存された認証情報)
  • メッセージングおよびコラボレーションアプリ(Slack、Discord、Telegram)

Socketの報告によると、このマルウェアはChaCha20-Poly1305暗号化アルゴリズムを用いた強力な文字列単位の難読化を行っており、コードのリバースエンジニアリングを困難にしていた。

Jscramblerによると、この侵害はnpmパブリッシング用認証情報の漏洩が原因であり、同社はすでに当該認証情報を無効化している。

このインシデントを受け、公開パイプラインに対して追加のセキュリティ対策が実施された。

悪意のある npm パッケージを使用した開発者は、自身の環境が侵害されたものと見なし、すべてのシークレットを更新し、安全なバックアップから復元する必要があります。

Jscramblerは、顧客に対し、製品の最新バージョンを使用していることを確認するよう推奨しています。