Bitget App
スマートな取引を実現
暗号資産を購入市場取引先物Bitget Earn広場もっと見る
イーサリアムのスマートコントラクトが開発者を標的としたJavascriptマルウェアを密かに拡散

イーサリアムのスマートコントラクトが開発者を標的としたJavascriptマルウェアを密かに拡散

CryptoSlateCryptoSlate2025/09/04 19:12
原文を表示
著者:Liam 'Akiba' Wright

ハッカーはEthereumのスマートコントラクトを利用して、一見無害に見えるnpmパッケージ内にマルウェアのペイロードを隠蔽しており、この手法によってブロックチェーンが堅牢なコマンドチャネルとなり、対策や削除が困難になっています。

ReversingLabsは、colortoolsv2とmimelib2という2つのnpmパッケージについて詳細を明らかにしました。これらはEthereum上のコントラクトを読み取り、パッケージ自体にインフラをハードコーディングするのではなく、セカンドステージのダウンローダーのURLを取得します。この選択により静的なインジケーターが減少し、ソースコードレビューでの手がかりも少なくなります。

これらのパッケージは7月に登場し、公開後に削除されました。ReversingLabsは、これらのプロモーションがsolana-trading-bot-v2を含むGitHubリポジトリのネットワークにまで及んでいたことを突き止めました。これらは偽のスターや水増しされたコミット履歴、なりすましのメンテナーを用いて、開発者を悪意のある依存チェーンへと誘導するソーシャルレイヤーを形成していました。

ダウンロード数は少なかったものの、手法自体が重要です。The Hacker Newsによれば、colortoolsv2は7回、mimelib2は1回ダウンロードされており、これは依然として機会主義的な開発者ターゲティングに合致します。SnykとOSVは現在、両パッケージを悪意のあるものとしてリストアップしており、チームが過去のビルドを監査する際の迅速なチェックが可能です。

歴史は繰り返す

オンチェーンのコマンドチャネルは、2024年後半に研究者が追跡した数百のnpmタイポスクワットにわたる大規模キャンペーンを反映しています。その波では、パッケージがinstallまたはpreinstallスクリプトを実行し、EthereumコントラクトをクエリしてベースURLを取得し、その後node-win.exe、node-linux、node-macosといったOS固有のペイロードをダウンロードしていました。

Checkmarxは、0xa1b40044EBc2794f207D45143Bd82a1B86156c6bというコアコントラクトと、0x52221c293a21D8CA7AFD01Ac6bFAC7175D590A84というウォレットパラメータを記録し、45.125.67.172:1337や193.233.201.21:3001などのインフラも観測されています。

Phylumのデオブスクエーションによると、同じコントラクトに対してethers.jsのgetString(address)コールが行われており、C2アドレスが時間とともにローテーションされていることが記録されています。この挙動により、コントラクトの状態がマルウェア取得の可動ポインタとなります。Socketも独自にタイポスクワットの氾濫をマッピングし、同じコントラクトとウォレットを含む一致するIOCを公開しており、クロスソースでの一貫性が確認されています。

古い脆弱性が依然として蔓延

ReversingLabsは、2025年のパッケージを規模ではなく手法の継続と位置付けており、スマートコントラクトが次のステージのURLをホストし、ペイロード自体はホストしないという点が特徴です。

GitHubでの配布活動には、偽のスターやchoreコミットが含まれており、表面的なデューデリジェンスを通過し、偽リポジトリのクローン内で自動依存関係アップデートを活用することを狙っています。

この設計は、GitHub Gistやクラウドストレージなどのサードパーティプラットフォームを間接参照に利用する以前の手法に似ていますが、オンチェーンストレージは不変性、公開可読性、中立的な場を追加し、防御側が容易にオフラインにできないという特徴があります。

ReversingLabsによれば、これらのレポートから得られる具体的なIOCには、7月のパッケージに関連するEthereumコントラクト0x1f117a1b07c108eae05a5bccbe86922d66227e2b、2024年のコントラクト0xa1b40044EBc2794f207D45143Bd82a1B86156c6b、ウォレット0x52221c293a21D8CA7AFD01Ac6bFAC7175D590A84、ホストパターン45.125.67.172および193.233.201.21(ポート1337または3001)、および前述のプラットフォームペイロード名が含まれます。

2025年のセカンドステージのハッシュには021d0eef8f457eb2a9f9fb2260dd2e391f009a21が含まれ、2024年の波についてはCheckmarxがWindows、Linux、macOSのSHA-256値をリストアップしています。ReversingLabsも各悪意のあるnpmバージョンのSHA-1を公開しており、チームが過去の曝露をアーティファクトストアでスキャンするのに役立ちます。

攻撃への防御策

防御策として、インストールやCI中にライフサイクルスクリプトが実行されるのを防ぐことが即時のコントロールとなります。npmはnpm ciやnpm installで--ignore-scriptsフラグをドキュメント化しており、チームはこれを.npmrcでグローバルに設定し、必要なビルドのみを別ステップで許可できます。

Node.jsのセキュリティベストプラクティスページも同様のアプローチを推奨しており、ロックファイルによるバージョンの固定や、メンテナーやメタデータの厳格なレビューも推奨されています。

上記IOCへのアウトバウンドトラフィックをブロックし、ethers.jsを初期化してgetString(address)をクエリするビルドログにアラートを出すことで、チェーンベースのC2設計に合致した実用的な検知が可能です。

パッケージは削除されましたが、パターンは残り、オンチェーンの間接参照はタイポスクワットや偽リポジトリと並んで、開発者マシンに到達する再現可能な手法となっています。

この記事「Ethereum smart contracts quietly push javascript malware targeting developers」はCryptoSlateに最初に掲載されました。

0

免責事項:本記事の内容はあくまでも筆者の意見を反映したものであり、いかなる立場においても当プラットフォームを代表するものではありません。また、本記事は投資判断の参考となることを目的としたものではありません。

PoolX: 資産をロックして新しいトークンをゲット
最大12%のAPR!エアドロップを継続的に獲得しましょう!
今すぐロック

こちらもいかがですか?

イーサリアムのプライバシーにおけるHTTPSの瞬間:防御的ツールからデフォルトのインフラへ

Devconnect ARG 2025「Ethereum Privacy Stack」イベントの数十の講演やディスカッションから、「プライバシーパラダイムの全体的な再構築」をまとめました。

ChainFeeds2025/11/28 22:25
イーサリアムのプライバシーにおけるHTTPSの瞬間:防御的ツールからデフォルトのインフラへ

256 ETHを寄付、Vitalikがプライバシーメッセージングに賭ける:なぜSessionとSimplexなのか?

これらのプライバシー重視のメッセージングツールは、どのような差別化を追求しているのでしょうか?そしてVitalikは再びどの技術的ロードマップに賭けているのでしょうか?

BlockBeats2025/11/28 22:12
256 ETHを寄付、Vitalikがプライバシーメッセージングに賭ける:なぜSessionとSimplexなのか?

256ETHを寄付、Vitalikがプライバシー通信に賭ける:なぜSessionとSimpleXなのか?

これらのプライバシー重視のチャットツールは、一体どのような差別化を図っているのか?Vitalikはまたどのような技術路線に賭けているのか?

BlockBeats2025/11/28 22:02
256ETHを寄付、Vitalikがプライバシー通信に賭ける:なぜSessionとSimpleXなのか?