事件概述
北京时间 2022 年 8 月 2 日,跨链资产互操作协议 Nomad Bridge 遭遇大规模攻击,WETH、WBTC、USDC 等主流资产被持续提取,总损失接近 1.8 亿美元。合约地址在事件发生后仍有约 1.26 亿美元资产处于风险状态,形成了一场"公开的链上抢劫"。
攻击路径
项目方在一次例行合约升级中,将受信任根
trustedRoot初始化为0x00。该初始化使得任意未经过校验的消息都会被判定为"已证明",从而可直接触发
process()取出锁定资产。首位攻击者成功提取资产后,链上交易被公开复制——任何人替换其中的收款地址即可重放攻击。
短短数小时内数百个地址参与了资金提取,形成链上群体性攻击。
漏洞根因
升级脚本中受信任消息根被错误地赋值为零值,绕过了 Merkle 证明校验流程,本质上让任意消息都可通过认证。
应急响应
第一时间暂停合约相关接口。
发起链上公告,鼓励白帽协助转出剩余资金。
配合交易所追踪攻击地址并冻结部分资产。
安全建议
合约关键状态变量的初始化必须进行多次校验,严禁保留测试用零值。
升级脚本需经过独立第三方审计,不得仅依赖内部审查。
桥类项目应部署链上实时风险监控,在异常提款出现时能够秒级熔断。