ホスキソン氏、BinanceのスイーパーコードをEIP-7702論争拡大の中で指摘
カルダノ創設者のチャールズ・ホスキソン氏は、「極めて危険なコード」について警告し、イーサリアムのEIP-7702委任機能が攻撃者によるBinanceホットウォレットの急速な空き出しを助長したとする分析を共有した。
概要
ホスキソン氏は、このスイーパーがBinanceのウォレット基盤に特化して構築されたと主張する技術的解説を共有した。
サイバーサトシ氏は、50件の署名済み承認により攻撃者がホットウォレットの変動するトランザクションナンスを標的にできたと主張した。
分析では、委任を許可するには秘密鍵の制御または無制限の署名アクセスが必要だったと認めている。
イーサリアム仕様は、委任されたコードがアカウントへの無制限アクセスを受けるため、厳重なセキュリティチェックが不可欠であると警告している。
X(旧Twitter)投稿でホスキソン氏は、「注意:非常に危険なコードが存在します」と記し、サイバーサトシ氏が公開した解説を添えた。
彼が共有した投稿は、Binance向けEIP-7702スイーパーとされる再構成バイトコードを記述しており、このコントラクトが取引所の運用に最適化されていたと主張している。ホスキソン氏の付随メッセージは、特定のプロトコル欠陥を指摘したり、分析のどの部分を支持するかを説明したりしなかった。
サイバーサトシ氏の投稿では、2つのセキュリティ課題が並列して提示されている。1つは、攻撃者がウォレットを代理で操作する権限をどのように取得したかであり、もう1つは、イーサリアムの委任機能がその権限取得後に攻撃者に何を可能にしたかである。
関連記事:カルダノ財団、トークン化株式支援のためスイス団体に参加
Binanceスイーパーはウォレット保護策を回避したとされる
サイバーサトシ氏の解説によると、再構成されたコントラクトは、ネイティブ残高をスイープした後、ウォレットに正確に1ETHを残した。投稿者は、これによりBinanceの自動ホットウォレットキューがガス不足で失敗しアラートが発生するのを防いだと主張した。
分析では、低レベルコールで残高を確認するトークン処理ループが記述されており、個々の操作が失敗しても継続するよう設計されていた。サイバーサトシ氏は、これによりブラックリスト入りや応答不能なトークンの送金ができない場合でも、スイーパーが資産処理を継続できたと述べた。
カスタム実行関数により、侵害されたウォレットが外部バンク(USDC約8.23億ドル保有)を呼び出せたとされる。投稿者の説明では、このバンクは「Binance 14」を管理者と認識しており、当該ウォレット経由の呼び出しは直近残高を超えた資金にアクセスできたという。
サイバーサトシ氏は、このコントラクトをBinanceのアーキテクチャ専用に設計されたものと評価した。内部アラートや財務システムへの影響に関する主張は、投稿者の運用メカニズム解釈にとどまる。
EIP-7702では委任に署名済み許諾が必須
イーサリアムのEIP-7702仕様は、外部所有アカウント(EOA)が他のアドレスにデプロイされたコードへ実行を委任できるトランザクション形式を定義しています。
EOAは通常、その秘密鍵による署名で動作します。委任により、自身のアカウントコンテキスト内でスマートコントラクトロジックを実行でき、複数操作を1トランザクションにまとめる「バッチ処理」や、他アカウントによる手数料支払いなどが可能になります。
各承認は、チェーンID、委任先アドレス、ノンスに加え暗号署名を含みます。プロトコルはこの署名から承認者アカウントを復元し、委任適用前にノンスを検証します。
CyberSatoshiはこの要件を認めており、「推定攻撃」にはBinance 14のセキュリティ基盤への生の秘密鍵または無制限署名アクセスが必要だったと述べました。
仕様書は、Binanceの署名資格情報がいかにして取得されたかについては一切言及していません。ただし署名要件により、有効な承認なしに任意の被害者アカウントへ委任を単純に割り当てることは不可能であることが明記されています。
イーサリアムのノンス規則が、推定バッチ攻撃を説明します
CyberSatoshiによると、攻撃者は連続するノンスをカバーする50件の事前署名済み承認を送信し、Binance 14のトランザクション数変化タイミングを狙ったとのことです。
仕様では承認を順次処理します。チェックに失敗した場合でも次のエントリへ処理を継続します。有効なエントリは委任を設定し、承認者アカウントのノンスをインクリメントします。
そのため同一アカウントに対する連続承認は、ノンスの進行に伴い順次有効化されます。複数の有効エントリが存在する場合、最後に有効となった委任が使用されるコードアドレスを決定します。
これは「1件のみ有効」という単純なバッチより精緻な仕組みです。規則上、アカウントの初期ノンスと提供された署名次第で、複数の連続エントリが成功することが許容されます。
CyberSatoshiは、委任により資産移転が単一操作に圧縮され、対応時間が大幅に短縮されたと主張しました。また「取引所の防御策が3件目のトランザクションで盗難を阻止できたはず」という別主張は、投稿者の仮想的評価に過ぎません。
イーサリアムの設計文書は委任リスクを明記しています
EIP作成者は、承認済みコードがアカウントへ無制限アクセス可能であることを明示的に警告し、ウォレットによる厳密な監査を要すると述べています。
セキュリティ項では、委任契約が実装すべき保護機能(リプレイ防止、トランザクション金額・ガス・宛先・コールデータを含む署名など)を列挙。不適切な実装は、攻撃者に署名アカウントのほぼ完全な支配権を与える危険性があります。
委任はそれを設定したトランザクション後も持続します。さらに仕様では、実行失敗時でも既に処理済みの委任指標はロールバックされないとしています。
委任解除には、ゼロアドレスを指す有効な承認が許可されており、これによりアカウントの委任コードがクリアされます。
詳しくは:PolymarketがChainlinkを活用した15分間金・銀市場を開始


