3つの悪意あるNPMパッケージが開発者のログイン認証情報を標的に

Zscaler ThreatLabzのセキュリティ研究者は、JavaScript開発者を標的とする高度なリモートアクセス型トロイの木馬(RAT)をインストールするよう設計された、3つの悪意あるnpmパッケージを発見しました。

bitcoin-main-lib、bitcoin-lib-js、bip40と名付けられたこれらのパッケージは、2025年11月にnpmレジストリから削除されるまでに、合計で3,400回以上ダウンロード登録されていました。

この攻撃は、正規のBitcoinJSプロジェクトに対する開発者の信頼を悪用し、本物のビットコイン開発ライブラリに酷似したタイポスクワット(typosquatting)されたパッケージ名を用いています。

Image
攻撃フローは、bip40によってNodeCordRATが展開される様子を示しています

開発者がbitcoin-main-libまたはbitcoin-lib-jsをインストールすると、postinstallスクリプトが自動的に依存関係としてbip40のダウンロードを試みます。bip40には、研究者がNodeCordRATと名付けた悪意あるペイロードが含まれています。

NodeCordRATは機密性の高い開発者データを窃取

NodeCordRAT、Discordサーバーをコマンド&コントロール(C2)通信に利用する新しいマルウェアファミリーです。

このトロイの木馬は、Chromeブラウザの認証情報、.envファイルに保存されたAPIトークン、秘密鍵やシードフレーズなどのMetaMask暗号資産ウォレットデータを含む、特に価値の高い開発者資産を明確に標的とします。

3つの悪意あるパッケージはいずれも、メールアドレス [email protected] を使用する単一の脅威アクターによってアップロードされました。以下の表は配布による影響を示しています。

パッケージ名バージョン(複数可)ダウンロード数

パッケージ名 バージョン(複数可) ダウンロード数
bitcoin-lib-js 7.2.1 183
bitcoin-main-lib 7.0.0, 7.2.0 2,286
bip40 1.0.0, 1.0.6 958

攻撃チェーンは、開発者がnpmからbitcoin-main-libまたはbitcoin-lib-jsを気付かずにインストールすることから始まります。インストール中にpost-install.cjsスクリプトが自動実行され、bip40パッケージのパスを解決して、Process Manager 2(PM2)上でデタッチドモードで起動します。

これにより実行時の永続性が提供され、つまりインストーラーが終了した後もbip40は動作し続け、現在のセッション中にクラッシュしても自動的に再起動します。

正規に見せかけるため、攻撃者は各パッケージのpackage.jsonファイルを改変し、本物のbitcoinjs GitHubリポジトリへのリンクを含めました。

このソーシャルエンジニアリング手法により、基本的なデューデリジェンスを行う開発者の初期チェックを、悪意あるパッケージが回避しやすくなります。

Discordベースのコマンド&コントロール

有効化されると、NodeCordRATはハードコードされたDiscordサーバーに接続し、感染した各システムごとにプライベートチャンネルを確立します。

このマルウェアは、Windowsでは wmic csproduct get UUID のようなコマンドでシステムUUIDを抽出したり、Linuxシステムでは /etc/machine-id を読み取ったりして、win32-c5a3f1b4 のように platform-uuid 形式で侵害マシンの一意識別子を生成します。

攻撃者はDiscord経由で送信される3つのコマンド接頭辞を使って感染システムを制御します。!run は任意のシェルコマンドを実行し、!screenshot はフルデスクトップ画像をキャプチャしてPNGファイルとしてアップロードし、!sendfile は被害者マシンから指定されたファイルを持ち出します。

窃取されたデータはすべて、ハードコードされた認証トークンを用いてDiscordのREST API経由で送信され、ファイルはプライベートチャンネルのメッセージに直接添付されます。

npmはこれらの悪意あるパッケージを削除しましたが、この事案はソフトウェアサプライチェーンセキュリティにおける継続的な脆弱性を浮き彫りにしています。

開発者は、パッケージ作者の評判確認、ダウンロード統計の精査、インストール前の依存関係レビューなど、厳格なパッケージ検証手順を実施すべきです。

組織はまた、疑わしいpostinstallスクリプトや開発環境における異常なネットワーク挙動を検知する自動スキャンツールを導入すべきです。

侵害指標(IOCs)

パッケージ名 MD5ハッシュ
bitcoin-lib-js 7a05570cda961f876e63be88eb7e12b8
bitcoin-main-lib c1c6f4ec5688a557fd7cc5cd1b613649
bip40 9a7564542b0c53cb0333c68baf97449c

翻訳元: https://gbhackers.com/npm-packages-3/

ソース: gbhackers.com