17:35 UTC,4月18日。

116,500个rsETH从KelpDAO的金库消失。这一刻,它们从未在Unichain上存在过——链上nonce记录清清楚楚:Unichain最后发出的编号是307,第308号数据包从未出现过。

但以太坊这边,adapter收到了"有效"签名,把钱放出去了。

2.9亿美元。用时不到一个区块。

这不是一次漏洞攻击。这是穿越信任边界的一刀——精准,干净,在没有任何人来得及反应之前就结束了。


背景铺垫

KelpDAO是一个流动性质押协议。

用户把ETH存进来,KelpDAO通过EigenLayer做再质押,用户收到rsETH作为凭证——可以交易,可以跨链,可以在DeFi里当抵押物用。

到2026年4月,rsETH已经部署到了超过20条链上:Arbitrum、Base、Mantle、Unichain、Linea……所有链上的rsETH,最终都连回以太坊主网的一个共享金库——通过LayerZero的OFT跨链标准连接。

这个金库里,装着用户信任KelpDAO保管的所有ETH。

跨链的意思是:你在Arbitrum上看到的"我的rsETH",实际上是一张欠条,欠条的主人是以太坊主网上的金库。金库安全,你的资产就安全。金库破了,你的资产就没了。

LayerZero是那条连接金库和各条链的管道。每一笔跨链操作,都要经过LayerZero的DVN(去中心化验证网络)来确认:真的有人锁了ETH,可以发币了。

LayerZero的架构允许——也推荐——运行多个独立的DVN,要求跨验证者共识后才授权转账。

KelpDAO的配置是:1个DVN,0个备用,0个门槛。

唯一被授权的验证者:LayerZero Labs自己的基础设施,标签是"LayerZero: DVN"。


事件发生

攻击者并不是从外部攻进来的。

他们先拿到了LayerZero内部RPC节点的访问权限——具体怎么拿到的,LayerZero至今没有给出完整解释。

拿到之后,他们做了两件事:

第一,在两个独立节点集群上替换了geth二进制文件。 这是供应链攻击。节点运营商以为自己在运行正常的软件,实际上每一个字节都被换过了。

第二,对剩余的干净节点发起DDoS攻击,迫使所有流量切换到被植入恶意程序的节点上。

这些被污染的节点只向DVN的IP地址发送伪造数据——告诉DVN"Unichain上发生了一笔交易"。而它们对其他所有查询者返回真实数据,包括LayerZero自己的监控系统。

DVN只看到了它被允许看到的东西。

恶意节点向DVN提交了一个伪造数据包:声称有116,500 rsETH在Unichain上被锁定并销毁。DVN的2-of-3多签签了字。数据包被认证为有效。

以太坊的adapter做了它唯一该做的事:检查哈希值是否匹配(匹配,因为签名是对的),放币。

签名是真的。数据包是假的。

这就是链上证据——Unichain的nonce 308从未存在过Unichain上rsETH总供应量只有49.26个,不可能销毁116,500个,没有Transfer事件,没有PacketSent事件。

Nonce 307是一次真实转账,nonce 308是凭空出现的。两个数据包结构完全相同,区别只在于:一个是真实的,一个是被签出来的。

攻击者还准备了第二个数据包,nonce 309,目标再拿40,000 rsETH(约1亿美元)。但KelpDAO的紧急多签刚好在那个时候冻结了收款地址,第二笔没有成功。

这就是为什么最终损失是2.9亿美元而不是4亿美元。运气成分只有这么多。

整个攻击的种子资金:约230美元,从Tornado Cash出来,距离攻击不到10小时。


结果与余波

被盗的rsETH直接进了Aave V3

8个预先进好的钱包同时行动:存rsETH进Aave,开E-Mode,用几乎99%的借款率借走真实的WETH,然后把WETH汇总到一个收集地址。

单最大一个分支:53,000 rsETH进了Aave V3,拿走了约52,440 ETH。整个过程4分钟。然后WETH转走,rsETH抵押物留在原地。

现在Aave V3的合约里还锁着89,567个rsETH——这些代币现在毫无价值,因为KelpDAO的合约已被冻结。但Aave的合约无法清算它们,因为市场无法消化这个量级。

这就是坏账。

与此同时,75,701 ETH(约1.75亿美元)开始通过THORChain、Umbra、Chainflip和BitTorrent洗出去。每一步都转成比特币。

36小时之内,清洗完成。

比特币无法追踪,无法冻结,无法归还。

Arbitrum做了唯一一次有效的反击:4月20日,12人安全委员会投票(9票赞成),动用紧急权限,把攻击者在Arbitrum上的30,766 ETH强行转到一个冻结地址。约7360万美元保住了。

这个决定充满争议——一个链上治理机构,有没有权力单方面冻结资金?

Marc Zeller的说法代表了很多人的矛盾心理:“我天生反对Arbitrum刚才做的事。但我理解这个决定。让人拿回钱,比坚持一种会让朝鲜黑客带着钱走人的立场更重要。”

但75,700 ETH不在Arbitrum上。它已经在链上换成了比特币,没有任何机构可以冻结。


余震

Aave在48小时内净流出84.5亿美元。WETH资金池利用率触及100%——所有存款都被借出去了,正常用户无法提款。

这不是Aave的坏账问题。这是银行挤提。

MEXC撤了4.31亿。Abraxas Capital撤了3.92亿。一个标记为Nonco的巨鲸撤了4.057亿。

Curve、Euler、SparkLend、Ethena、EtherFi、WBTC、TRON、Pengu、Morpho——一共31个以上协议暂停了LayerZero跨链操作。不是因为它们被攻击了,而是因为它们不确定自己是不是下一个。

没有一个rsETH敞口的协议选择了冻结——因为它们的跨链基础设施也是LayerZero。


事件总结

DeFi的可组合性是它的最大优势,也是它的最大风险。

rsETH之所以有价值,是因为它可以在任何链上使用,可以在任何协议里当抵押物。这是流动性质押的意义——解除锁仓,让资产流动起来。

但"让资产流动起来"的意思也是:任何一条链上的漏洞,都可以通过这条链条传输到所有连接它的协议。

KelpDAO被攻击了。但KelpDAO不是终点——它是跳板。

真正的问题是:如果一个基础设施层的漏洞可以绕过所有审计、所有多签、所有安全参数,直接到达所有连接它的协议——那这个基础设施层到底算不算安全?

LayerZero说它是模块化的,应用方拥有自己的安全配置。

KelpDAO说它的配置是LayerZero的文档默认值,是LayerZero团队确认过的。

两者都可能是真的。但钱没了,账要算在谁头上?


我的个人观点

一、KelpDAO没有被黑——KelpDAO的信任对象被击穿

整个叙事里最误导人的词是"KelpDAO被攻击"。

KelpDAO的合约没有漏洞。没有重入攻击,没有整数溢出,没有签名重放,没有闪电贷。

攻击者没有碰KelpDAO一根代码。

他们碰的是LayerZero的节点基础设施——LayerZero Labs自己运营的RPC节点,自己部署的DVN,自己维护的二进制文件。KelpDAO既不拥有它,也不运营它,甚至没有能力审计它。

LayerZero事后发布的公告说他们曾向KelpDAO建议过多DVN配置。KelpDAO说,在L2扩展的对话中,LayerZero团队确认默认配置是合适的。

两种说法可以同时为真。一边在文档里写着最小化示例,一边口头说"没问题,这是生产可用的"。这不是沟通失败——这是责任边界的模糊地带,而模糊地带在法律上很值钱。


二、BGD Labs在2025年2月就警告过

这个细节被淹没在事件报道里,几乎没有人注意到:

2025年2月,在Aave治理讨论rsETH上线Arbitrum和Base期间,BGD Labs明确标记了依赖单一DVN的风险,建议使用多DVN配置

这个建议被无视了

14个月后,KelpDAO以2.9亿美元为代价,证明了这个风险真实存在。

BGD Labs不是局外人——他们是Aave V3代码库的建造者和维护者。他们在正确的时机通过正确的渠道提出了正确的警告。

然后什么都没发生。

这个案例应该成为整个DeFi行业的培训教材。当专家通过治理渠道提出具体的、可操作的风险警告,然后该警告被系统性忽视——这不是技术失败,这是治理失败。而治理失败的后果,最终由用户承担,不是提出警告的人,不是忽视警告的人,也不是从忽视中获益的协议。


三、“去中心化"是营销,安全靠私人公司

整个事件揭示了DeFi生态最核心的矛盾:

LayerZero Labs——一家私人公司——运营着整个生态里最重要的跨链基础设施之一。数百亿美元、数百个协议、数百万用户的资产安全,实际上依赖于这家公司内部节点的安全状态。

这不是去中心化。这是把关键的信任假设外包给了一家中心化的私人公司,然后给这个外包加上"去中心化"的营销标签。

Arbitrum的安全委员会——12个人——能够单方面冻结7360万美元。这在任何传统的去中心化叙事里都是不可接受的。但它是有效的。相比之下,没有任何去中心化机制能够冻结那1.75亿美元——因为它已经换成了比特币。

当你需要紧急权力来阻止损失的时候,你才发现"去中心化"是一个叙事,不是一个机制。


四、为什么几乎没有人提前发现

恶意二进制文件是有行为特征的:它们只向特定IP地址提供伪造数据,对所有其他查询者返回真实结果。

如果有人在事后做复盘,他们会发现这个攻击设计得非常精确,精确到它本应该被任何基本的网络监控捕获——只要你有人在看。

但链上数据是公开的,监控是稀缺的。LayerZero自己的监控系统被伪造数据绕过了,因为节点被污染了。

“公开透明"不等于"有人在看”。“有人在看"不等于"有人有能力阻止”。“有能力阻止"不等于"有人有动力去做”。

这三个缺口,KelpDAO事件全部走完了。


五、Arbitrum的选择是DeFi的缩影

Arbitrum安全委员会投票冻结攻击者资金的时候,9票赞成,3票反对或弃权。

这个决定是对的——保住了7360万美元。

这个决定也是危险的——一个链上委员会可以单方面冻结资金,这是一个治理权力的集中。

但真正让人不安的对比是:冻结7360万美元用了几个小时和一次治理投票。把1.75亿美元换成比特币用了不到36小时,没有任何机构可以介入。

THORChain不要求身份验证,不需要托管,不经过KYC。它是去中心化的,但它也是完全匿名的——对好人如此,对朝鲜黑客也是如此。

DeFi建立了一个无需许可的金融系统,它的工具对好人和坏人是完全对称的。谁更有动力使用这些工具?


六、2.9亿美元只是开始,真正的损失在后续

KelpDAO的账本:

  • 初始缺口:163,200 ETH
  • KelpDAO自己追回:约43,000 ETH
  • Arbitrum冻结:30,700 ETH
  • 仍有缺口:约89,500 ETH

Mantle、EtherFi、Lido、Golem、Etha、Frax、LayerZero——9个生态系统合作伙伴承诺"尽最大能力"参与恢复。这些承诺的实际价值取决于它们各自的财务状况和治理意愿,不是法律约束。

Aave面对的是两个场景

  • 场景一(损失全网分摊):约1.237亿美元坏账,以太坊Core承担约9180万
  • 场景二(仅L2承担):坏账升至约2.301亿美元,集中在Mantle、Arbitrum和Base

Umbrella保险基金有23,507 aWETH(约5400万美元),但其中80%已经进入了unstaking cooldown队列——用户正在撤资,在基金被部署之前先跑为敬。

最终,谁来为这笔坏账兜底?Aave DAO国库181亿美元,以及"生态系统承诺”。那些承诺的约束力,和它们最终能兑现的比例,是一个开放性问题。


七、这不是一个漏洞,是一套系统

2026年,朝鲜黑客组织Lazarus(代号TraderTraitor)已经窃取了超过6亿美元。

Drift Protocol:2.85亿美元,2026年4月1日,六个月社会工程学渗透,需要真人关系建立,需要黑客自己先存100万美元进去建立信任。

KelpDAO:2.9亿美元,2026年4月18日,17天后。不需要社会工程,不需要人员接触,不需要等待时机,只需要拿到一个RPC节点列表。

趋势是明确的:所需的人类接触越来越少,所需的基础设施入侵越来越多。

当攻击者可以在不需要任何真实身份、不需要进入任何通讯软件、不需要让任何人点击任何链接的情况下,完成一次九位数的盗窃——这个攻击面不在你的安全培训范围内。

DeFi行业的反应是什么?写事后报告,发布新的配置建议,召开事后电话会议。

LayerZero宣布今后不再为1-of-1 DVN配置签名——这个政策在2.9亿美元被盗之后才出台。如果这不叫教训太贵了,那什么才叫教训太贵?


八、给受害者的话

你们把ETH存进KelpDAO,是因为信任这套系统。你们把rsETH跨到Arbitrum、Base、Mantle,是因为DeFi说这是安全的。你们把rsETH当作Aave的抵押物,是因为所有审计都通过了,所有风险参数都是专业机构设定的。

你们没有做错任何事。

KelpDAO的配置是文档默认值。LayerZero团队确认过它。Chaos Labs和LlamaRisk审核过rsETH作为抵押物的资格。BGD Labs在治理里提过警告,但没有被采纳。

审计查的是代码。代码没有漏洞。问题出在审计范围之外——配置选择,基础设施运营商,节点安全策略。这些不在审计范围内,但它们决定了你的钱是否安全。

LayerZero和KelpDAO正在打口水仗,双方都在说对方该负责。与此同时,你的资产要么在被分摊,要么在等待一个承诺能否兑现的会议纪要。

这就是DeFi。它给你无需许可的金融服务,但它不给你任何追索权。当你信任的系统出错,没有人对你负责——只有一份事后报告和一个治理投票。


参考来源


作者: Warren Wong 联系方式: [email protected]