イーサリアムスマートコントラクト暗藏罠!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の公式セキュリティガイドラインでは、メンテナーの身元とパッケージのメタデータに対してより厳格な審査を行うことを推奨しており、サプライチェーン攻撃のリスクを低減しています。

结语

今回の事件はダウンロード数に大きな影響を与えませんでしたが、より隠密で防御が難しい攻撃パターンを明らかにしました——ブロックチェーンを持続的なコマンドチャネルとして利用し、ソーシャルエンジニアリングとオープンソースサプライチェーンの浸透を組み合わせることで、開発者や企業に長期的な脅威を与えます。今後、チェーン上のマルウェアと従来のサプライチェーン攻撃の結合は、サイバーセキュリティ分野の新たな常態となる可能性があります。

ETH2.5%
原文表示
このページには第三者のコンテンツが含まれている場合があり、情報提供のみを目的としております(表明・保証をするものではありません)。Gateによる見解の支持や、金融・専門的な助言とみなされるべきものではありません。詳細については免責事項をご覧ください。
  • 報酬
  • コメント
  • リポスト
  • 共有
コメント
0/400
コメントなし
  • ピン
いつでもどこでも暗号資産取引
qrCode
スキャンしてGateアプリをダウンロード
コミュニティ
日本語
  • 简体中文
  • English
  • Tiếng Việt
  • 繁體中文
  • Español
  • Русский
  • Français (Afrique)
  • Português (Portugal)
  • Bahasa Indonesia
  • 日本語
  • بالعربية
  • Українська
  • Português (Brasil)