今日凌晨,币安(Binance)热钱包遭遇了加密货币历史上规模最大的一起安全事故。在不到一小时的时间内,横跨 Ethereum、Bitcoin、Tron以及 Arbitrum、Avalanche、Optimism、Base等多条网络的币安热钱包同时失守,累计流出资金接近60亿美元(社区统计,暂无官方口径)。
关于被盗资金的流向、业界的追踪堵截(尤其是 Tether与 Circle的及时冻结),以及间接遭牵涉的链上协议(比如 Aave),市场已有大量实时追踪。本文将剥离繁杂的资金盘点,直接聚焦最核心的疑问——固若金汤的币安热钱包,究竟是怎么被攻破的?
综合各家安全机构及多位链上安全研究人员的逆向还原,这大概率是一场针对交易所底层签名基础设施(HSM/MPC签名机)的精准渗透,并配合以太坊 EIP-7702机制实现“单区块极速清扫”的教科书级攻击。
核心原因:底层签名机沦陷,黑客具备“按需签名”能力
事件发生后,由于核心被盗钱包 Binance14是通过以太坊 Pectra升级引入的 EIP-7702机制被瞬间掏空的,社区一度出现“EIP-7702存在漏洞”的误读。
但从密码学常识来看,EIP-7702允许普通钱包(EOA)临时挂载智能合约代码的前提,是必须由该钱包自己的私钥完成合法签名。因此,EIP-7702只是黑客用来加速提款的“作案工具”,而非漏洞本身。
顺着“谁完成了签名”这一核心线索,出事的原因无非指向两种可能——裸私钥直接泄露,或是签名系统(基础设施)被操纵。
结合目前的链上特征来看,签名系统被操纵几乎是唯一合理的解释。原因在于,像币安这种级别的交易所,热钱包绝不可能使用单点明文的“裸私钥”,其底层标准架构必然是 HSM(硬件安全模块)+ MPC(多方安全计算)+策略引擎(Policy Engine)——私钥分片锁在硬件黑盒里,任何人(包括内部运维)都拿不到完整明文,只能由前端业务系统通过“策略引擎”校验风控规则后,向签名机请求产出签名。

链上有两个铁证直接指向了“签名系统被操纵”:
铁证一(50连发 Nonce盲狙):攻击者在攻破 Binance14时,一次性提交了50个覆盖连续 Nonce的有效 EIP-7702签名。如果攻击者直接偷走了明文私钥,他完全可以在本地精准控制交易,不需要用这种“撞大运”的方式去猜 Nonce。这说明攻击者应该并没有拿到私钥本身,而是攻破了策略引擎或签名接口,具备了让币安签名系统“按需吐出合法签名”(Sign on demand)的能力。
铁证二(多链异构钱包同步失守):在 Binance14被清空仅24秒后,独立热钱包 Binance16用自己的密钥签出了2.8万枚 ETH;同一时间,比特币(18270.2 BTC)与波场(6.12亿 USDT)等不同签名算法的热钱包同步发起转账(部分转移暂不确定是否为被盗)。唯有打穿顶层的统一调度,才能同时指挥多条链的 HSM/MPC签名机一起提现。
链上时间线还原:长达37小时的潜伏与700万美元“实盘彩排”
链上数据显示,攻击者在控制签名链路后并未打草惊蛇,而是在动手前进行了长达一天半的精密部署与实盘演练。
10月28日07:39(UTC),准备弹药:攻击者主地址(0x7c86…5ca0)从 Tornado Cash的0.1 ETH混币池中分三次提取了初始 Gas资金(首笔到账0.0983 ETH),此时距离“总攻”还有整整37小时。
10月29日02:28–14:19(UTC),事先彩排:攻击者先是在以太坊上部署了初代清扫合约 Sweeper A;随后在13:51创建了2个测试钱包,甚至豪掷700万美元稳定币充入其中进行 EIP-7702委托演练,并在半小时后成功测试将其一键清扫。
10月29日15:59–18:20(UTC),终版定型:攻击者部署了最终版恶意清扫合约 Sweeper B,紧接着创建第3个测试钱包注入1.01 ETH,并在16:30完成了对2.54 USDT的清扫测试;18:20,所有测试资金被悉数归集回资金池,战前演练全部完成。

致命一击:50连发 Nonce“盲狙”与 EIP-7702一键搬空
北京时间今日凌晨4:20(20:20 UTC)左右,黑客正式拉响总攻信号,并在短短数分钟内直接卷走了总价值数十亿美元的加密资产。
20:20:06(UTC):比特币热钱包率先异动,18270.2枚 BTC被转出;
20:20:59(UTC):以太坊主网迎来了整场攻击中最核心的技术操作——50连发 Nonce盲狙;
20:22:45(UTC):波场热钱包单笔转出6.127亿枚 USDT;
20:24:23(UTC):黑客触发 Binance14的 sweep函数,单笔交易瞬间将167464.25枚 ETH、16.15亿枚 USDT以及另外62种代币抽干,打入黑客收款地址0x5227…2f8c(Etherscan标记为 Exploiter2);
20:24:47(UTC):Binance14被盗仅仅24秒后,币安另一个独立热钱包 Binance16在未使用 EIP-7702的情况下,直接用自己的私钥签署了一笔普通转账,将28005.6枚 ETH打入了同一个黑客收款地址(0x5227…2f8c),15分钟后(20:39 UTC),黑客将这两个钱包流出的共计195,470枚 ETH打包转走;
20:32–20:33(UTC): Arbitrum、Avalanche等其他链相继被洗劫;
20:41(UTC):另一个持有7.8亿枚 USDC的智能合约钱包 Binance34失守(随后在20:59再次流出4300万 USDC)。由于 Binance14恰好是 Binance34的管理员(Owner),黑客在通过 EIP-7702寄生控制 Binance14后,直接以管理员身份顺手抽干了关联金库……
为什么黑客要在以太坊主网用 EIP-7702?
像 Binance14这样的主力热钱包,内部存放着数十种 ERC-20代币。如果黑客像在比特币上那样一笔笔发起普通转账,不仅需要向签名系统请求几十次签名,更会在第一笔大额异动后的几秒内,触发交易所的异常流向监控与自动熔断机制。
而通过 EIP-7702将 Binance14原地升级为恶意合约 Sweeper B,黑客只需调用一次合约内置的函数(硬编码仅允许黑客地址调用),就能在单笔交易、同一个区块内,将所有代币和 ETH全部打包抽干,彻底抹平风控系统的反应时间窗口。
为什么要塞入50个连续签名?
EIP-7702授权有一个极其严苛的限制——授权签名中包含的 Nonce,必须与交易上链瞬间该钱包的实时 Nonce完全一致。
由于黑客大概率只是操纵了后端的签名系统接口,此时的 Binance14仍在高频处理全球用户的正常提现,Nonce每秒都在跳动。黑客从签名机拿到签名、再广播到链上被打包,中间存在数秒的网络与队列延迟,根本无法预知上链那一刻 Nonce会停在哪个数字。

为了克服这一盲区,黑客利用被攻破的签名系统,针对当时的 Nonce区间,一次性逼迫签名机产出了50个连续递增的 EIP-7702授权签名(Nonce从18914775到18914824),并将它们全部塞进同一笔 Type-4交易中发射上链。以太坊底层在执行时自动丢弃了49个无效签名,唯独卡在实时窗口上的那1个 Nonce精准命中生效。
更致命的是,EIP-7702的委托一旦生效便会持久存在。在币安彻底切断签名机并重新发送零地址授权将其覆盖之前,任何后续充入 Binance14的资金都会被继续抽走(直至21:04 UTC仍有零星余额被持续清扫)。
截至发文,针对此次安全事件的具体入侵路径以及链上资金的后续追踪、冻结进展仍在继续发酵,Odaily星球日报将持续关注并将第一时间带来最新报道。Odaily星球日报
















