以太坊钱包升级功能的早期使用多半来自攻击者——那个签名到底交出了什么
一项发表于USENIX Security '26的同行评审研究发现,在截至2025年7月15日、跨七条链观察到的3,664,166笔EIP-7702授权交易中,有2,322,548笔与攻击者关联的合约有关,约占其数据集中交易量的63%。EI…
一项发表于USENIX Security '26的同行评审研究发现,在截至2025年7月15日、跨七条链观察到的3,664,166笔EIP-7702授权交易中,有2,322,548笔与攻击者关联的合约有关,约占其数据集中交易量的63%。EIP-7702是以太坊的一项功能,让普通钱包地址也能获得智能合约的能力。这个数字说明的是攻击者进入新功能的速度有多快,而不是今天的钱包有多危险。
以太坊在2025年5月7日的Pectra升级中启用了该功能。普通账户现在可以设置一个指向已部署合约代码的指针:地址不变,原有私钥仍然掌控账户,而对该账户的调用可以执行它所指向的代码。这样一来,普通钱包无需迁移到新地址,就能获得智能账户式的便利,比如把多个操作打包进一笔交易,或者让别人代付Gas。代价是:被指向的那段代码可以用该账户的权限行事,包括授权代币、转出代币以及调用各类应用。
这也正是缺口所在。攻击者可以在链下准备好授权字段,让受害者签名,而钱包可能把整件事压缩成一个看起来友好的账户升级提示,把真正获得权限的合约藏了起来。协议只验证账户所有者签了名,至于被选中的代码是否值得托付控制权,判断责任留给了钱包。研究者梳理了以太坊、BNB Smart Chain、Polygon、Optimism、Arbitrum、Base和Gnosis上超过228亿笔历史交易,识别出924个恶意合约,其中793个针对普通账户、124个针对合约账户、7个属于复合型攻击,并测算出约236万美元的实际损失。
连带影响还波及到这项功能出现之前写好的代码。一些老合约会检查调用者是否为普通地址,以此防范闪电贷,而EIP-7702打破了这个假设;研究发现仍有967个活跃合约依赖该检查,因此暴露的资产约为1,010万美元。研究者还观察到,攻击者会在得手后把账户重新指回无害的代码,这使得只看当前状态的监控并不可靠;他们另外发现500个授权目标指向尚未部署代码的地址,而这些地址日后可能被填上代码。
这项研究自身的边界同样重要。它统计的是交易笔数而非独立钱包数,恶意合约被反复复用,因此交易数增长的速度远快于受影响用户数;部分攻击者活动看起来像是早期探索阶段的练手或概念验证。2026年当前的滥用比例不在其研究范围内,而那924个合约是研究者检测并人工确认的集合,并非全部。
对新手而言,实用的结论是:把任何要求升级或委托你账户的请求,都当成给账户安装一个新的控制者,而不是改一个设置。研究发布后,ethereum.org给出的指引要求钱包对委托合约做白名单、显著展示目标地址、避免在硬件钱包上进行任意委托,并只使用经过审计的实现。就你自己而言:如果某个页面要你签一段你看不懂的内容,尤其当理由是空投、领取奖励或所谓的客服修复时,就不要签。真正的升级由你的钱包本身提供,而不是别人发给你的链接。