セキュリティ企業のSocketは、Injective(分散型金融に特化したレイヤー1ブロックチェーン)向けのnpmパッケージ(Node.jsなどのJavaScript環境で利用されるソフトウェアのまとまり)に悪意のあるコード(バックドア)が仕込まれ、ウォレットの秘密鍵やシードフレーズ(ウォレットを復元するための言葉の組み合わせ)を盗み出す試みがあったことを明らかにしました。ハッカーは開発者のアカウントを乗っ取って悪意のあるアップデートをリリースし、関連する複数のパッケージに影響が及んだとされています。このインシデントは、Injectiveのウォレットワークフローを扱う開発者やアプリケーションにとって、システムの安全性を揺るがす極めて重要なセキュリティ上の脅威であると指摘されています。
バックドアの仕組みと影響範囲
セキュリティ企業Socketの報告によると、ハッカーはGitHubのメンテナー(開発・管理者)アカウントを乗っ取り、Injectiveブロックチェーン向けの主要なSDK(ソフトウェア開発キット)である「@injectivelabs/sdk-ts」の特定のバージョンに悪意のあるコードを混入させたとされています。
このコードは、ウォレットのシードフレーズや秘密鍵を生成する関数を傍受し、取得した機密情報を通常の利用状況分析データに見せかけて、ハッカーが用意した偽のサーバーに送信する仕組みになっていたと報じられています。
さらに、自動公開の仕組みを通じて、この悪意のあるコードは関連する17以上のパッケージに瞬時に拡散し、300回以上ダウンロードされたとされています。
迅速な対応と開発者への警告
問題の発覚後、悪意のあるバージョンは1時間未満で差し戻され、安全なクリーンバージョンが速やかにリリースされたとされています。Injectiveの最高経営責任者(CEO)であるEric Chen氏は、問題はすでに修正されており、ネットワーク上の資金は危険にさらされていないと報告していると伝えられています。
しかし、Socketの研究者らは、悪意のあるバージョンが一時的にでもダウンロードまたはキャッシュされた環境や、そのバージョンを通過したすべての秘密鍵は侵害されたとみなすべきであると警告しています。そのため、Injectiveのウォレットワークフローを扱う開発者やアプリケーションにおいて、該当するパッケージの使用履歴を確認し、必要に応じて秘密鍵を移行するなどの対応が重要であるとされています。
ポイント
- ハッカーがInjectiveのnpmパッケージにバックドアを仕掛け、ウォレットの秘密鍵やシードフレーズを盗み出そうとしたインシデントが発生しました。
- 攻撃は開発者アカウントの乗っ取りを通じて行われ、自動公開により複数の関連パッケージに影響が及んだとされています。
- 問題のコードは迅速に修正され、クリーンなバージョンがリリースされましたが、一時的に300回以上ダウンロードされたと報じられています。
- 開発環境やアプリケーションにおける依存パッケージの安全性を確認し、サプライチェーン攻撃(信頼されたソフトウェアを介した攻撃)への対策を講じる上で極めて重要な出来事として注目されます。