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跨链操作。不是因为它们被攻击了,而是因为它们不确定自己是不是下一个。 ...