ブログ一覧に戻る
ベストプラクティス2026年7月9日4分で読めます

【サプライチェーン攻撃】@injectivelabs/sdk-ts の不正バージョンがウォレット秘密鍵をひそかに外部送信

Compromised @injectivelabs/sdk-ts exfiltrates wallet keys through fake telemetry

ベストプラクティス

この記事のポイント

【なぜ重要か】 週間50,000ダウンロードを誇るnpmパッケージ @injectivelabs/sdk-ts の不正バージョン(1.20.21)が、ウォレットのニーモニックフレーズや秘密鍵を導出する際にそれらを攻撃者のサーバーへ送信するコードを含んでいたことが判明した。直接このパッケージを使用していなくても、同スコープ内の他17パッケージのいずれかに依存しているプロジェクトも推移的依存として同じ...

【なぜ重要か】 週間50,000ダウンロードを誇るnpmパッケージ @injectivelabs/sdk-ts の不正バージョン(1.20.21)が、ウォレットのニーモニックフレーズや秘密鍵を導出する際にそれらを攻撃者のサーバーへ送信するコードを含んでいたことが判明した。直接このパッケージを使用していなくても、同スコープ内の他17パッケージのいずれかに依存しているプロジェクトも推移的依存として同じ悪意あるコードを取り込んでしまう。暗号資産ウォレットを扱うアプリケーションにとって、秘密鍵の完全な漏洩につながるきわめて深刻なサプライチェーン攻撃である。

【ポイント】

  • 攻撃の仕組み:悪意あるコードは PrivateKey.fromMnemonic および PrivateKey.fromHex の2つの標準エントリーポイントにフックとして挿入されており、アプリケーションが通常の使用中にキーを導出するたびに秘密情報をキャプチャする。インストール時には実行されないため、postinstallを監視するインストール時スキャナやサンドボックスでは検出できない。
  • 偽装の巧妙さ:送信先ホスト名は文字コードの配列として難読化されており、文字列検索では発見できない。デコードされたホスト testnet.archival.chain.grpc-web.injective.network はInjectiveの正規gRPCインフラのサブドメインに見せかけており、盗み出されたデータはリクエストボディではなく X-Request-Id ヘッダーに格納されるため、通常のgRPC-web通信に偽装される。コメントには「匿名の使用状況メトリクス」と記載されているが、匿名化は一切されていない。
  • 増幅手口:攻撃者は @injectivelabs スコープ内の他17パッケージも同じバージョン番号1.20.21で再公開し、それぞれが悪意ある sdk-ts@1.20.21 に固定依存するよう変更した。自身のマニフェストに sdk-ts を直接記載していないプロジェクトでも、これらのウォレット関連パッケージのいずれかに依存していれば間接的に攻撃コードを取り込んでしまう。
  • 侵害の経緯と規模:リポジトリに過去から貢献しているGitHubアカウントが不正利用されたアカウント乗っ取りによる攻撃と見られる。2026年6月8日22:59(GMT+2)に公開され、23:18にメンテナーが差し戻し、23:48にクリーンな修正版を公開。公開から削除までの約49分間で310回ダウンロードされた。なお、悪意あるバージョンはnpm上で非推奨マークは付いているものの削除はされておらず、依然としてダウンロード可能な状態である。
  • Aikidoによる検出:Aikidoユーザーはセントラルフィードで深刻度100/100のマルウェアイシューとして検出される。無料プランでもマルウェア検出機能が利用可能。また、チーム全体の保護にはDevice Protectionが、インストール前の遮断にはオープンソースのAikido Safe Chainが利用できる。

【まとめ】 @injectivelabs スコープのいずれかのパッケージをバージョン1.20.21で使用している、または推移的依存として解決される可能性があるプロジェクトは、直ちにクリーンな1.20.23以降へアップグレードすること。該当期間中にこれらのパッケージを通じて秘密鍵やニーモニックフレーズが処理された場合は、漏洩済みとみなし、速やかに資産を移動した上で鍵とシードフレーズを再生成すること。

原文を読む

Aikido Security Blog

英語で詳細な技術情報を確認

原文を読む

コメント・質問

この記事についてのコメントや質問を投稿できます

コメントを投稿するにはログインが必要です

ログインする

読み込み中...