文章深入分析了 Kelp DAO 在 LayerZero 协议上的 rsETH 安全事件。由于 Kelp 错误地采用了 1-of-1 的 DVN(去中心化验证网络)配置,导致单一故障点。攻击者通过替换 RPC 节点的二进制文件并配合 DDoS 攻击,成功伪造了跨链消息,窃取约 2.9 亿美元。文章强调,跨链桥安全不仅在于合约逻辑,更在于底层基础设施的去中心化与冗余。建议开发者采用 N-of-M 多重验证、异构 RPC 节点及完善的熔断机制,以应对针对基础设施的复杂攻击。
Kelp DAO / LayerZero rsETH 事件提醒我们,跨链桥安全的核心在于尽量减少对任何运营者、堆栈或基础设施层的信任。上周末,DPRK 发起了一场复杂的攻击,利用了不安全的跨链桥配置,并执行了精心设计的 RPC 节点劫持,窃取了近 3 亿美元。事情是如何出错的?让我们从一些基础知识开始。
跨链桥的基本概念很简单。为了将资金从一条链转移到另一条链,资金被锁定在链 1 的托管中,并在链 2 上释放。为了确保此操作的安全,在链之间传递指示跨链桥锁定和释放资金的消息必须安全地传输。
为了确保这一过程的安全,当 oApp(LayerZero 术语中的全链应用)从链 1 发出消息时,该消息必须由一个或多个 Decentralized Verifier Networks (DVNs) 确认其真实性。DVNs 负责在消息路由到链 2 执行之前检查消息并确定其真实性。
总而言之,如果攻击者可以在目标链(链 2)上伪造消息,他们就可以指示 oApp 在资金仍保留在链 1 时从托管中释放 Token。这种情况永远不应该发生,因为它允许攻击者窃取在另一条链上合法使用的 Token。
oApp 安全的最佳实践是使用多个完全独立的 DVNs。这可以确保 DVN 网络中的单点劫持不足以破坏跨链桥系统。然而,目前 oApp 的默认配置是 1-of-1 确认,这意味着单个 DVN 确认消息的真实性,这构成了单点故障。
oApp 开发人员可以选择使用多少个以及哪些 DVNs 来确认通过 LayerZero 网络路由的消息。oApp 开发人员的不安全选择超出了推荐的最佳实践,但没有什么能阻止 oApp 开发人员做出不安全的选择。
2026 年 4 月 18 日下午 1:35 (ET),一次配置错误将一个再质押产品变成了国家级攻击者的 2.9 亿美元目标。这次攻击现在被认为与朝鲜的 Lazarus Group 有关,它绕过了智能合约逻辑和链上安全,直接针对基础设施。
薄弱环节是决定为 Kelp DAO rsETH oApp 依赖单个 DVN(1-of-1 验证设置),这意味着单个 DVN 是锁定在 rsETH Token 中数亿美元价值的唯一安全看门人。根据 LayerZero 的公开声明,攻击者劫持了由 LayerZero Labs 运营的 DVN 所使用的多个 RPC 节点。
这些 RPC 由独立运营者(而非 LayerZero Labs)运行。攻击首先通过替换两个独立 RPC 节点上的 op-geth 二进制文件开始,使得这两个节点故意向 LayerZero Labs DVN 报告虚假的交易信息。这种劫持允许攻击者向 DVN 报告虚假交易。但仅靠 RPC 劫持还不够。
首先,攻击者仔细确保被劫持的 RPC 节点仅向 LayerZero Labs DVN 报告虚假信息,以避免被现有的 RPC 完整性监控系统检测到。
其次,由于 LayerZero Labs DVN 依赖于分布式 RPC 网络(远多于 2 个),攻击者需要迫使 DVN 听取被劫持的 RPC。攻击者对 DVN 使用的所有其他 RPC 节点发起了单独的 DDOS 攻击,从而迫使 DVN 仅依赖于那两个被劫持的节点。
没有协议层面的漏洞,也没有密钥管理失效。只有基础设施访问权限和一个仅信任一方的跨链桥。
由于在这种情况下 DVN 配置是 1-of-1,配置的单个 DVN 正在听取被投毒的 RPC 节点。没有额外的独立验证者来拒绝伪造的消息。攻击者随后开始伪造消息以窃取 Token。
接下来的事情是一连串的灾难:被投毒的 RPC 允许欺诈性伪造的消息被“验证”,从而使得大约 116,500 rsETH(当时价值约 2.9 亿美元)从 Kelp 的跨链桥中释放。
其他连接到 LayerZero 的应用急于控制风险,像 Curve 这样的项目在调查进行期间停止了 LayerZero 基础设施的使用,尽管 LayerZero 坚持认为除了 Kelp 的 rsETH 配置之外“零传染”。
LayerZero 的公开声明强调,该事件仅限于 Kelp DAO 的 rsETH 配置,并且使用单个 DVN (1-of-1) 违反了他们推荐的多 DVN 设置。与此同时,攻击路径通过了 Labs 运营的 DVN 所使用的基础设施,这凸显了即使各方都正确遵循了自己的操作协议,单一运营者的集中验证和基础设施也可能产生系统性风险。
生态系统其他成员的教训是深刻的:如果你的去中心化跨链桥安全最终瓶颈在于单个运营者的基础设施,那么它的安全性仅等同于该运营者加固程度最差的节点。
让我们更详细地讨论 LayerZero 和 Kelp 安全模型中的问题,以及设计和构建跨链桥的最佳实践。
单个 DVN,无论声誉如何,都不应该独自守卫真金白银。
相反:
如果 rsETH 由多个异构 DVNs 保护,那么被投毒的 DVN(通过被劫持的 RPC)将不足以推送伪造的消息。
rsETH 漏洞不需要破坏 LayerZero 协议或 DVN 签名密钥。它依赖于破坏 LayerZero DVN 用来查看区块链活动的 RPC 节点。
实际的预防措施是什么样的?
在高级持续性威胁 (APT) 驱动的世界中,RPC 端点不仅仅是管道——它们是你攻击面的一部分。
Kelp DAO 的 rsETH 设置展示了当一个应用悄悄接受单一运营者安全堆栈为“足够好”时会发生什么。跨链桥框架应该:
如果一个应用不顾警告选择了 1-of-1 配置,该选择应被拒绝,或者至少在公开场合显而易见,并体现在资产价格中。
Curve 在 rsETH 调查期间立即暂停 LayerZero 基础设施,是互联生态系统中防御姿态的教科书案例。概括来说,跨链协议应该:
快速、协调的反应可以限制损失,并防止局部故障演变成系统性威胁。
许多跨链桥审计仍然几乎完全集中在合约逻辑和消息传递的正确性上,低估了这次攻击实际发生的链下 Web2 层。现代跨链桥安全计划应该:
我们再怎么强调这些措施也不为过。高风险配置不应出现在测试网之外。
遵循这些关键实践以加强身份验证、防止重放并避免未经授权的操作。
坚定的威胁行为者会尽可能深入地挖掘。将 RPC 视为处于风险之中并据此计划。
持续监控跨链桥流量(按通道、资产、链对)以发现异常:交易量突然跳跃、异常路由、重复失败。
当任何通道上的交易量或模式偏离历史常规时,添加自动减速和硬上限。实施跨链桥级别的断路器,以进行全局、按链和按通道的暂停。
- 原文链接: certora.com/blog/bridge-...
- 登链社区 AI 助手,为大家转译优秀英文文章,如有翻译不通的地方,还请包涵~
如果觉得我的文章对您有用,请随意打赏。你的支持将鼓励我继续创作!
作者暂未设置收款二维码