ホスキンソンがバイナンススイーパーコードに警鐘、EIP-7702の議論が高まる

2時間前
6分読む
7 ビュー

カルダノ創設者の警告

カルダノの創設者チャールズ・ホスキンソンは、「非常に危険なコード」について警告し、イーサリアムのEIP-7702の委任機能が攻撃者にバイナンスのホットウォレットを迅速に空にする手助けをしたとする分析を共有しました。ホスキンソンはX(旧Twitter)で、「注意してください、非常に危険なコードが存在します」と書き、CyberSatoshiによって公開された分析を紹介しました。

バイナンスのEIP-7702スイーパー

彼が共有した投稿では、バイナンスのEIP-7702スイーパーの再構築されたバイトコードが説明されており、その契約が取引所の運営に合わせて調整されていると主張されています。ホスキンソンのメッセージには、特定のプロトコルの欠陥を指摘したり、彼が支持する分析の詳細を説明したりすることはありませんでした。

CyberSatoshiのアカウントは、2つのセキュリティに関する質問を提示しています。一つは、攻撃者がウォレットの操作を行う許可をどのように取得したかに関するものです。もう一つは、イーサリアムの委任機能が攻撃者にその許可を取得した後に何をさせたかに関するものです。

再構築された契約の影響

CyberSatoshiの分析によると、再構築された契約は、ネイティブバランスをスイープする際にウォレットに正確に1 ETHを残しました。このことは、バイナンスの自動ホットウォレットキューがガス不足で失敗し、警報を上げるのを防ぐと主張されています。分析では、低レベルの呼び出しを通じてバランスをチェックし、個々の操作が失敗した場合でも処理を続けるトークン処理ループが説明されています。

CyberSatoshiは、これによりスイーパーが、ブラックリストに載っているトークンや応答しないトークンが転送できなくても資産の処理を続けることができたと述べています。カスタム実行関数は、侵害されたウォレットが8億2300万ドルのUSDCを保持する外部ボールトを呼び出すことを可能にしたとされています。

委任機能の詳細

イーサリアムのEIP-7702仕様は、外部所有アカウントが別のアドレスにデプロイされたコードに実行を委任できるトランザクションタイプを説明しています。外部所有アカウントは通常、プライベートキーからの署名を通じて操作します。委任により、自分のアカウントコンテキストでスマートコントラクトロジックを実行できるようになり、複数の操作を1つのトランザクションにバッチ処理したり、別のアカウントがトランザクション手数料を支払ったりすることが可能になります。

CyberSatoshiはこの要件を認め、攻撃者がバイナンス14のセキュリティインフラに対して生のプライベートキーまたは制限のない署名アクセスを必要としたと述べました。

セキュリティの懸念

仕様は、バイナンスの署名資格がどのように取得されたかを確立していません。その署名要件は、委任が有効な承認なしに任意の被害者アカウントに単に割り当てられることはできないことを示しています。CyberSatoshiは、攻撃者が連続するノンスをカバーする50の事前署名された承認を提出し、バイナンス14がトランザクションカウントを変更している間に捕まえたと主張しました。

仕様は承認を順番に処理します。承認がチェックに失敗すると、処理は次のエントリに進みます。有効なエントリは委任を設定し、承認アカウントのノンスをインクリメントします。したがって、同じアカウントに対する連続する承認は、そのノンスが進むにつれて有効になる可能性があります。

結論

CyberSatoshiは、委任が資産の移転を単一の操作に圧縮し、介入のための時間を短縮したと主張しました。取引所の防御がそうでなければ、3回のトランザクション後に盗難を止めていたという別の主張は、投稿者の反事実的な評価です。EIPの著者は、承認されたコードがアカウントに無制限のアクセスを持ち、ウォレットによって厳密に監査される必要があることを明示的に警告しています。

適切に実装されていない委任は、攻撃者に署名アカウントに対するほぼ完全な制御を残す可能性があります。委任は、それをインストールするトランザクションを超えて持続します。仕様はさらに、実行の失敗がすでに処理された委任インジケーターをロールバックしないことを述べています。委任を削除するために、プロトコルはゼロアドレスを指す有効な承認を許可し、アカウントの委任コードをクリアします。