一个没人看的开源AI工具,12天前就预警了Kelp DAO的2.92亿美元漏洞

Favoritecollect
Shareshare

作者:Zengineer

编译:深潮 TechFlow

深潮导读: 4 月 18 日,Kelp DAO 被盗 2.92 亿美元,是 2026 年迄今最大的 DeFi 事故。漏洞不在合约代码里,而在 LayerZero 跨链桥的 1-of-1 验证节点配置——单点失守就能伪造跨链消息。作者 12 天前用自己开发的开源 AI 审计工具扫描 Kelp 时,就已经标记过这个风险点。本文复盘攻击全过程,也诚实反思工具当时没做对的三件事。

image

Kelp DAO 是什么

Kelp DAO 是一个建在 EigenLayer 之上的流动性再质押协议。机制是这样的:用户把 ETH 或流动质押代币(stETHETHx)存进 Kelp 合约,合约再把资产委托给 EigenLayer 的运营节点做再质押——同时给多个 AVS(Actively Validated Services,主动验证服务)提供安全性。作为回报,用户拿到 rsETH 作为凭证。和直接在 EigenLayer 上再质押(资产被锁住)不同,rsETH 是流动的——可以交易、可以在 Aave 等借贷协议里当抵押品、也可以跨链。

为了实现这种跨链流动性,Kelp 用 LayerZero 的 OFT(Omnichain Fungible Token,全链同质化代币)标准在 16 条以上的链上部署了 rsETH。当你把 rsETH 从以太坊跨到某条 L2 时,LayerZero 的 DVN(Decentralized Verifier Network,去中心化验证网络)会校验这条跨链消息是否合法。这套桥架构正是后面故事的核心。

Kelp 由 Amitej Gajjala 和 Dheeraj Borra(此前是 Stader Labs 的联合创始人)发起,2023 年 12 月上线,TVL 峰值 20.9 亿美元,治理采用 6/8 多签加 10 天合约升级时间锁。治理代币 KERNEL 统管 Kelp、Kernel、Gain 三条产品线。

被盗事件

2026 年 4 月 18 日,攻击者从 Kelp DAO 的跨链桥里抽走了 116,500 枚 rsETH,约合 2.92 亿美元——2026 年迄今最大的 DeFi 攻击事件。根本原因不是智能合约漏洞,而是一个配置问题:一个 1-of-1 的 DVN 设置(也就是只有 1 个验证节点、通过 1 个签名就算数),让攻击者用单个被攻破的节点就伪造了跨链消息。

12 天前,4 月 6 日,我开源的安全审计工具就已经把这个攻击面标了出来。

先说一句:这次被盗,是真实的人在真实地亏钱。从没碰过 rsETH 的 Aave WETH 存款人,资金被冻了;多个协议里的 LP 要承担他们根本没签约承担的坏账。这篇文章分析发生了什么、我们的工具捕捉到了什么——但人们实际损失的代价,比任何评分表都更重要。

完整报告挂在 GitHub 上,commit 时间戳任何人都能验证。下面讲讲我们抓到了什么、漏掉了什么,以及这件事对 DeFi 安全工具意味着什么。

46 分钟,DeFi 震动

UTC 时间 4 月 18 日 17:35,攻击者攻破了那个孤立的 DVN 验证节点,然后让它"批准"了一条伪造的跨链消息。LayerZero 的 Endpoint 看到 DVN 通过了,就把消息通过 lzReceive 递给 Kelp 的 OFT 合约——合约照做,在以太坊主网上铸出了 116,500 枚 rsETH。消息声称其它链上锁了等值资产做担保。那些资产从来就不存在。

接下来是一套标准的 DeFi 洗钱流程:

  1. 把偷来的 rsETH 当抵押品存进 Aave V3、Compound V3、Euler
  2. 用这些没有真实担保的抵押品,借出约 2.36 亿美元 WETH
  3. 集中约 74,000 枚 ETH,通过 Tornado Cash 出金

46 分钟之后的 18:21,Kelp 的紧急暂停多签冻结了合约。攻击者随后两次追击(各 40,000 枚 rsETH,约 1 亿美元)全部 revert——这次暂停又挡下了约 2 亿美元。

但波及范围仍然惨烈。Aave V3 吞下约 1.77 亿美元坏账。AAVE 代币暴跌 10.27%。ETH 跌 3%。Aave 上 WETH 的使用率瞬间拉满到 100%,储户抢着撤。20 多条 L2 上的 rsETH,一夜之间全都成了价值存疑的资产。

4 月 6 日,报告抓到了什么

4 月初,就在 4 月 1 日 Drift Protocol 被盗 2.85 亿美元之后不久,我写了一个开源的 Claude Code 技能 crypto-project-security-skill ——一套 AI 辅助的架构风险评估框架,用公开数据(DeFiLlama、GoPlus、Safe API、链上验证)来评估 DeFi 协议。它不是代码扫描器,也不是形式化验证工具。Drift 事件让我看清一点:真正导致最大损失的,不在智能合约代码里——而在治理漏洞、配置疏忽、架构盲区,这些代码扫描器永远看不见的地方。于是我写了一个专门评估这几层的工具:治理结构、预言机依赖、经济机制、跨链架构,把每个协议和历史上著名攻击(Drift、Euler、Ronin、Harmony、Mango)的攻击模式做对比。

4 月 6 日,我对 Kelp DAO 跑了一次完整审计。 完整报告 公开在 GitHub 上,带不可篡改的 commit 时间戳。

报告给 Kelp 的综合分诊评分是 72/100(中等风险) 。事后看,这个分打得太宽松——那几个没解答的跨链信息缺口本该把分数拉低。但即便是在中等风险评级下,报告也点到了后来被真实利用的那个攻击面。

下面这张截图,是报告"信息缺口"部分的原文——关于 Kelp 的 DVN 配置的那个问题,最后变成了 2.92 亿美元被盗的根因:

image

图注:4 月 6 日报告的"信息缺口"章节,DVN 配置不透明被直接点名

下面逐条对照报告里标记了什么、实际怎么被打穿的。

发现 1: DVN 配置不透明 (预警信号)

报告原文: 「LayerZero DVN 配置(各链的验证者集合、阈值要求)未公开披露」

实际发生了什么: Kelp 跑的是 1-of-1 的 DVN 配置。一个节点。一个单点。攻击者拿下这一个节点,就伪造出了跨链消息。如果配置是 2-of-3(行业最低推荐),攻击者就必须同时攻破多个独立验证方。

要说清楚一件事:这是 Kelp 的问题,不是 LayerZero 的问题。LayerZero 是基础设施——它提供 DVN 框架,每个协议自己挑配置:几个验证节点(1-of-1、2-of-3、3-of-5...)、用谁的节点、各链阈值多少。Kelp 部署 OFT 桥的时候选了 1-of-1。LayerZero 完全支持 2-of-3 或更高——是 Kelp 自己没开。

打个比方:AWS 提供 MFA(多因素认证)。如果你账号被盗是因为你从没开 MFA,那是你的问题,不是 AWS 的。LayerZero 把安全机制摆在那了,Kelp 没用。

我们的报告当时没法确定具体的 DVN 阈值(因为 Kelp 从没披露过),但我们把这个不透明明确列成了未解决的信息缺口和风险项。不愿披露本身,就是一个红旗。

发现 2: 16 条链的单点失败 (直接命中)

报告原文: 「LayerZero DVN 的单点失败,可能同时影响 16 条支持链上的 rsETH」

实际发生了什么: 伪造消息直接命中以太坊主网,冲击波扩散到所有部署了 rsETH 的链。LayerZero 预防性地暂停了所有从以太坊出去的 OFT 桥。20 多条 L2 上的 rsETH 持有人,手里的代币一夜之间说不清还有没有担保。

这是多链部署的系统性风险:rsETH 同时在 Arbitrum、Optimism、Base、Scroll 等 L2 上流通,但所有这些代币的价值都源自以太坊主网上的资产。主网桥一被攻破,每条 L2 上的 rsETH 同时失去保证——持有人既不能赎回,也没法验证自己手里的代币还值不值钱。Lido 的 earnETH(持有 rsETH 敞口)、Ethena 的 LayerZero 桥——全都被迫暂停。爆炸半径远超 Kelp 自己。

发现 3: 跨链治理控制权未经验证 (相关问题)

报告原文: 「对各链 LayerZero OFT 配置的治理控制权未经验证——特别是:这些控制权是否归属同一个 6/8 多签和 10 天时间锁,还是由独立的管理密钥掌控」

实际发生了什么: DVN 配置显然不在核心协议的严格治理之下。如果桥配置变更也归 6/8 多签加 10 天时间锁管,1-of-1 的 DVN 设置就需要 8 个签署人里有 6 个同意——这种配置不太可能一直没人管。

这暴露了一个常见的治理盲区:很多协议对核心合约升级设了严格的多签加时间锁,但在运营层的改动上——桥配置、预言机参数、白名单管理——往往只有一个 admin key 能改。Kelp 的核心协议治理是业内领先的(6/8 多签 + 10 天时间锁),但这些保护并没有延伸到它最大的攻击面:跨链桥。

发现 4: 匹配 Ronin/Harmony 攻击模式 (直接命中)

报告原文: 「最相关的历史先例涉及桥安全。Kelp 在 16 条链上的 LayerZero 部署,带来的运营复杂度类似 Ronin 的多链架构」

实际发生了什么: 攻击路径几乎完美复刻了 Ronin 剧本——攻破桥验证者、伪造消息、抽空资产。我们工具的攻击模式匹配模块,把协议架构和历史攻击类别做对比,正确地把这里识别为最高风险的攻击向量。

历史背景:2022 年,Ronin 桥因 5 个(共 9 个)验证者被攻破损失 6.25 亿美元;同年,Harmony 的 Horizon 桥因 2 个(共 5 个)验证者被攻破损失 1 亿美元。Kelp 的处境更极端——只有 1 个验证者,把攻击门槛压到了绝对最低。工具之所以能标出这个风险,就是因为它会自动把协议架构对比这些历史攻击模式,而不是只看代码。

发现 5: 没有保险池 (放大了损失)

报告原文: 「协议目前没有专项保险池,也没有社会化损失承担机制来吸收罚没事件」

实际发生了什么: 因为没有保险储备,2.92 亿美元的损失整个被下游协议吞下。Aave 的回收储备覆盖了不到它 1.77 亿美元坏账的 30%。和 Kelp 桥配置决策毫无关系的 LP——承担了最大的冲击。

攻击者把偷来的 rsETH 当抵押品,存进 Aave V3、Compound V3、Euler,然后借出真的 WETH。一旦 rsETH 被确认没担保,这些仓位就成了「无法清算」的坏账——抵押品变废纸,但借出去的 WETH 已经没了。Aave 上的 WETH 使用率瞬间拉满,普通用户想取都取不出来。如果你是 Aave 上的 WETH 存款人,就算你从没碰过 rsETH,你的资金也受影响。Kelp 和 Nexus Mutual 的保险合作只覆盖特定的金库产品,没覆盖核心的 rsETH 协议敞口。

这是两边责任都没尽到。Kelp 这边:一个管着 13 亿美元 TVL 的协议,零保险池、零损失吸收机制。桥被攻破时,没有任何缓冲能吸收伤害。Aave 这边:接受 rsETH 做抵押品,但没有充分评估它的跨链桥配置风险。Aave 的风险参数(LTV、清算阈值)是为正常价格波动设计的,但没考虑「桥配置被攻破导致抵押品一夜归零」这种尾部风险。回收储备连 30% 坏账都覆盖不了。本质上,这是一次风险定价失败:Aave 把 rsETH 当成一个正常波动的资产来对待,但它实际上带着桥失败的二元尾部风险。两边的失败叠加起来——Kelp 这边没有保险阻止坏抵押品进入系统,Aave 这边没有做足够精细的风险建模来限制这种场景下的敞口。

我们哪里错了

有三件事本该做得更好:

风险评级打低了。 我们把跨链桥风险评成了「中等」。报告里 5 个未解决的信息缺口有 3 个跟 LayerZero 桥配置相关,又匹配上 Ronin/Harmony 的历史攻击模式——这本该是「高」或「严重」。不透明本身就应该是更强的信号。

我们没能穿透配置层。 报告反复要求 Kelp 披露 DVN 阈值,但我们没法独立验证。这正是 鉅亨網的事后分析 指出的同一个结构性盲区:现有审计工具聚焦代码逻辑,抓不到配置层的风险。我们标记了问题,但没能回答。

我们没查链上。 DVN 配置其实可以通过 LayerZero 的 EndpointV2 合约直接在链上读。我们本可以查询 ULN302 registry 来独立验证 Kelp 的 DVN 阈值,而不是标成「未公开披露」。如果当时查了,就能直接看到 1-of-1 配置,根本不需要 Kelp 披露。这是工具最具体的改进方向:在跨链评估步骤里加上链上 DVN 配置验证。

发现不够具体,不够可行动。 说「DVN 配置未披露」是在观察文档缺失——不是预测攻击。这些风险(预言机集中度、桥依赖、缺少保险)其实同样普遍存在于多数跨链 DeFi 协议。工具标记了 Kelp 的不透明,但它也在几十个没被攻击的协议上标过类似模式。在没有公布误报率的情况下,宣称「我们预测到了」是夸大事实。更诚实的说法是:我们问了一些没人在问的正确问题,其中一个恰好踩到了关键承重点。

关于「负责任披露」

一个公平的问题:如果我们 4 月 6 日就标记了这些风险,为什么没在 4 月 18 日被攻击前通知 Kelp?

没通知。原因是:报告识别的是不透明——「DVN 配置未披露」,不是一个具体的可利用漏洞。我们不知道配置是 1-of-1,只知道配置没公开。没有具体到可以披露的东西。「你的桥配置没文档」是一个治理观察,不是一份适合提交 bug 赏金计划的报告。

事后看,我们本可以直接联系 Kelp 团队,问一下他们的 DVN 阈值。那次对话或许能把 1-of-1 配置暴露出来,促成修复。我们没做。这是个教训:就算某个发现看起来太模糊,不适合走正式披露流程,私下发条消息问一问还是值得的。

这件事对 DeFi 安全意味着什么

Kelp 被盗——跟 17 天前的 Drift 被盗一样——不是智能合约漏洞。Slither、Mythril、甚至 GoPlus 之类的自动化代码扫描器都抓不到。漏洞藏在部署配置、治理缺口、架构决策里,坐落在代码层之上。

这也是 crypto-project-security-skill 的核心主张:

协议安全不只是代码安全。 一个协议可以有完美的 Solidity、来自顶级公司的五次审计、25 万美元的 bug 赏金——然后因为桥验证者配置的问题,照样被偷走 2.92 亿美元。

工具 在 GitHub 上开源 ——任何人都可以审查方法论、自己运行、或者改进它。

时间线

image

12 天。信号早就在那。问题是:生态要怎么建立起能在下一座桥倒下之前看见这些信号的工具。

你可以做什么

如果你手里有资产在带跨链桥的 DeFi 协议里:

  1. 自己跑一次审计。 工具是开源的。不用信我们——自己验证。
  2. 查桥验证者配置。 如果一个协议不愿披露它的 DVN 阈值,就当成红旗。我们的报告就是这么做的,事实证明没错。
  3. 别以为代码审计覆盖了一切。 Kelp 有 5 次以上来自知名公司和平台的代码审计(Code4rena、SigmaPrime、MixBytes)。传统代码审计的设计目标不包括抓 DVN 阈值设置这种配置层风险——那是另一类分析,不是审计公司失职。
  4. 评估保险覆盖。 如果一个协议没有保险池,而你是某个接受它代币作抵押的借贷平台上的 LP,你就在隐性地替它承保。这次 Aave 上 WETH 存款人,用最硬的方式学到了这件事。

更大的图景:AI Agent 作为一个安全层

这篇文章讲的是一个工具和一次被盗。但背后的主张更大: AI Agent 可以成为 DeFi 投资者的独立安全层。

加密行业传统安全模式长这样:协议雇审计公司、审计公司看代码、审计公司发报告。这个模式有盲区——Kelp 事件正说明了这一点,它聚焦代码正确性,却漏掉了配置、治理、架构风险。

Claude Code 和这类技能工具带来的是另一种路径:任何人都能用公开数据,几分钟内对任何协议跑一次 AI 辅助的风险评估。你不用花 20 万美元请审计公司。你不用会读 Solidity。你让 agent 把协议架构对比已知攻击模式,它会把你在存钱之前应该问的问题摆出来。

这不会取代专业审计——但它把第一层尽职调查的门槛降低到了所有人都能用的程度。一个正在考虑把资金投入某个新再质押协议的 LP,现在可以跑一条 audit defi <protocol>,拿到一份覆盖治理、预言机、桥、经济机制的结构化风险评估。对散户和中腰部投资者自我保护的方式,这是一次真实的转变。

Kelp 的那份报告不完美。它给桥风险打了中等,应该是严重。它没穿透配置层。但它问了正确的问题——如果 Kelp 团队或任何 LP 当时认真对待了这些问题,2.92 亿美元的损失本可以避免。

Disclaimer: This article is copyrighted by the original author and does not represent MyToken’s views and positions. If you have any questions regarding content or copyright, please contact us.(www.mytokencap.com)contact
More exciting content is available on
X(https://x.com/MyTokencap)
or join the community to learn more:MyToken-English Telegram Group
https://t.me/mytokenGroup