安全研究者は、新しいタイプの攻撃が静かにイーサリアムスマートコントラクトをコマンド&コントロール(C2)チャネルとして利用しており、マルウェアを無害に見えるnpm JavaScriptパッケージに隠していると警告しています。これは開発者のコンピュータを標的にしています。この方法は追跡と除去の難易度を増すだけでなく、ブロックチェーンの不変性と公開性を利用して、防御側がブロックするのをより困難にしています。
ReversingLabsは、colortoolsv2とmimelib2という2つのnpmパッケージが、イーサリアム上の特定のスマートコントラクトを読み取り、二段階マルウェアダウンローダーのURLを取得することを発見しました。これは、基盤となるインフラをパッケージ内にハードコーディングするのではなく行われます。
この設計は静的検査の可能性を低下させ、コードレビューにおいてより少ない手がかりを残します。これらの二つの罠のダウンロード数は非常に少なく(それぞれ7回と1回)、しかしその攻撃の考え方はサプライチェーンの安全に重大な脅威をもたらします。
調査によると、これらのマルウェアのプロモーションは、solana-trading-bot-v2のような取引ロボットを装ったGitHubリポジトリのネットワークから来ている。
攻撃者は虚偽のスター、誇張された提出履歴、および傀儡のメンテナーアカウントを通じて、開発者を誘導して意図せずにマルウェア依存をインストールさせます。
この方法は2024年末のnpmドメインハイジャック攻撃と同じで、その時数百のパッケージがインストール段階でイーサリアムのスマートコントラクトを問い合わせ、基礎URLを取得し、Windows、Linux、macOS向けのマルウェアをダウンロードしました。
安全会社 Checkmarx と Phylum は、攻撃者が使用しているコアコントラクトアドレスが 0xa1b40044EBc2794f207D45143Bd82a1B86156c6b であり、ethers.js を通じて getString(address) を呼び出して最新の C2 サーバーアドレスを取得したことを発見しました。
これらの C2 ノードには 45.125.67.172:1337 および 193.233.201.21:3001 が含まれており、ブロックを回避するために時間とともに変動します。
スマートコントラクトのデータは変更できないため、このオンチェーンストレージ方式は従来のGitHub Gistやクラウドストレージよりも削除されることが難しいです。
専門家は、開発チームがnpmインストールとCIプロセスで--ignore-scriptsパラメータを有効にして、マルウェアのライフサイクルスクリプトの自動実行を防ぎ、ロックファイルを使用してパッケージのバージョンを固定することを推奨しています。
同時、ファイアウォールやセキュリティプロキシで既知のマルウェアIPや契約アドレスをブロックし、buildログ内のgetString(address)への疑わしい呼び出しを監視する必要があります。
Node.jsの公式セキュリティガイドラインでは、メンテナーの身元とパッケージのメタデータに対してより厳格な審査を行うことを推奨しており、サプライチェーン攻撃のリスクを低減しています。
今回の事件はダウンロード数に大きな影響を与えませんでしたが、より隠密で防御が難しい攻撃パターンを明らかにしました——ブロックチェーンを持続的なコマンドチャネルとして利用し、ソーシャルエンジニアリングとオープンソースサプライチェーンの浸透を組み合わせることで、開発者や企業に長期的な脅威を与えます。今後、チェーン上のマルウェアと従来のサプライチェーン攻撃の結合は、サイバーセキュリティ分野の新たな常態となる可能性があります。
7k 人気度
17k 人気度
20k 人気度
51k 人気度
32k 人気度
イーサリアムスマートコントラクト暗藏罠!npm パッケージが開発者を狙った悪意のあるプログラムを植え込まれました
安全研究者は、新しいタイプの攻撃が静かにイーサリアムスマートコントラクトをコマンド&コントロール(C2)チャネルとして利用しており、マルウェアを無害に見えるnpm JavaScriptパッケージに隠していると警告しています。これは開発者のコンピュータを標的にしています。この方法は追跡と除去の難易度を増すだけでなく、ブロックチェーンの不変性と公開性を利用して、防御側がブロックするのをより困難にしています。
マルウェア npm 罠がエーテルを利用して攻撃指令を伝達する方法
ReversingLabsは、colortoolsv2とmimelib2という2つのnpmパッケージが、イーサリアム上の特定のスマートコントラクトを読み取り、二段階マルウェアダウンローダーのURLを取得することを発見しました。これは、基盤となるインフラをパッケージ内にハードコーディングするのではなく行われます。
この設計は静的検査の可能性を低下させ、コードレビューにおいてより少ない手がかりを残します。これらの二つの罠のダウンロード数は非常に少なく(それぞれ7回と1回)、しかしその攻撃の考え方はサプライチェーンの安全に重大な脅威をもたらします。
GitHubの偽装とソーシャルエンジニアリングによるインストール誘導
調査によると、これらのマルウェアのプロモーションは、solana-trading-bot-v2のような取引ロボットを装ったGitHubリポジトリのネットワークから来ている。
攻撃者は虚偽のスター、誇張された提出履歴、および傀儡のメンテナーアカウントを通じて、開発者を誘導して意図せずにマルウェア依存をインストールさせます。
この方法は2024年末のnpmドメインハイジャック攻撃と同じで、その時数百のパッケージがインストール段階でイーサリアムのスマートコントラクトを問い合わせ、基礎URLを取得し、Windows、Linux、macOS向けのマルウェアをダウンロードしました。
オンチェーンコマンドチャネルの技術的詳細
安全会社 Checkmarx と Phylum は、攻撃者が使用しているコアコントラクトアドレスが 0xa1b40044EBc2794f207D45143Bd82a1B86156c6b であり、ethers.js を通じて getString(address) を呼び出して最新の C2 サーバーアドレスを取得したことを発見しました。
これらの C2 ノードには 45.125.67.172:1337 および 193.233.201.21:3001 が含まれており、ブロックを回避するために時間とともに変動します。
スマートコントラクトのデータは変更できないため、このオンチェーンストレージ方式は従来のGitHub Gistやクラウドストレージよりも削除されることが難しいです。
防御提案:ライフサイクルスクリプトとネットワークリクエストをブロックする
専門家は、開発チームがnpmインストールとCIプロセスで--ignore-scriptsパラメータを有効にして、マルウェアのライフサイクルスクリプトの自動実行を防ぎ、ロックファイルを使用してパッケージのバージョンを固定することを推奨しています。
同時、ファイアウォールやセキュリティプロキシで既知のマルウェアIPや契約アドレスをブロックし、buildログ内のgetString(address)への疑わしい呼び出しを監視する必要があります。
Node.jsの公式セキュリティガイドラインでは、メンテナーの身元とパッケージのメタデータに対してより厳格な審査を行うことを推奨しており、サプライチェーン攻撃のリスクを低減しています。
结语
今回の事件はダウンロード数に大きな影響を与えませんでしたが、より隠密で防御が難しい攻撃パターンを明らかにしました——ブロックチェーンを持続的なコマンドチャネルとして利用し、ソーシャルエンジニアリングとオープンソースサプライチェーンの浸透を組み合わせることで、開発者や企業に長期的な脅威を与えます。今後、チェーン上のマルウェアと従来のサプライチェーン攻撃の結合は、サイバーセキュリティ分野の新たな常態となる可能性があります。