币安58億ドル惊天窃盗事件の全経緯総復習
- 核心的見解:バイナンスのホットウォレットから約58億ドルが盗まれた事件は、スマートコントラクトの脆弱性ではなく、基盤となるHSM/MPC署名インフラが侵害されたものであり、ハッカーは「オンデマンド署名」能力を獲得し、EIP-7702メカニズムを利用して単一ブロックで超高速の一掃を実現した。
- 重要要素:
- 攻撃者は平文の秘密鍵を取得したのではなく、ポリシーエンジンまたは署名インターフェースを突破し、署名システムがオンデマンドで正当な署名を生成できるようにした。
- 確たる証拠その1:Binance 14に対して50個の連続Nonceを一括提出するEIP-7702署名を行った。これは「盲撃ち」式の操作であり、秘密鍵漏洩のシナリオではこのような必要はない。
- 確たる証拠その2:24秒以内に複数のチェーン、異なる署名アルゴリズムのホットウォレットが同時に陥落した。トップレベルの統一スケジューリングエンジンを突破しなければ実現不可能である。
- 攻撃前に37時間の潜伏があった:Tornado CashからGasを引き出し、700万ドルのステーブルコインでEIP-7702委任の一掃「実弾リハーサル」を行った。
- 総攻撃の順序:BTCが先に動き(18,270枚)、イーサリアムで50連続Nonceが命中した後、単一取引で16.7万ETHと16億USDTなど62種類のトークンを搾取した。
- EIP-7702委任は持続的に有効であり、Binance 34はBinance 14が管理者であるため連鎖的に空にされ、署名機が切断されるまで資金は継続的にスイープされた。
原创 | Odaily(@OdailyChina)
作者|Azuma(@azuma_eth)

本日未明、Binance(バイナンス)のホットウォレットが暗号資産の歴史において最大規模となるセキュリティ事故に見舞われた。わずか1時間足らずのうちに、Ethereum、Bitcoin、Tron、さらにはArbitrum、Avalanche、Optimism、Baseなど複数のネットワークにまたがるBinanceのホットウォレットが同時に陥落し、流出資金の累計はすでに約58億ドル(非公式ベース)に達している。
盗まれた資金の流れ、業界による追跡・阻止(特にTetherとCircle)、および間接的に関与したオンチェーンプロトコル(Aaveなど)については、市場ですでに大量のリアルタイム追跡が行われている。本稿では煩雑な資金の棚卸しを切り離し、最も核心的な疑問に直接焦点を当てる。鉄壁とされたBinanceのホットウォレットは、いったいどのように破られたのか。
セキュリティ機関Blockaidおよび複数のオンチェーンセキュリティ研究者によるリバースエンジニアリングを総合すると、これは単なるオンチェーンスマートコントラクトの脆弱性ではなく、取引所の基盤となる署名インフラ(HSM/MPC署名機)に対する精密な浸透と、イーサリアムのEIP-7702メカニズムを組み合わせて「単一ブロックでの超高速スイープ」を実現した教科書級の攻撃である。
核心的原因:基盤署名機の陥落、ハッカーが「オンデマンド署名」能力を獲得
事件発生後、中核となる盗難ウォレットBinance 14がイーサリアムのPectraアップグレードで導入されたEIP-7702メカニズムを通じて瞬時に空にされたことから、コミュニティでは一時「EIP-7702に脆弱性が存在する」との誤解が生じた。
しかし暗号学の常識から見れば、EIP-7702が一般ウォレット(EOA)にスマートコントラクトコードを一時的に搭載させることを許可する前提として、必ずそのウォレット自身の秘密鍵による適法な署名が完了している必要がある。したがって、EIP-7702はハッカーが引き出しを加速するために用いた「犯行ツール」にすぎず、脆弱性そのものではない。
「誰が署名を完了したのか」という核心的な手がかりを辿ると、事故の原因は大きく二つの可能性に集約される。生の秘密鍵が直接漏洩したか、あるいは署名システム(インフラ)が操作されたかである。
現在のオンチェーン上の特徴を踏まえると、後者の署名システムが操作されたことがほぼ唯一合理的な説明となる。その理由は、Binanceのような規模の取引所では、ホットウォレットが単一点の平文「生の秘密鍵」を使用することは絶対にあり得ず、その基盤標準アーキテクチャは必然的にHSM(ハードウェアセキュリティモジュール)+MPC(マルチパーティ計算)+ポリシーエンジン(Policy Engine)となるからだ。秘密鍵の断片はハードウェアのブラックボックスに閉じ込められ、誰も(内部の運用担当者を含め)完全な平文を入手できず、フロントエンドの業務システムが「ポリシーエンジン」を通じてリスク管理ルールを検証した後にのみ、署名機に署名の生成を要求できる。
オンチェーン上には「署名システムが操作された」ことを直接指し示す二つの鉄証がある。
- 鉄証一(50連発Nonce盲撃ち):攻撃者はBinance 14を破った際、連続するNonceをカバーする50個の有効なEIP-7702署名を一度に提出した。もし攻撃者が平文の秘密鍵を直接盗んでいたなら、ローカルで取引を精密に制御でき、このような「運任せ」の方法でNonceを推測する必要は全くなかった。これは攻撃者が秘密鍵そのものを入手したのではなく、ポリシーエンジンまたは署名インターフェースを破り、Binanceの署名システムに「オンデマンドで適法な署名を吐き出させる(Sign on demand)」能力を獲得したことを示している。
- 鉄証二(マルチチェーンの異種ウォレットが同期して陥落):Binance 14が空にされてわずか24秒後、独立したホットウォレットBinance 16が自身の鍵で2.8万枚のETHに署名した。同じ分内に、ビットコイン(18,270.2 BTC)やトロン(6.12億USDT)など異なる署名アルゴリズムを持つホットウォレットが同期して送金を開始した。最上位の統一スケジューリング/ポリシーエンジンを突破して初めて、複数チェーンのHSM/MPC署名機を同時に指揮して一斉に出金させることができる。
オンチェーンタイムラインの復元:37時間に及ぶ潜伏と700万ドルの「実弾リハーサル」
オンチェーンデータによると、攻撃者は署名経路を掌握した後も相手に気づかせることなく、実行前に1日半に及ぶ精密な展開と実弾演習を行っていた。
- 10月28日07:39(UTC)、弾薬の準備:攻撃者のメインアドレス(0x7c86...5ca0)がTornado Cashの0.1 ETHミキサープールから3回に分けて初期Gas資金を引き出した(初回着金0.0983 ETH)。この時点で「総攻撃」までまだ丸37時間あった。
- 10月29日02:28 – 14:19(UTC)、事前リハーサル:攻撃者はまずイーサリアム上に初代スイープコントラクトSweeper A(0x19bee2...)をデプロイした。その後13:51に2つのテストウォレットを作成し、さらに700万ドルのステーブルコインを投入してEIP-7702委任演習を行い、30分後に受取アドレス(0x24a4ae...)へワンクリックでスイープすることに成功した。
- 10月29日15:59 – 18:20(UTC)、最終版の確定:攻撃者は最終版の悪意あるスイープコントラクトSweeper B(0x63e8...6fae)をデプロイし、続けて3つ目のテストウォレットを作成して1.01 ETHを注入、16:30に2.54 USDTのスイープテストを完了した。18:20、すべてのテスト資金が資金プールに回収され、戦前の演習がすべて完了した。

致命的な一撃:50連発Nonceの「盲撃ち」とEIP-7702による一括搬出
北京時間本日未明04:19(20:19 UTC)、ハッカーが正式に総攻撃の号令を発した。
- 20:19:57(UTC):トロン(Tron)のハッカー受取アドレスの作成が完了。
- 20:20:06(UTC):ビットコインのホットウォレット(bc1qm34...)がいち早く異変を示し、18270.2枚のBTCが単一取引で送金された。
- 20:20:59(UTC):イーサリアムメインネットは、この攻撃全体の中で最も核心的な技術操作、すなわち50連発Nonceの盲撃ちを迎えた。
なぜハッカーはイーサリアムメインネットでEIP-7702を使ったのか。
Binance 14のような主力ホットウォレットには、数十種類のERC-20トークンが内部に保管されている。もしハッカーがビットコインの場合のように一件ずつ通常の送金を发起していたら、署名システムに数十回の署名を要求する必要があるだけでなく、最初の大口異変から数秒以内に取引所の異常流向モニタリングと自動サーキットブレーカー機構を発動させてしまう。
一方、EIP-7702を通じてBinance 14をその場で悪意あるコントラクトSweeper B(0x63e8...6fae)にアップグレードすれば、ハッカーはコントラクトに組み込まれた関数(ハッカーアドレス0x7c86...5ca0のみが呼び出し可能とハードコードされている)を一度呼び出すだけで、単一取引・同一ブロック内で全トークンとETHをすべてパッケージして吸い上げ(事後のGas用に1枚のETHのみ残す)、リスク管理システムの反応時間ウィンドウを完全に消し去ることができる。
なぜ50個の連続署名を詰め込む必要があったのか。
EIP-7702の認可には極めて厳格な制限がある。認可署名に含まれるNonceは、取引がオンチェーンに乗る瞬間のそのウォレットのリアルタイムNonceと完全に一致していなければならない。
ハッカーはおそらくバックエンドの署名システムインターフェースを操作しただけであり、この時点のBinance 14は依然として世界中のユーザーの正常な出金を高頻度で処理しており、Nonceは毎秒変動していた。ハッカーが署名機から署名を取得し、それをブロードキャストしてオンチェーンに乗せてパッケージされるまでには数秒のネットワークとキューの遅延があり、オンチェーンに乗る瞬間にNonceがどの数字で止まるかを予知することは全く不可能であった。
この盲点を克服するため、ハッカーは突破した署名システムを利用し、当時のNonce区間に対して署名機に50個の連続して増加するEIP-7702認可署名(Nonceは18,914,775から18,914,824まで)を一度に生成させ、それらをすべて同一のType-4取引に詰め込んでオンチェーンに発射した。
イーサリアムの基盤は実行時に49個の無効な署名を自動的に破棄し、リアルタイムウィンドウに噛み合ったただ1つのNonceだけが正確に命中して有効となった。
圧倒的な連鎖スイープと権限の貫通
- 20:22:45 (UTC):トロンのホットウォレットが単一取引で6.127億枚のUSDTを送金。
- 20:24:23(UTC):ハッカーがBinance 14のsweep関数をトリガーし、単一取引で167464.25枚のETH、16.15億枚のUSDT、および他62種のトークンを瞬時に吸い上げ、ハッカーの受取アドレス0x5227…2f8c(EtherscanでExploiter 2と标记)に送金した。
- 20:24:47(UTC):Binance 14が盗まれてわずか24秒後、Binanceのもう一つの独立したホットウォレットBinance 16がEIP-7702を使用せず、自身の秘密鍵で直接通常の送金に署名し、28005.6枚のETHを同じハッカーの受取アドレス(0x5227…2f8c)に送金した。15分後(20:39 UTC)、ハッカーはこれら2つのウォレットから流出した合計195,470枚のETHをパッケージして持ち去った。
- 20:32 – 20:33(UTC):Arbitrum上の3つのホットウォレット(初回3478.4 ETH)とAvalanche上の4つのホットウォレット(初回432846 AVAX)が相次いで洗劫された。
- 20:41(UTC):7.8億枚のUSDCを保有する別のスマートコントラクトウォレットBinance 34が陥落(その後20:59にさらに4300万USDCが流出)。Binance 14がちょうどBinance 34の管理者(Owner)であったため、ハッカーはEIP-7702を通じてBinance 14を寄生制御した後、管理者権限でそのまま関連金庫を吸い上げた。
さらに致命的なのは、EIP-7702の委任が一度有効になると永続的に存在することだ。Binanceが署名機を完全に遮断し、ゼロアドレス認可を再送して上書きするまで、その後Binance 14に入金されたあらゆる資金は引き続き吸い上げられる(21:04 UTCまでなお散発的な残高が継続的にスイープされていた)。
現在、このセキュリティ事件の具体的な侵入経路、およびオンチェーン資金のその後の追跡・凍結の進展はなお進行中であり、Odailyは引き続き注目し、最新の報道をいち早くお届けする。


