Yearn Finance披露导致价值900万美元“无限铸造”yETH的算术错误

DeFi 协议 Yearn Finance 已发布关于上周 yETH 攻击事件的事后分析报告,指出旧版 stableswap 池中的一个算术错误,使攻击者能够“几乎无限铸造”LP 代币,并提取了约 900 万美元资产。Yearn 也确认已追回部分被盗资金。

事件经过与攻击机制

据 Yearn 称,yETH weighted stableswap 池于 2025 年 11 月 30 日第 23,914,086 区块被利用,经过一系列复杂操作,使池子的 (solver) 出现状态偏差,最终导致 arithmetic underflow 错误。

v2、v3 保险库及其他产品未受影响;损失仅集中在 yETH 及相关集成上。

被攻击的池为自定义 stableswap,聚合了多种流动性质押代币 (LST),如 apxETH、sfrxETH、wstETH、cbETH、rETH、ETHx、mETH、wOETH 及 yETH/WETH 池。事件发生前,这些池持有一篮子 LST 和 298.35 WETH。

三阶段攻击过程与“无限铸造”路径

事后分析将此次攻击分为三个阶段:

  1. 在 add_liquidity 中造成极度失衡

    攻击者发送极为失衡的流动性注入,将池的固定求解器推入设计外的活动区间。这导致内部变量 (Π) 降为 0,破坏了 weighted stableswap 的不变量,并允许超量铸造大量 LP 代币。

  2. 通过 remove_liquidity 抽干资产

    获得超量铸造的 LP 后,攻击者不断调用 remove_liquidity 及相关函数,提取大部分 LST 流动性,并将铸币成本偏差转嫁给协议自有流动性 (POL)。此过程使池的内部供应减少至 0,尽管 ERC-20 余额仍有剩余。

  3. 重新激活“bootstrap”路径,实现无限铸造

    攻击者重新进入仅限首次部署的池初始化路径。通过提交违反数据域条件的“dust”配置,触发 unsafe_sub 操作导致 underflow,制造出“准无限”量的 yETH LP,随后用于提取 Curve 上 yETH/ETH 池的全部流动性。

资产追回与处置方向

Yearn 表示已与 Plume 和 Dinero 协作,追回了 857.49 pxETH;追回交易于 12 月 1 日完成。该资金将按事发前余额比例分配给各 yETH 存款人。

约 1,000 ETH 被盗当晚已流入 Tornado Cash,剩余部分也于 12 月 5 日转入 Tornado。The Block 此前记录,约 300 万美元 ETH 在攻击后即被送入 mixer。

Yearn 强调 yETH 采用基于 YIP-72 的自主管理机制,并附有“Use at Own Risk”条款,确认 Yearn 团队和 YFI 社区不承担赔付责任。所有追回资产将返还受影响用户。

修复计划

为防止类似事件重演,Yearn 提出以下措施:

  • 为 solver 增加明确的数据域检查;将 Π = 0 视为严重错误。
  • 关键位置将所有不安全算术操作替换为 checked math。
  • 池已启动后禁用或限制 bootstrap 逻辑。
  • 限制发行 LP 的数量不得超过实际存入价值的硬性上限。
  • 扩展基于 invariant 的模糊测试、对立算术测试及与链下模型的对照测试。

Yearn 感谢 ChainSecurity 协助分析根本原因及 SEAL 911 协助事件响应与资产追回。攻击者资金流的调查与追踪仍在持续中。

王践

ETH-0.21%
YFI-2.83%
查看原文
此页面可能包含第三方内容,仅供参考(非陈述/保证),不应被视为 Gate 认可其观点表述,也不得被视为财务或专业建议。详见声明
  • 赞赏
  • 评论
  • 转发
  • 分享
评论
0/400
暂无评论
交易,随时随地
qrCode
扫码下载 Gate App
社群列表
简体中文
  • 简体中文
  • English
  • Tiếng Việt
  • 繁體中文
  • Español
  • Русский
  • Français (Afrique)
  • Português (Portugal)
  • Bahasa Indonesia
  • 日本語
  • بالعربية
  • Українська
  • Português (Brasil)