这次攻击精准地命中了零知识证明(ZKP)的验证逻辑与以太坊主网结算流程之间的“缝隙”。
据 CertiK 分析,RollupProcessorV3 合约的一个验证函数仅检查了提交证明的开头部分,这意味着用于授权代币转移的关键参数并未得到完整校验 。这给了攻击者可乘之机——他们可以提交一个前段合法、但后续包含恶意提款指令的证明。
慢雾科技(SlowMist)的进一步分析则指出了更深层的根因:L1 结算循环的遍历限制存在漏洞。攻击者利用了 numRealTxs (真实交易数)和 decoded_slots (解码槽位)之间的差异,通过零知识证明向 L2 状态根提交了 31 个空槽位,从而绕过了 L1 合约层的完整验证 。
这起事件最令人无奈的地方在于,攻击本身在结构上是无法阻止的——而且这是项目方自己选择的结果。
Aztec Connect 于 2023 年 3 月正式退役,团队给了用户超过一年的时间来提取资金 。到了 2024 年,Aztec Labs 采取了更彻底的举措:主动放弃所有管理密钥和系统控制权。这使得那些旧合约变得完全不可变——没有升级机制,没有所有者,最关键的是,没有了暂停功能
。
攻击发生数小时后,Aztec 团队在社会化媒体上无奈地表示:“Aztec Connect 三年前就已弃用。Aztec Labs 不持有任何管理密钥或系统控制权;该合约无法被暂停或升级。” 他们同时确认,约 210 万美元资产从该不可变合约中被转走,并强调当前运营的 Aztec Network 及其 AZTEC ERC-20 代币未受影响,但也承认没有追回这些资产的机制 。
Aztec Connect 被攻击事件是 DeFi 中 “僵尸合约”问题 的教科书式案例。
这些不可变智能合约在项目关停后并不会凭空消失,它们会带着原有的逻辑和锁仓价值,永久地留存在链上。当一个项目为了追求彻底的“去中心化”而放弃管理权限时,这些合约就变成了永不消逝、无法修复的蜜罐。任何未被发现的漏洞,都如同一颗定时炸弹,可能在数年后被引爆,而届时任何人都无计可施 。
这种风险是极不对称的。放弃控制权的项目因“无后门”而获得声誉,但那些未能在弃用窗口期内及时提款的用户,却要承担全部损失。Aztec 的案例表明,即使在三年后,仍有数百万美元被困在一个所有人都认为早已“死去”的合约中。
对于那些计划让某个协议退役的 DeFi 团队来说,这次事件敲响了警钟。在放弃管理密钥之前,项目方必须做到两件事之一:要么强制完成所有用户的资产提取,要么设置一个不依赖长期管理权限的、基于时间锁的紧急熔断机制。否则,这些被废弃但不可变的基础设施,终将吸引那些寻找“永恒漏洞”的攻击者 。
Comments
0 comments