Yearn Finance 揭露一個數學錯誤,導致價值900萬美元的 yETH“無限鑄造”事件

DeFi 協議 Yearn Finance 已發布關於上週 yETH 攻擊事件的事後報告(post-mortem),指出舊版 stableswap 池中的一個數學錯誤,讓攻擊者能“幾乎無限鑄造” LP 代幣並提取約 900 萬美元資產。Yearn 也確認已追回部分被盜資金。

事故與攻擊機制

根據 Yearn,yETH weighted stableswap 池於 2025 年 11 月 30 日第 23,914,086 區塊被利用,經過一連串複雜操作,使池中的 solver (solver) 出現錯誤狀態,最終導致 arithmetic underflow 錯誤。

v2、v3 保管庫及其他產品未受影響;損失僅集中於 yETH 及相關整合。

遭攻擊的池為自訂 stableswap,聚合多種 liquid staking (LST) 代幣,如 apxETH、sfrxETH、wstETH、cbETH、rETH、ETHx、mETH、wOETH 及 yETH/WETH 池。事發前,這些池持有一籃子 LST 及 298.35 WETH。

三階段攻擊過程與“無限鑄造”路徑

事後報告將本次攻擊分為三個階段:

  1. 在 add_liquidity 操作中導致嚴重失衡

攻擊者發送極度失衡的流動性存入,將池的 solver 固定進設計範圍外。這導致內部變數 (Π) 跌至 0,破壞 weighted stableswap 的 invariant,允許大規模 over-mint LP 代幣。 2. 利用 remove_liquidity 抽乾資產

憑藉 over-mint 的 LP,攻擊者不斷呼叫 remove_liquidity 及相關函數,提取幾乎所有 LST 流動性,並將錯誤的鑄造成本轉嫁給協議自有流動性 (POL)。此過程令池內部供應降至 0,儘管 ERC-20 餘額仍然存在。 3. 再次觸發“bootstrap”路徑,無限鑄造 LP

攻擊者回到僅用於首次部署的池初始化邏輯。透過發送違反資料域條件的“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 fuzzing、反向數學測試及與 off-chain 模型對照驗證。

Yearn 表示感謝 ChainSecurity 分析根本原因,以及 SEAL 911 協助應急與資產追回。相關攻擊者資金流向的調查與追蹤仍在進行中。

王踐

ETH-0.09%
YFI-2.37%
查看原文
此頁面可能包含第三方內容,僅供參考(非陳述或保證),不應被視為 Gate 認可其觀點表述,也不得被視為財務或專業建議。詳見聲明
  • 讚賞
  • 留言
  • 轉發
  • 分享
留言
0/400
暫無留言
交易,隨時隨地
qrCode
掃碼下載 Gate App
社群列表
繁體中文
  • 简体中文
  • English
  • Tiếng Việt
  • 繁體中文
  • Español
  • Русский
  • Français (Afrique)
  • Português (Portugal)
  • Bahasa Indonesia
  • 日本語
  • بالعربية
  • Українська
  • Português (Brasil)