2026年10月29日、攻撃者は31分間でBinanceから約61億5,000万ドルを流出させた。これは暗号資産の歴史上、いや、インターネットの歴史上でも最大級の窃盗事件の一つだった。
Binanceは当初、損失額を63億ドルと発表したが、ブロックチェーン分析会社BitOKが取引を一件ずつ追跡した結果、9つのブロックチェーンにわたる損失額は61億5,000万ドルと判明した。
攻撃者はBinanceの秘密鍵を盗んだわけではない。代わりに、Binance自身のシステムに窃盗を承認させた。このガイドでは、事件の経過を順にたどりながら、各技術用語も解説する。時刻はすべてUTC。
基本:取引所の資金移動の仕組み
ホットウォレットとは、出金をすばやく処理できるようオンラインに接続された、取引所のウォレットのことだ。
署名。すべての送金は、ウォレットの秘密鍵(秘密の番号)で承認されなければならない。取引所は自動システムを使い、1日に何千件もの支払いに署名している。
ノンスはEthereumウォレットのトランザクションカウンターだ。取引量の多いウォレットでは、ノンスは絶えず増加する。
凍結可能なコイン。Tether(USDT)やCircle(USDC)などのステーブルコイン発行元は、アドレスを凍結できる。BTC、ETH、TRXなどのネイティブコインは、誰にも凍結できない。
10月28日:ハッキング前の準備
ブロックチェーンのトランザクションにはすべて、少額の手数料がかかる。資金源をたどられずにウォレットへ資金を用意するため、攻撃者はTornado Cashを使った。これは多くのユーザーのコインをまとめ、出金と入金を結びつけられないようにする「ミキサー」だ。
Tornado Cashからの6回の出金で、実行役のウォレットと2つの協力者のウォレットに資金が供給された。
10月29日、UTC 02:28~16:47:2回のリハーサル
Binanceに手を出す前に、攻撃者は自分のウォレットで練習した。泥棒がまず自宅の玄関でピッキングを試すようなものだ。
使われたのはスマートコントラクト、つまりEthereum上で動作し、コードに書かれたとおりに実行するプログラムだった。このコントラクトは、ウォレットに代わって操作する権限を与えたウォレットから、資金をすべて引き出すように作られていた。(EthereumのEIP-7702機能を使うと、この種の権限を付与できる。詳細は後述。)
02:28 — 攻撃者が資金を抜き取るプログラムのテスト版を公開する。
13:51~14:24 — 1回目のリハーサル。攻撃者は自分の2つのウォレットに少額のUSDTとUSDCを入れ、テストプログラムに操作権限を与えて実行する。両方のウォレットから資金がすべて引き出された。ツールは機能した。
15:59 — 後にBinanceで使われる最終版を公開する。
16:20~16:47 — 最終版を使ってテストを繰り返す、2回目のリハーサル。
最終版には、もう1つ強力な機能があった。トークンを送るだけでなく、ウォレットにあらゆる操作をさせることができた。その夜、この機能によってBinanceのウォレットに8億2,300万USDCを送金させた。これほど特化したツールから、攻撃者はBinanceのウォレットの仕組みをすでに知っていたことがうかがえる。
「2つのバージョンの違いは決定的でした。メインのコントラクトには、制御権を委譲したウォレットに代わって任意の呼び出しを実行する機能が含まれていました。攻撃者は後にこの機能を使い、Binanceのスマートウォレットから8億2,300万USDCを抜き取りました」とBitOKは説明した。
10月29日、UTC 20:04:31分間の資金流出
20:04:52から20:35:53にかけて、攻撃者はXRP Ledger、Solana、Bitcoin、Ethereum、Tron、Base、Optimism、Arbitrum、Avalanche上のBinanceのホットウォレットから資金をすべて引き出した。盗まれた資産には以下が含まれる。
18,270.2 BTC、
197,540 ETH、
24億9,000万USDT、
8億2,300万USDC、
2億3,346万XRP、
970,522 SOLと、ほか数十種類のトークン。
すべての送金には、Binance自身のウォレットが署名していた。BitOKは、普段とは異なる特徴からこれらを見分けた。手数料は通常の2~2.7倍で、トランザクション形式はBinanceの出金ソフトウェアでは使われないものだった。またEthereumでは、偽の送金が実際の顧客への支払いの間に差し込まれていた。
攻撃者はDevOpsエンジニアのノートPCに侵入し、サービスコンテナ(Binanceのシステム内で動作するパッケージ化されたプログラム)を使って、偽の出金注文を送信した。
その夜、最も巧妙な手口だった。標的はBinance 14と呼ばれる、取引量の多いEthereumのホットウォレットだった。
計画。EIP-7702を使うと、ウォレットは「認可」と呼ばれる許可証に署名し、スマートコントラクトがそのウォレットに代わって操作できるようにできる。Binance 14が攻撃者のコントラクトを指定した認可に署名すれば、攻撃者はウォレットを支配できる。
問題点。許可証が機能するのは、ウォレットの現在のトランザクション番号、つまりノンスが記載されている場合だけだ。Binance 14は絶えず顧客への支払いを行っていたため、その番号は変わり続けていた。番号が間違った許可証は、単に無視される。
手口。20:20:59、攻撃者はBinanceの署名システムに、異なる番号を付けた許可証を50件まとめて署名させた。鍵を50本、同時に錠に試すようなものだ。合う鍵は1本あればいい。そして、そのうち1本が合った。Binance 14は攻撃者のコントラクトからの指示を受け付けるようになったが、通常どおり稼働し続けたため、資金は流れ込み続けた。
成果。数分後、1回のトランザクションで、合計22億ドル以上に相当する65種類のトークンが引き出された。内訳には16億1,500万USDTと167,464 ETHが含まれていた。20:41と20:59には、コントラクトは別のBinanceウォレットにも、8億2,300万USDCを送金させた。
Binance 16。2つ目のホットウォレットは、もっと単純な手口で盗まれた。Binanceのシステムに9件の偽送金が入力され、システムはそれらに署名し、実際の顧客への支払いとともに送金した。送金額は28,005.6 ETHと5,570万USDTだった。
Ethereumでは、メインの受取アドレスから5億USDTが6分以内に流出した。20:34から21:09にかけて、攻撃者はコードで運営される分散型取引所Uniswapで、4億3,500万USDTをETHに交換した。また、融資プロトコルのAaveに6,000万USDTを預け入れ、それを担保に19,762 ETHを借り入れた。凍結可能な担保は残された。
Tronでは、Binance-Hot 7ウォレットから6億1,270万USDTが流出した。Tron最大の分散型取引所SunSwapで16回交換し、攻撃者は2億3,400万USDTを6億3,820万TRXに換えた。
USDTを凍結するには、複数の署名を必要とするマルチシグウォレットから、Tetherの承認が3つ必要だった。凍結には最大2分36秒かかり、保留中のリクエストはオンチェーンで確認できた。攻撃者は凍結が迫っているのを見て、先に資金を動かすことができた。あるウォレットは凍結のわずか48秒前に、1億3,000万USDTを移動させた。しかし、あるアドレスでは攻撃者がためらい、約1億7,500万USDTを失った。
8億2,300万USDCはすべて1つのアドレスに残っており、1回のトランザクションで凍結された。
TetherとCircleによる凍結額Ethereum USDT:13億8,000万ドルEthereum USDC:8億2,300万ドルTron USDT:3億7,870万ドルAvalanche USDt:840万ドル合計:25億9,000万ドル
他の発行元はUSD1、XAUt、PAXG、wBETH、FDUSDを凍結し、BEAMの発行元は盗まれたトークン9億8,400万枚を焼却した。Arbitrumの12人で構成される緊急組織、セキュリティ評議会は、8,426 ETHと7,456万ARBを押収した。
合計で約27億9,000万ドルが凍結、焼却、または押収された。それでも、6億6,900万USDTはすでにETHとTRXに換えられていた。
UTC 21:43~00:10:何度も盗まれ続けたウォレット
Binance 14は依然として攻撃者の支配下にあった。
21:43:59 — 定例のBinance入金で、2億USDTがBinance 14に送金される。12秒後、コントラクトがそれを一掃する。USDTはすでに凍結されたアドレスに到着したが、約370 ETHは持ち逃げされた。
22:39 — さらに128.49 ETHが抜き取られる。
23:56 — 2,961.91 ETHが到着から1分後に抜き取られる。
10月30日00:10:35 — Binanceはついに権限の引き継ぎを取り消す。
攻撃者はウォレットをほぼ4時間にわたって支配していた。
18,270 BTCの行方
20:20:06、11件のトランザクションでBinanceのホットウォレットから18,270.2 BTCが移動し、通常の2倍の手数料が支払われた。コインは19のアドレスに分散され、そのうち17のアドレスにはそれぞれ1,000 BTCが保管された。10月30日時点で、どのコインも動いていない。Bitcoinの公開台帳によって追跡はできるが、凍結することはできない。
BitOKが突き止めた最大の事実は、盗まれたBinanceの資金が、2026年9月のBitgetハッキングで得た資金をすでに集めていたのと同じEthereumアドレスに届いていたことだ。
攻撃者は、ブロックチェーンをまたいでコインを交換するプロトコルTHORChainを通じてTRXとUSDTを移動し、0x15104a9ce0f08a8f0075a0869ae80e795fe0feb7でETHを受け取った。
そのアドレスはすでに、Bitgetのハッキングに由来すると追跡されたETHを受け取っていた。資金は、10月23日から稼働していた、Bitgetが公開した攻撃者ウォレットの一覧にあるBitcoinアドレスから来ており、最初はZECだった。ZECはBinanceから盗まれたことのないコインだ。
06:20までに、そのアドレスはBitget関連の送金8件(349.46 ETH)とBinance関連の送金5件(13.63 ETH)を受け取り、混合された資金を新しいウォレットへ送っていた。アドレスが共通しているだけでは、どちらのハッキングの背後に誰がいるかは特定できない。
どちらの攻撃も、秘密鍵を盗まずに内部システムへ侵入するものだった。また、Bitgetは自社へのハッキングについて北朝鮮の犯行だと非難した。BitOKはさらに、北朝鮮のグループに関連づけられる特徴として、事前のリハーサル、Tornado Cashからの資金調達、凍結可能なトークンからの即時交換、UTC+9の勤務時間中の準備を挙げている。
「新たに特定された、資金洗浄に使われた共通アドレスは、戦術の類似だけよりも、作戦上の重なりを示す強い証拠です。BitOKは、2件の窃盗が同じ北朝鮮のグループに関連している可能性があり、観測された資金洗浄の流れを1人のオペレーターが管理していたと評価しています。ただし、これは分析に基づく帰属であり、すべての関係者の現実世界での身元を証明するものではありません」とBitOKは述べた。
Binanceの対応
Binanceは20:36ごろ、BitcoinとTronのホットウォレットからの出金を一時停止した一方、入金は継続した。顧客の損失はすべて、緊急基金SAFUと自社資金で補填すると表明した。
何が起きたのか、皆さんに直接お話ししたいと思います。結論から言えば、皆さんの資金は安全で、損失はすべて当社が補填します。初期調査では、このセキュリティインシデントはDevOpsエンジニアのノートPCが侵害されたことから始まった可能性があります。それにより、攻撃者は……へのアクセスを得ました。
— Richard Teng (@_RichardTeng) 2026年10月30日
Coinglassによると、市場全体では24時間で、15億8,000万ドル相当のレバレッジポジションが強制清算された。
攻撃者は現在、何を保有しているのか?
10月30日06:20時点で、BitOKは攻撃者と以下の資産を関連づけた。
197,460 ETH、
18,270.2 BTC、
2億3,346万XRP、
約970,500 SOL、
6億7,590万TRX、
そして161万AVAX。
ETH、BTC、XRP、SOLだけで、価値は約29億5,000万ドルだった。
攻撃者はBinanceの出金に署名するシステムを乗っ取った。BitOKは、暗号資産業界がBinanceのハッキングから学ぶべき教訓を共有した。
「Binanceのインシデントは、秘密鍵のセキュリティだけでは不十分である理由を示しています。取引所には、署名権限の管理、不審な出金指示に対する保護、侵害された権限の迅速な取り消し、そしてネットワークをまたぐ資産移動の継続的な監視も必要です。」
