Malicious npm packages target Ethereum developers’ private keys
2025/01/03 BleepingComputer — Ethereum の開発者が使用する、Hardhat を装う 20件の悪意のパッケージが、秘密鍵などの機密データを標的にしている。研究者たちによると、これらの悪意のパッケージは、合計で 1,000回以上ダウンロードされているという。

絞り込んだターゲット層へのキャンペーン
Hardhat は、Nomic Foundation により運営されている、人気の Ethereum 開発環境である。そのユーザー層を構成するのは、ブロックチェーン・ソフトウェア開発者/フィンテック企業/スタートアップ/教育機関などであり、Ethereum ブロックチェーン上のスマート・コントラクトおよび dApps (decentralized applications) の、開発/テスト/デプロイに使用されている。
Hardhat ユーザーの多くは、プロジェクトのコンポーネントを npm (Note Package Manager) から入手している。npm とは、JavaScript エコシステムで広く使用されているツールであり、依存関係/ライブラリ/モジュールの管理において、開発者たちを支援するものだ。
その npm 上の3つの悪意のアカウントが、20件の情報窃取用のパッケージを、アップロードしていたことが発覚した。それらの悪意のパッケージは、タイポスクワッティングを利用して正規のパッケージを装い、ユーザーの判断を誤らせ、インストールを促すように設計されていた。
Socket Research Team は、このキャンペーンに関するレポートで、以下の 16の悪意のパッケージの名称を共有している:
- nomicsfoundations
- @nomisfoundation/hardhat-configure
- installedpackagepublish
- @nomisfoundation/hardhat-config
- @monicfoundation/hardhat-config
- @nomicsfoundation/sdk-test
- @nomicsfoundation/hardhat-config
- @nomicsfoundation/web3-sdk
- @nomicsfoundation/sdk-test1
- @nomicfoundations/hardhat-config
- crypto-nodes-validator
- solana-validator
- node-validators
- hardhat-deploy-others
- hardhat-gas-optimizer
- solidity-comments-extractors
これらの悪意のパッケージがインストールされると、パッケージ内のコードにより、Hardhat のプライベート・キー/構成ファイル/ニーモニックなどが収集される。続いて、ハードコードされた AES キーで、それらの情報を暗号化し、攻撃者が管理する環境へと送信していく。
Socket Research のアドバイザリには、「これらのパッケージは、hreInit() や hreConfig() などの関数を介して、Hardhat の実行環境を悪用することで、プライベート・キー/ニーモニクス/設定ファイルなどの機密情報を収集している。それらの収集されたデータは、ハードコードされたキーと Ethereum アドレスの悪用により、攻撃者が管理するエンドポイントへと送信され、外部に流出していく」と記されている。
セキュリティ・リスクと緩和策
この攻撃の最初の影響として、不正な取引の実行による資金の損失が考えられる。なぜなら、秘密鍵とニーモニクスは、Ethereum ウォレットへのアクセスに使用されるからだ。
さらに、侵害されたシステムの多くは開発者のものであるため、攻撃者に本番システムへの不正アクセスを許してしまう可能性もある。つまり、スマート・コントラクトの侵害や、既存の dApps の悪意のクローンの展開により、攻撃者は影響力を高め、広範囲に及ぶ攻撃の基盤を築くことが可能になる。
Hardhat のコンフィグ・ファイルには、サードパーティ・サービスの API キーや、開発におけるネットワークとエンドポイントに関する情報が記載されている場合もある。そのため、フィッシング攻撃に悪用される可能性も生じてくる。
ソフトウェア開発者に推奨されるのは、パッケージの真正性を確認し、タイポ・スクワッティングに注意を払い、インストール前にソースコードを検査するなど、十分な注意を払うことだ。また、一般的な推奨事項として挙げられるのは、秘密鍵をハードコードせず、安全な保管庫に保管することだ。
さらに、このようなリスクを最小限に抑えるには、ロックファイルを使用し、依存関係を特定のバージョンだけに制限し、その数を最小限に抑えることも有効である。
これまでにも、npm 汚染による悪意のパッケージ展開は多発していますが、今回のように、Ethereum の開発環境である Hardhat を狙うという、標的を絞り込んだキャンペーンは初めてだと思います。すでに 1,000回以上も、この悪意のパッケージはダウンロードされているとのことです。ご利用のチームには、開発環境のチェックが推奨されます。よろしければ、Ethereum で検索を、ご参照ください。
You must be logged in to post a comment.