サプライチェーン攻撃でウォレット認証情報が流出、デバイスがバックドアされる
dYdX暗号通貨取引所の開発者とバックエンドシステムを標的とした悪意のあるパッケージが、npmおよびPyPIリポジトリで発見されました。これらのパッケージには、ウォレットの認証情報を窃取し、場合によってはデバイスをバックドアするコードが仕込まれていました。セキュリティ企業Socketの研究者は、「侵害されたnpmバージョンを使用しているすべてのアプリケーションが危険にさらされている」と警告しています。
研究者らは、この攻撃は「完全なウォレットの侵害と、取り返しのつかない暗号通貨の盗難」に直接的な影響を及ぼすと述べています。影響範囲は、侵害されたバージョンに依存するすべてのアプリケーションに及び、開発者が実際の認証情報でテストしている場合でも、プロダクション環境のエンドユーザーでも被害に遭う可能性があります。
攻撃の概要と悪用されたパッケージ
dYdXは、無期限取引をサポートする分散型デリバティブ取引所であり、取引ボットや自動戦略、バックエンドサービスなどのサードパーティアプリが、署名用のニーモニックや秘密鍵を扱うコードライブラリを提供しています。
影響を受けたパッケージのバージョン:
- npm:
@dydxprotocol/v4-client-jsバージョン 3.4.1, 1.22.1, 1.15.2, 1.0.31 - PyPI:
dydx-v4-clientバージョン 1.1.5post1
これらのパッケージは、公式のdYdXアカウントによってnpmとPyPIに公開されていたとSocketは指摘しており、dYdXの公式アカウント自体が攻撃者によって侵害された可能性を示唆しています。
攻撃の手口:認証情報窃取とリモートアクセス型トロイの木馬(RAT)
npmパッケージによる攻撃
npmのマルウェアは、正規のパッケージ内に悪意のある関数を埋め込んでいました。ウォレットのセキュリティを支えるシードフレーズが処理されると、この関数はデバイスのフィンガープリントと共にシードフレーズを外部に送信しました。窃取された認証情報の送信先は、正規のdYdXサービス(dydx[.]xyz)をタイプミスで模倣した「dydx[.]priceoracle[.]site」というドメインでした。
PyPIパッケージによる攻撃
PyPIで公開された悪意のあるコードも、同じ認証情報窃取機能を備えていました。さらに、感染したシステム上で新しいマルウェアの実行を可能にするリモートアクセス型トロイの木馬(RAT)も実装されていました。このバックドアは、前述の「dydx[.]priceoracle[.]site」からコマンドを受信していました。
RATの機能:
- バックグラウンドのデーモンスレッドとして実行
- 10秒ごとにC2サーバーにビーコンを送信
- サーバーからPythonコードを受信し、非表示のサブプロセスで実行
- ハードコードされた認証トークンを使用:
490CD9DAD3FAE1F59521C27A96B32F5D677DD41BF1F706A0BF85E69CA6EBFE75
このRATが一度インストールされると、攻撃者はユーザー権限で任意のPythonコードを実行し、SSHキー、API認証情報、ソースコードを盗み出し、永続的なバックドアをインストールし、機密ファイルを外部に送信し、ユーザー活動を監視し、重要なファイルを変更し、ネットワーク上の他のシステムへも侵入することが可能になります。
過去の経緯と推奨される対策
今回のインシデントは、dYdXが攻撃対象となった少なくとも3度目のケースです。過去には、2022年9月のnpmリポジトリへの悪意のあるコードのアップロード、および2024年のDNSハイジャックによるdYdX v3ウェブサイトの乗っ取りがありました。
Socketは、「2022年のnpmサプライチェーン侵害や2024年のDNSハイジャック事件と並んで、今回の攻撃は、攻撃者が信頼できる配布チャネルを通じてdYdX関連資産を標的とする持続的なパターンを示している」と述べています。
dYdXプラットフォームを利用しているすべてのユーザーは、上記の悪意あるパッケージに依存していないか、すべてのアプリケーションを注意深く調査することが強く推奨されます。
