Malicious npm packages target Ethereum developers' private keys

イーサリアム開発者が使用するHardhat開発環境になりすました20の悪意のあるパッケージが、秘密鍵やその他の機密データを標的にしている。

研究者によると、これらの悪意のあるパッケージは合わせて1,000以上のダウンロードを記録している。

ターゲットを絞ったキャンペーン

Hardhatは、Nomic Foundationによって管理されている、広く使用されているイーサリアム開発環境です。Ethereumブロックチェーン上でスマートコントラクトや分散型アプリケーション(dApps)を開発、テスト、デプロイするために使用されます。

一般に、ブロックチェーンソフトウェア開発者、フィンテック企業や新興企業、教育機関によって利用されている。

これらのユーザーは、開発者が依存関係、ライブラリ、およびモジュールを管理するのに役立つJavaScriptエコシステムで広く使用されているツールであるnpm(Note Package Manager)からプロジェクトコンポーネントを調達することが多い。

npmでは、3つの悪意のあるアカウントが、typosquattingを使用して正規のパッケージになりすまし、人々を騙してインストールさせる20の情報窃盗パッケージをアップロードしていた。

Socketは16の悪意のあるパッケージの名前を共有した:

  1. nomicsfoundations
  2. nomisfoundation/hardhat-configure
  3. installedpackagepublish
  4. nomisfoundation/hardhat-config
  5. monicfoundation/hardhat-config
  6. nomicsfoundation/sdk-test
  7. nomicsfoundation/hardhat-config
  8. nomicsfoundation/web3-sdk
  9. nomicsfoundation/sdk-test1
  10. nomicfoundations/hardhat-config
  11. 暗号ノード検証ツール
  12. ソラナバリデータ
  13. ノードバリデータ
  14. ハードハット-デプロイ-その他
  15. ハードハット-ガス-オプティマイザ
  16. solidity-comments-extractors

インストールされると、これらのパッケージのコードは、Hardhatの秘密鍵、設定ファイル、ニーモニックを収集し、ハードコードされたAES鍵で暗号化し、攻撃者に流出させようとします。

「これらのパッケージは、hreInit()やhreConfig()などの関数を使用してHardhatの実行環境を悪用し、秘密鍵、ニーモニック、設定ファイルなどの機密情報を収集します

「収集されたデータは攻撃者が管理するエンドポイントに送信され、ハードコードされたキーとイーサリアムのアドレスを活用して効率的に流出させる。

セキュリティリスクと軽減策

秘密鍵とニーモニックはイーサリアムのウォレットにアクセスするために使用されるため、この攻撃の潜在的な影響としてまず挙げられるのは、不正な取引を開始することによる資金の損失です。

さらに、侵害されたシステムの多くは開発者のものであるため、攻撃者は本番システムに不正アクセスし、スマートコントラクトを侵害したり、既存のdAppsの悪意のあるクローンを展開したりして、より影響力のある、より広範な規模の攻撃の基盤を築く可能性があります。

ハードハットの設定ファイルには、開発ネットワークやエンドポイントに関する情報だけでなく、サードパーティ・サービスのAPIキーが含まれている可能性があり、フィッシング攻撃の準備に活用される可能性があります。

ソフトウェア開発者は注意を払い、パッケージの信憑性を検証し、タイポスクワッティングに注意し、インストール前にソースコードを検査すべきである。

一般的な推奨事項として、秘密鍵はハードコードせず、安全な保管庫に保管すべきである。

このようなリスクにさらされるのを最小限に抑えるには、ロックファイルを使用し、 依存関係に特定のバージョンを定義し、現実的に可能な限り少ないものを使用する。