EIP-7702 漏洞致币安 63 亿美元被盗始末
核心要点
解析攻击者如何利用以太坊EIP-7702 功能及Nonce机制,在 4 小时内盗走币安超 25 亿美元ETH及多链资产,总损失达 63 亿美元。
据 Woofun AI 消息,以太坊网络上的关键失窃事件与 功能的启用存在直接关联。作为 评级上调计划的一部分,该功能于 2025 年 5 月正式启用,却在周四成为攻击者针对币安()实施大规模盗窃的核心工具。此次攻击不仅导致币安在以太坊网络上损失惨重,更引发了跨链资产的大规模流失,总涉案金额高达 63 亿美元。
这一事件标志着智能合约授权机制在提升效率的同时,也暴露出了前所未有的安全风险,尤其是当普通钱包被赋予执行复杂代码的能力时,其潜在的攻击面显著扩大。攻击者利用这一机制,在短短数小时内完成了从授权获取到资金转移的全过程,展现了极高的技术熟练度和对协议漏洞的精准把握。
值得注意的是,此次攻击并非孤立事件,而是涉及多个区块链网络的协同操作,进一步加剧了事件的复杂性和影响范围。从结构上看,EIP-7702 的设计初衷是为了优化用户体验,但在实际应用中,其灵活性也被恶意利用,成为了攻击者手中的利器。
这一现象提醒我们,在追求技术创新的同时,必须高度重视安全机制的完善,以防止类似事件的再次发生。
深层原因在于普通以太坊钱包与智能合约之间的机制演变。从普通用户的浏览器钱包到交易所的热钱包,大多数以太坊钱包都是由私钥来控制的。私钥负责签署交易指令,随后钱包会将这些指令发送出去。
然而,普通钱包无法自行设定规则,比如每日支出限额或允许接收资金的地址列表。而那些能够遵循规则的钱包则是智能合约,这是一种能够运行代码的独立账户类型。EIP-7702 则让普通钱包能够借用这类代码。钱包会签署一条简短的授权信息,指向某个智能合约。一旦该授权被接受,钱包就会像运行自己的代码一样执行该智能合约的指令。任何人都可以将这份已签署的授权信息上传至网络,该信息会一直存在,直到有新的授权或取消指令被记录在链上为止。设计这项功能的初衷是让普通钱包能够批量处理支付事务,并由他人代为支付相关费用。
Woofun AI 整理数据显示,在它推出后的几周内,做市商 Wintermute 就发现,大多数使用 EIP-7702 功能的钱包实际上都链接着复制粘贴来的'清空脚本'。一旦这些钱包的私钥泄露,这些脚本就会自动将钱包内的资金转交给窃贼。周四的攻击者正是利用了这一功能,让一个持有数十亿资产的币安钱包运行起了属于自己的清空脚本。
这种机制的演变,使得攻击者能够通过简单的授权操作,实现对目标钱包的完全控制,从而为后续的盗窃行为奠定了基础。更关键的变量在于,这种授权机制的灵活性,使得攻击者能够绕过传统的安全限制,直接执行恶意代码,从而实现对资金的快速转移。
攻击执行细节揭示了 Nonce 计数器博弈与 Binance 14 钱包的沦陷过程。根据对网络活动的复原分析,攻击者的主要钱包地址 0x7C86…5CA0,是从周三开始通过 混币服务分多次提取少量资金来获得资金的。周四 UTC 时间下午,攻击者先在自己控制的钱包上进行了攻击演练。大约在 UTC 时间 16:00 左右,他们部署了一个名为 0x63e8…6fAe 的清空合约,该合约的代码仅允许攻击者的钱包来操控它。
在 UTC 时间 20:20:59,攻击者发送了一笔交易。这笔交易包含了 50 份授权信息,每份都由 标记为'Binance 14'的钱包签署——这是与币安相关的众多钱包之一——而且每份授权都让 Binance 14 指向那个清空合约。Binance 14 会维护一个称为'nonce'的计数器,每次发送交易时该计数器都会递增。当网络处理这些授权信息时,每份已签署的授权都必须与该钱包的计数器数值相匹配。

评论
暂无评论