Nomad 跨链桥安全事件(2022-08-01)
Nomad 跨链桥发生了什么?
2022 年 8 月 1 日,一次有缺陷的升级让 Nomad 桥接受从未被证明过的消息。第一个攻击者示范之后,数百个地址把交易里的收款地址换成自己的照抄,约八小时内转走约 1.86–1.9 亿美元——一场“众包式”攻击。部分资金由白帽退回。
基本事实
- 日期(UTC)
- 协议
- Nomad 代币桥(乐观式消息;Ethereum、Moonbeam、Evmos、Milkomeda、Avalanche)
- 报告损失
- 约 1.86–1.9 亿美元 ERC-20 代币,约八小时内被数百个跟风地址转走 CoinbaseImmunefiDefiLlama
- 根因
- 验证逻辑缺陷 — 2022 年 6 月的升级在初始化 Replica 合约时把零值根标记为可信,导致任何未经证明的消息都能通过验证 NomadImmunefiCoinbase
- 涉及链
- Ethereum, Moonbeam, other Nomad-connected chains
- 追回情况
- 部分追回
- 官方复盘
- Nomad Bridge Hack: Root Cause Analysis
时间线
资金去向与追回情况
影响了哪些路线和桥?
Nomad 代币桥在 Ethereum 上锁定资产的合约被转空;经 Nomad 跨到其他链(尤其是 Moonbeam 和 Evmos)的代币失去支撑。Nomad 不在 upswap 采样的桥之列。
为什么会发生?
Nomad 的 Replica 合约只接受属于已确认“根”的消息。根保存在一个映射中,而在 Solidity 里任何未设置的键都读作零。2022 年 6 月升级时,合约初始化把零值根标记为已确认。升级改变了 process 检查消息的方式之后,一个未知消息哈希去查它的根,得到零,而零是可信的——于是任何消息都能通过(Immunefi;Nomad)。
Nomad 的独特之处在于“照抄”。利用这个漏洞不需要密钥,也不需要技术:拿一笔成功的攻击交易,把收款地址换成自己的,再提交即可。Coinbase 的分析显示,数百个地址重放了几乎相同的载荷(Coinbase)。被一群人掏空的桥,无法靠拉黑某一个攻击者来阻止,只能靠暂停,而 Nomad 当时没有快速暂停机制。
这次升级经过审计,但初始化参数很容易被忽略。“未经证明的消息绝不能被处理”这类不变量测试,以及由独立守护者控制的暂停开关,才是针对这类问题的控制手段。
跟风攻击也让追回更加复杂:资金散落在数百个钱包里,有的匿名,有的不匿名,每个持有人都得分别说服。这就是为什么 Nomad 的追回依赖向白帽喊话,而不是与某一方谈判。
用户当时该怎么做?现在该怎么做?
当时
漏洞公开后,存款人做什么都救不回已锁定的资金。其他链上 Nomad 跨链代币的持有人可以在最初几小时、市场重新定价之前换成原生资产——但这也只是把损失转给了买家。
现在
优先选择由独立方持有紧急暂停权、并公开升级流程记录的桥。L2Beat 风险卡会列出升级延迟和暂停权限,本站评测会引用。避免大额持有其支撑只依赖单一桥合约的跨链代币。
哪些内容仍待核实?
- 待核实 2022 年 8 月之后的最终退回总额(上述数字为 8 月中旬的统计)。
来源
5 个独立发布方,链接按标注日期核对。
- Nomad Bridge Hack: Root Cause Analysis — Nomad · 官方 · 核对于
- Nomad Bridge incident analysis — Coinbase · 数据分析 · 核对于
- Hack Analysis: Nomad Bridge, August 2022 — Immunefi · 安全机构 · 核对于
- DefiLlama Hacks — Nomad Bridge, 2022-08-01 — DefiLlama · 数据库 · 核对于
- The Road to Recovery — Nomad · 官方 · 核对于
- Dissecting the Nomad Bridge Hack — Mandiant (Google Cloud) · 安全机构 · 核对于
如何引用本页?
Burn, A. / upswap.io(2026)。Nomad 跨链桥安全事件(2022-08-01)。更新于 2026-10-24。https://upswap.io/zh/incidents/nomad-2022#summary。CC BY 4.0。访问日期:____。
稳定锚点:#summary #facts #timeline #funds #affected #analysis #then #now #sources #cite
