著者:Dickson(@DicksonWuML)
編訳:深潮 TechFlow
深潮の解説:币安のホットウォレットからの盗難は、今日の暗号資産市場で最大の出来事だ。CertiKのエンジニアでSEALのメンバーでもあるDickson氏がオンチェーンの記録を一件ずつ追跡し、攻撃者がTornado Cashから資金を引き出して準備を始め、EIP-7702の委任でバイナンスのイーサリアム・ホットウォレットを乗っ取り、TetherやCircleなどの発行体による凍結と時間を争って資金を移すまでの全過程を復元した。本文中の金額と時刻はすべて、投稿時点(北京時間10月30日午前8時頃)までの著者によるオンチェーン集計である。時刻はUTC(+8時間が北京時間)で、バイナンスの公式確認はまだ得られていない。
バイナンスのホットウォレットは本日、8つのチェーンで合計約62.8億ドルを失った。このうち60.7億ドルは最初の55分で送金され、その後、攻撃者はイーサリアムのウォレットの一つを2時間以上にわたって繰り返しスイープした。
その後、Tether、Circle、Ripple、Paxos、World Liberty、バイナンスが約28.0億ドルを凍結した。約32.7億ドルは依然として自由に移転でき、主にBTCとETHだ。
私はオンチェーンでこの一件を最初から最後まで追跡した。攻撃者がいかに凍結前に資金を移したかも含めて 🧵
62.8億ドルの内訳(UTC 20:24の価格で算出):
- イーサリアム 37.4億ドル
- ビットコイン 18,270.2 BTC、14.7億ドル
- トロン 6.127億USDT + 4,640万TRX、6.275億ドル
- XRP 2.335億XRP、2.965億ドル
- Solana 970,522 SOL、9,610万ドル
- Arbitrum 8,426 ETH + 7,460万ARB、3,180万ドル
- Avalanche 181万AVAX + 841万USDt、2,430万ドル
- Optimism 4,420万OP、480万ドル
イーサリアム上の37.4億ドルは5回に分けて流出した:
- 20:24:23、Binance 14に対してsweep()を1回実行:167,464.25 ETH、16.15億USDT、その他61種のトークン、合計25.3億ドル
- 20:41と20:59、Binance 14を信頼していたバイナンスのスマートウォレットから7.8億 + 4,300万USDC、合計8.226億ドル
- 20:24:47、Binance 16が9件の送金に署名し、攻撃者へ直接送金:28,005.6 ETH、5,570万USDT、2,590万RLUSD、84.5 WBTC、82万UNI、1,199 XAUt、1,880万ENA、30.46万LINK、5,836億PEPE、合計1.742億ドル
- 21:04と21:44、Binance 14を2回追加スイープ:2,070 ETHと2.043億USDT、合計2.096億ドル
- 22:39、最後のスイープで新規ウォレットへ:128.5 ETHと122種の小規模トークン、約50万ドル
資産別では、USDT 18.7億ドル、USDC 8.23億ドル、ETH 4.57億ドル(197,668 ETH)、RLUSD 8,850万ドル、wBETH 7,680万ドル、XAUt 5,050万ドル、UNI 4,960万ドル、ENA 4,470万ドル、PEPE 4,010万ドル、LINK 2,960万ドル、USD1 2,780万ドル、ほか約50種の小規模トークンとなる。
準備は前日から始まっていた。10月28日UTC 07:39、攻撃者のメインウォレット0x7c8601d4645b93cea45f71e118a729332e6b5ca0が初めてTornado Cashから0.1 ETHを引き出し、その後さらに2回引き出した。続いて2つ目のウォレットがTornadoから1 ETHを引き出し、10月29日18:20にメインウォレットへ送った。
10月29日02:28、彼らはスイーパー(sweeper)コントラクトをデプロイした。13:51から16:47にかけて、彼らは自分のウォレットでリハーサルを行った。EIP-7702の委任を使い、テスト用のUSDTとUSDCをスイープしてから引き出したのだ。15:59、彼らは汎用呼び出し関数を備えたv2を立ち上げた。後に8.23億USDCを移したのは、まさにこの関数だった。
UTC 20:04:52、最初のステップは失敗した。バイナンスのXRPウォレットが攻撃者へ42,750,000.1 RLUSDを送ったが、攻撃者のXRPアカウントがまだ存在せず、送金は返戻された。
8秒後、185,017,485.5 XRPの送金が成功し、これによって同アカウントが作成された。20:09までに、さらに4つのバイナンスXRPウォレットも空にされた。
その後は連鎖的に展開した:
20:10 Solana、単一のトランザクションで965,455.1 SOLを移動
20:18 Optimism、4,420万OP
20:20 ビットコイン、11件のトランザクションで18,270.2 BTCを移動し、同一ブロック内で1,000 BTCずつに分割
20:20から20:22 トロン、6.127億USDT + 4,640万TRX
20:30から20:35 ArbitrumとAvalanche
イーサリアムが攻撃手法を明らかにした。20:20:59、攻撃者は50件のEIP-7702認可を伴うトランザクションを送信した。認可はすべてBinance 14の秘密鍵で署名され、nonceは18,914,775から18,914,824に対応する。
Binance 14自身は20:17:47に18,914,775を使用したばかりで、これらの認可が使用の数分前に署名されたことを示している。
このうちnonce 18,914,809の認可が一致した。Binance 14が同一ブロック内の自身のトランザクションで使ったのは18,914,808だった。この瞬間から、Binance 14は攻撃者のコードを実行していた。
20:24:23、1回のsweep()で167,464 ETHと16.15億USDTが移された。24秒後、Binance 16が9件の送金に署名し、攻撃者へ直接送った。20:41と20:59、攻撃者はBinance 14を利用し、これを信頼していたバイナンスのスマートウォレットから8.23億USDCを移した。
次は凍結との競争だ。攻撃者はUSDTを迅速に分割した:
- 20:30、5億USDTを0x9749…c762へ。20:59までにうち3.25億がRFQマーケットメイカー経由でETHに交換され、残る1.75億はさらに送金された
- 20:33、2億USDTを0x0ddf…697eへ。約1,000万がDEXで売却され、1.9億が0x8d53…639aへ送られ、同アドレスは6,000万をAaveに預けてETHを借り入れた
Tetherの最初のブラックリストは21:01:35に発効した。0x5227にはなお9.71億USDTが残っており、0x9749はすでに空になっていた。Circleは21:04:59にその8.23億USDCを凍結した。
一部の資金は最後の数秒で逃れた:
- 21:01:59、0x8d53が1.3億USDTを0x77ed…c3ebへ送金。48秒後の21:02:47、Tetherが0x8d53を凍結
- 21:04から21:06、0x77edが約5,000万USDTをDEXで売却し、8,000万を0x7aa4…bfd1へ送金
- 21:08から21:11、0x7aa4がさらに約5,000万を売却し、最後の3,000万を送金。Tetherが21:12:35に0x7aa4を凍結した時点で、同アドレスはすでに空だった
- 21:16:11、0xccbe…a263がこの3,000万を送金。36秒後にTetherが0xccbeを凍結し、21:18:59に0xb171…c8c3でこの3,000万を捕捉した
- 0x9749から送られた1.75億は0xaa24…54a0に留まり、Tetherが21:14:59に凍結した
合計すると、イーサリアム上の18.75億USDTのうち約4.35億がブラックリストに追いつかれる前に売却された。13.8億は凍結済みで、6,000万はAaveの担保として閉じ込められている。
他の発行体の動きを時系列で示す:
- 20:57:47 World Libertyが0x5227内の4,850万WLFIをブラックリストに登録
- 21:07:55 TetherがAvalanche上の841万USDtを凍結。攻撃者は21:40:47に移そうとし、トランザクションはリバート
- 21:09から21:21 Tetherがトロン上の3つのウォレットで3.787億USDTを凍結。それ以前に2.34億がSunSwap経由でTRXに交換されていた
- 21:11:23 Tetherが12,574 XAUt(約5,000万ドル)を凍結
- 22:00:59 RippleがRLUSDを凍結。攻撃者は21:33に0xe702…958dへ移し、4,800万をETHに売却していた。最後の売り注文と凍結は同一ブロックで発生。4,050万を捕捉
- 22:10:35 World Libertyが2,780万USD1を凍結
- 22:30:47 Paxosが1,907 PAXGを凍結
- 22:48:35 バイナンスが29,934 wBETH(約7,500万ドル)をブラックリストに登録。攻撃者は21:52に0x7f9d…15e3へ移していた
First Digitalの345万FDUSDは現在も移転可能だ。
Binance 14は攻撃者のコントラクトへの委任状態が続き、そこから一進一退の攻防に発展した:
- 21:04と21:44、攻撃者が再びスイープ。最初は1,700 ETH、続いて370 ETHと2.004億USDT。このUSDTは0x5227に入り、同アドレスはすでにTetherに凍結されていた
- 22:06:23、TetherがBinance 14自体をブラックリストに登録。バイナンス自身が同アドレスから出すUSDT送金は22:15と23:01に失敗
- 22:39、攻撃者が再びスイープし、今回は新規ウォレットへ128.5 ETHと122種の小規模トークンを移した
- 22:55から23:07、バイナンス自身がBinance 14を空にした。Binance 8への46件のトークン送金で、約12秒に1件
- 23:36から23:38、攻撃者がさらにsweep()を4回呼び出したが、4回とも空振りに終わった
イーサリアム以外では:
- Arbitrum、21:35から21:38:8,426 ETH全額と7,460万ARBを新規の7702ウォレット0x3e2b…32d5へ移動。同ウォレットは21:41にARBの取引を認可。23:50時点でも元の場所にある
- Avalanche、21:45:34:1,813,999 AVAXを0x8035…c397へ移動。その後200,005 AVAXが0xc39e…9824から送金され、23:27:35に同一アドレスがCircleのCCTPクロスチェーンブリッジ経由でイーサリアム上で1,563,812.78 USDCを受け取った。4分後の23:31:59、Circleがこれをブラックリストに登録
- ビットコイン、XRP、Solana、Optimism上の資金はまだ動いていない。BTCは19のウォレットに分散し、うち17がそれぞれちょうど1,000 BTCを保有
UTC約23:50時点の状況:
凍結済み、約28.0億ドル
- イーサリアム上の13.8億USDT、トロン上の3.787億、Avalanche上の841万(Tether)
- 8.246億USDC(Circle)
- 4,050万RLUSD(Ripple)、2,780万USD1(World Liberty)、12,574 XAUt(Tether)、29,934 wBETH(バイナンス)、1,907 PAXG(Paxos)、4,850万WLFI
未凍結、約32.7億ドル
- 18,270 BTC、14.2億ドル
- 9つのウォレットに分散した458,770 ETH、10.3億ドル
- 2.335億XRP、2.89億ドル
- 6.846億TRX、2.43億ドル
- イーサリアム上のその他トークン約1.36億ドル
- 97.05万SOL、9,300万ドル、加えてARB、AVAX、OPで約4,800万ドル
別に6,000万USDTがAaveの担保として閉じ込められている。
注記:BTC、XRP、トロン上の送金は、時間とトランザクションの指紋によって関連付けられた。同一時間帯、まったく新しい受取アドレス、そしてバイナンス自身の出金とは異なる手数料とトランザクション形式が根拠である。盗難額はUTC 20:24の価格、現在の保有額はUTC約23:50の価格で算出している。
各トランザクションと凍結のオンチェーン証拠は、下の投稿に添付している。何か見落としがあれば、ぜひ教えてほしい!



