KelpDAO遭攻击事件分析:跨链桥配置漏洞成核心原因

哔哔News1天前

作者:蓝狐;来源:X,@lanhubiji

近日,KelpDAO遭受了一次严重的黑客攻击,导致约2.36亿美元的资产损失。此次攻击的核心原因是攻击者通过伪造跨链消息,利用了KelpDAO在LayerZero跨链桥上的配置漏洞。

具体来看,攻击者伪造了一条跨链消息,使LayerZero OFT桥在以太坊主网直接释放了11.65万枚真实的rsETH(无对应源链销毁)。随后,这些“空壳”rsETH被存入Aave等协议作为抵押品,借出了约2.36亿美元的真实WETH/ETH。

问题的关键并不在于Aave协议本身,而是在于KelpDAO对LayerZero跨链桥的配置。KelpDAO的rsETH跨链使用的是LayerZero V2的OFT(Omnichain Fungible Token)标准:

  • 在以太坊主网,OFTAdapter合约锁仓rsETH,作为多条L2上wrapped rsETH的最终储备(类似银行金库)。
  • 在L2上,标准OFT合约在跨链时遵循“debit(销毁/扣减)→ 消息 → credit(铸造/释放)”的1:1机制。

正常的跨链流程应为:L2用户烧毁rsETH → LayerZero发送消息 → 主网OFTAdapter收到后释放rsETH。

然而,攻击者仅需在以太坊主网直接调用LayerZero EndpointV2合约的lzReceive函数(交易哈希已公开:0x1ae232da...),并塞入一个伪造的跨链消息包(origin packet),声称消息来自合法源链。

EndpointV2验证通过后,将消息传递给Kelp的rsETH OFTAdapter。OFTAdapter收到消息后,直接从主网储备金库释放11.65万枚rsETH到攻击者地址。这导致没有源链的burn/debit记录,但在主网完成了credit/release,omnichain供应量守恒被打破,主网金库被抽空,所有L2上的rsETH同时变成“废纸”。

整个攻击仅需一个交易即可完成。后续两次追加攻击(各4万枚)未能成功,因为KelpDAO紧急暂停了相关功能。

那么,为什么LayerZero跨链桥会接受这个假消息?问题并非出在LayerZero协议本身,而是KelpDAO的应用层(OApp)安全配置过于薄弱。

LayerZero V2支持开发者自定义验证强度,使用DVN(分布式验证器网络)来确认消息。然而,KelpDAO仅配置了1-of-1 DVN(只需单个验证器签名即可通过),这是最弱的安全档位。

早在2025年1月,Aave治理论坛曾提醒KelpDAO需要将DVN扩展到多签(至少2-of-2或以上)。但15个月过去了,KelpDAO仍未进行修改,依然选择了“速度优先”的最弱配置。

正是这一单点成为本次黑客事件的核心攻击点:单个DVN被攻破、签名被伪造,或直接构造了通过验证的packet。而EndpointV2一旦收到“验证通过”的消息,就直接调用目标合约的lzReceive,OFTAdapter完全信任Endpoint传来的packet,没有额外二次校验。

如果KelpDAO不是一味追求速度优先,而是同时均衡考虑安全,或许这次攻击不会成功。也就是说,KelpDAO将“跨链消息合法性”完全押在了单个DVN上。

此外,攻击者能够迅速借到真实ETH的原因是rsETH在Aave等协议中被列为白名单抵押品。攻击者在KelpDAO暂停前的46分钟内,将假rsETH存入协议并借出真实WETH。当KelpDAO冻结桥和代币时,坏账已经在Aave形成(Aave冻结rsETH市场、启动Umbrella安全模块处理)。

KelpDAO攻击流程图

总结来说,此次攻击的核心问题在于“单DVN配置 + 直接调用lzReceive塞假packet”。单点验证风险与DeFi可组合性相结合,最终酿成了这次超大规模的黑客事件。

单点验证是脆弱的,速度固然重要,但安全更为关键。

免责声明:

1.资讯内容不构成投资建议,投资者应独立决策并自行承担风险

2.本文版权归属原作所有,仅代表作者本人观点,不代币币情的观点或立场