Zscaler ThreatLabzのセキュリティ研究者は、JavaScript開発者を標的とする高度なリモートアクセス型トロイの木馬(RAT)をインストールするよう設計された、3つの悪意あるnpmパッケージを発見しました。
bitcoin-main-lib、bitcoin-lib-js、bip40と名付けられたこれらのパッケージは、2025年11月にnpmレジストリから削除されるまでに、合計で3,400回以上ダウンロード登録されていました。
この攻撃は、正規のBitcoinJSプロジェクトに対する開発者の信頼を悪用し、本物のビットコイン開発ライブラリに酷似したタイポスクワット(typosquatting)されたパッケージ名を用いています。

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/