4月18日下午5点35分,以太坊链上发生了一笔看起来很普通的跨链转账。
116,500枚rsETH从KelpDAO的跨链桥里转了出来,总价值大约2.9亿美元。整个过程系统都显示验证通过,链上记录没有任何错误提示,所有签名都在,一切看起来都正常。
唯一的问题是,源头那条链Unichain上没有销毁资产,没有转账记录,什么都没发生,但以太坊这边却当成真实指令把钱放了出去。
这笔钱就像凭空冒出来的一样。
这不是因为合约代码有漏洞,也不是私钥被偷,更不是什么常见的黑客手法。这是一条根本不存在的假跨链消息,被整个系统验证为真且执行了。
跨链转账是怎么回事 跨链转账的基本原理,就像两家银行互相划款。A银行先把你的钱锁住,通知B银行钱已经锁了,B银行确认之后再给你放同等金额。
跨链桥的逻辑是一样的,一条链上把资产销毁或锁定,验证系统确认这件事真的发生了,另一条链再释放对应的资产。
在LayerZero这套跨链工具里,负责确认的关键角色叫DVN,也就是去中心化验证网络。你可以把它理解成专门做核实工作的验证员,它会去读取源链上的数据,判断交易是否真实发生,确认之后才会放行。
整套机制能正常运转,靠的是一个前提:验证员看到的数据是真实的。
这次攻击,针对的正是这个前提本身。
黑客是怎么做到的 黑客没有去破解任何合约,也没有偷任何人的私钥,他们攻击的是验证员背后用来查数据的服务器,一个平时几乎没有重点防守的地方。
整个攻击分三步。
第一步,提前埋伏。黑客搞到了验证员使用的服务器名单,入侵并污染了DVN用来查询源链数据的下游RPC节点,而非DVN自身核心程序。
这个恶意程序设计得很精准,它只对验证员的查询说谎,告诉它源链上已经发生了rsETH销毁,交易已确认。
但对其他任何监控系统或区块链浏览器发来的查询,它返回的全是真实数据。所以LayerZero自己的监控后台、外部扫描工具,看到的都是正常的,完全察觉不到任何异常。
第二步,切断退路。验证员同时还在用其他正常服务器做备份验证,光靠两个被污染的服务器还不够。
黑客的解决办法是对那些正常服务器发动大规模网络攻击,把它们打到无法响应。正常服务器全部瘫痪之后,验证员自动切换到了那两个还活着的服务器,也就是已经被动手脚的那两个。
至此,验证员的眼睛被完全蒙上了。
第三步,执行取钱。伪造的跨链消息顺利通过验证,116,500枚rsETH释放到了黑客控制的地址。从合约角度看,整个过程完全合法,没有一行代码被修改过。
攻击结束之后,恶意程序自动删除,本地日志和配置一并清除,痕迹抹得很干净。从最终执行到完成转账,前后不到两分钟。
这套打法的核心是反向设计,不找漏洞,而是专门针对验证系统的信息来源下手,让它在完全不知情的情况下为假消息背书。
为什么偏偏是KelpDAO 这次攻击能成功,有一个不可或缺的前提:KelpDAO在从Unichain跨链到以太坊的这条特定通道上,只使用了一个验证员,没有任何备份和冗余。
LayerZero支持多个验证员同时确认的模式,相当于同一笔账让多个验证员分别核对,只有全部对上才放行。
KelpDAO用的是最简单的版本,一个验证员说了算,只要它点头,钱就出去了,没有任何补救机会。而且这套配置在攻击发生前至少存在了90天。
事后LayerZero的立场是,早就反复建议用多验证员模式,是KelpDAO自己选了最简单的配置,违反了安全最佳实践,并随即宣布不再为任何单验证员配置的应用签名。
KelpDAO的回应是,这个配置本来就是LayerZero官方快速上手指南里的默认设置,扩展到L2时也得到了LayerZero团队的确认。
唯一的验证员,是LayerZero官方自己在运营的,地址在Etherscan上明确标注“LayerZero: DVN”。KelpDAO信任的不是什么不知名的第三方,而是LayerZero自家的产品。
从KelpDAO的角度看,这个逻辑并不荒唐。本来就信任LayerZero,为什么还要引入别人来验证LayerZero自己节点上的事?这种对官方基础设施的信任,其实代表了当时相当多项目方的普遍做法。
这件事究竟是配置疏忽,还是整个行业对官方基础设施信任边界的集体误判,目前双方还没有共识,联合的完整事后分析仍在进行中。
46分钟拦住了第二波 主攻击在17:35完成,黑客在5分钟内把钱分散进了7个提前准备好的钱包。随后又发起了两波追加攻击,每次目标是40,000枚rsETH,合计接近2亿美元。
18:21,第一波攻击发生后46分钟,KelpDAO的多签钱包执行了冻结操作,暂停了主网和多条L2上的rsETH合约,把黑客地址列入黑名单,并立刻联系了专业安全团队。
第二笔转账在执行时直接报错被挡住了。如果没有这46分钟的快速反应,损失可能直接飙升至4亿美元。
Arbitrum官方安全委员会也正式出手,冻结了黑客在Arbitrum链上约30,766枚ETH,大概7,100万美元,是目前被成功拦截的最大一笔资金,其他链上暂无类似进展。
一场还没结束的连锁反应 黑客拿到rsETH之后,在25分钟内把这批资产存进了Aave等借贷平台作为抵押,趁价格系统还没反应过来,借走了约2亿美元的真实ETH。
攻击者留下的是来路不正的抵押品,借走的是真实的钱,这笔坏账最终落在了Aave头上,估计金额在1.2亿到2.3亿美元之间。
Aave随即冻结了rsETH相关市场,用户提款出现拥堵,TVL在48小时内共流出约62-84.5亿美元,全DeFi TVL共下滑约132亿美元,AAVE代币跌幅一度接近20%。
目前黑客主钱包里约75,700枚ETH一动未动。他在Aave上的借款仓位健康系数在1.03附近徘徊,离被强制清算的线很近。所有人都在等他的下一步。
这件事会改变什么 KelpDAO事件后,首先被重新审视的,是rsETH这类包装资产的风险定价。
这类资产本质上是一层套一层,底层是ETH,外面包了质押协议,再外面包了跨链桥,每多一层封装就多一层可以出问题的地方。
借贷平台长期把包装资产和原生ETH用同等标准接受抵押,风险参数明显过于宽松,Aave这次替这个逻辑的漏洞买了单。
Aave在4月20日发布的正式报告显示,坏账规模估算在1.23亿至2.3亿美元之间,具体取决于KelpDAO如何分配损失。
目前有两种主要方案:一种是所有rsETH持有者共同承担损失,每枚rsETH大概贬值15%左右,Aave坏账约1.23亿美元;另一种是只让L2链上的rsETH承担损失,Aave坏账会扩大到约2.3亿美元。
两个方案都不理想,前者会让普通用户无辜亏损,后者会严重打击L2用户的信心。
真正能稳住市场的方式,是Aave、LayerZero和KelpDAO三方共同出钱把坏账覆盖掉,不让普通用户来承担这个代价。目前三方正在协商,已有一些初步承诺,但还没有最终投票或执行方案。
DeFi的底层考验 整个DeFi行业这几年一直在快速扩张,这次事件之后,很可能会进入一个相对收缩的阶段,安全审查标准会整体提高,对基础设施层面的防御也会被放到更重要的位置。
这2.9亿美元的教训,让大家突然意识到:DeFi的增长不能只拼速度,还必须把底层信任链条的每一环都重新加固。
这是2026年目前为止最大的单次DeFi攻击,也是第一次疑似由国家级黑客组织通过基础设施层面实施的大规模劫案,初步被认定为朝鲜Lazarus Group下属TraderTraitor小组所为。
LayerZero已经强制全生态放弃单验证员配置,多验证员冗余很可能成为跨链桥的新行业标准。但每一次标准升级,往往都是被代价沉重的教训推着走的。