KeyFrame內部研究專用

Adversarial ERC-4626: How Vault-Share Manipulation Still Bypasses Listing Screens in 2025

DeFi Security Summit - DSS·11月23日週日·20 min英文

三句話摘要

ERC-4626 Vault 的 Share 價格操縱漏洞:2024 年兩起真實駭客事件解析與防禦策略。 ERC-4626 本身設計沒有問題,但整合協議若不對匯率增長速度與最低供應量設防護欄,任何空 Vault 或低流動性 Vault 都是可利用的攻擊面。 匯率可被外部捐贈操縱:ERC-4626 的 `convertToAssets()` 依賴 `totalAssets / totalShares`,任何人可直接 ERC-20 轉帳增加 totalAssets,而不增加 shares,導致匯率虛高;在 share 供應量極低時,此影響被成倍放大。

重點整理

重點
  • 1

    匯率可被外部捐贈操縱:ERC-4626 的 `convertToAssets()` 依賴 `totalAssets / totalShares`,任何人可直接 ERC-20 轉帳增加 totalAssets,而不增加 shares,導致匯率虛高;在 share 供應量極低時,此影響被成倍放大。

  • 2

    Venus 駭客利用借貸協議的 oracle 整合缺陷:攻擊者刻意壓低 wUSDM 的流通量,再注入 USDM 把匯率從 1.07 拉至 1.7,使借貸協議的抵押品估值失真,同時在 AMM 套利,這說明「已有 Chainlink oracle」並不等同於「oracle 不可操縱」。

  • 3

    Resupply 駭客利用空 Vault 的精度溢位:空 Vault 加上天文數字匯率(2e18),使協議在計算 LTV 時因整數除法下溢返回 0,攻擊者憑此繞過健康因子檢查,無限制鑄造至最高供應上限。

  • 4

    防禦分兩層:Vault 設計端與整合端:Vault 端需解決捐贈注入問題(虛擬存款、內部追蹤、初始流動性);整合端需設供應上限、匯率增長速度上限、上市審查清單,不能單靠已審計標籤放行。

實用技巧與重點

乾貨
  • 漏洞存在年限:ERC-4626 提案於 2021 年,該漏洞已知約 4 年
  • Venus 駭客:wUSDM Vault(USDM 為底層資產);匯率從 1.07 → 1.7;平台:zkSync Era;Venus 為 Compound V2 的 fork
  • Resupply 駭客:空 Vault;攻擊者捐贈 2,000 e18 資產後鑄造 1 wei share;匯率被拉至 2e18;`2e18 × 2e18 = 2e36`,導致 LTV 計算歸零;債務上限雖存在但設為 1000 萬 USD,過高
  • Vault 端防禦措施
  • Initial deposit(部署時注入初始流動性)
  • Virtual deposit(計算匯率時人為加 1e6 至 totalAssets)
  • Internal asset balance tracking(不用 `balanceOf`,改用內部帳本)
  • Share price averaging(匯率上漲分數小時平滑分散)
  • Explicit exchange rate tracking(直接追蹤匯率值而非資產餘額)
  • Discard stealth donations(追蹤因捨入產生的隱性捐贈)
  • 整合端防禦措施
  • Supply cap + debt cap(尤其對空 Vault 要設極低上限)
  • 要求上市時有最低初始 TVL
  • Correlated asset price oracle(設定年化預期漲幅,超過則 cap 匯率)
  • Circuit breaker(匯率單次波動過大即暫停市場)
  • Total supply threshold check(share 總量低於門檻即 revert)
  • 上市審查清單(Euler 的部落格:Exchange Rate Manipulations in ERC-4626
  • Compound 上市清單:明確每次上市均人工測試 share 價格是否可被捐贈或閃電貸操縱,不依賴既有審計報告

結論

結論

ERC-4626 本身設計沒有問題,但整合協議若不對匯率增長速度與最低供應量設防護欄,任何空 Vault 或低流動性 Vault 都是可利用的攻擊面。

完整解析

詳細

ERC-4626 是 DeFi 中廣泛採用的收益型 Vault 標準,允許用戶存入底層資產換取 share token,並可隨時按匯率贖回。此匯率的核心計算邏輯為 `totalAssets / totalShares`,而問題在於 `totalAssets` 可透過直接 ERC-20 轉帳(捐贈)增加,無需通過 `deposit()`/`mint()` 函數,造成匯率被人為抬高,且在 share 供應量極低時效果最顯著。這個問題業界已知長達 4 年,但 2024 年仍發生了兩起真實損失。

第一起是 Venus 協議在 zkSync Era 上遭到攻擊。攻擊者使用閃電貸,在兩個帳戶分別開設借入 wUSDM 與存入 wUSDM 的倉位,接著大量贖回 wUSDM 壓低 Vault 的 share 供應量,再將取得的 USDM 捐回 Vault,把 `convertToAssets()` 返回的匯率從 1.07 硬推至 1.7。Venus 直接使用此函數結合 Chainlink 的 USDM/USD 報價作為估值來源,毫無異常值過濾,致使抵押品價值虛高,攻擊者得以清算對手倉位並借出額外資產,同時在 AMM 上以高匯率套現,完成閉環獲利。

第二起是 Resupply 協議遭攻擊,性質更具破壞性。Resupply 是一個接受 ERC-4626 Vault token 作為抵押品的 CDP 協議,而列入支持的某個 crvUSD Vault 當時完全是空的。攻擊者捐贈 2,000 e18 的底層資產,再鑄造僅 1 wei 的 share,使 Vault 匯率達到 2e18。Resupply 計算價格時以 1e18(18 位小數)作為輸入呼叫 `convertToAssets()`,得到 2e36 的結果。此天文數字在後續 LTV 計算的整數除法中造成下溢,返回值為零,即「健康因子無窮大」。攻擊者憑此繞過所有清算邏輯,用極少量抵押品鑄造達到協議設定的最高債務上限——整整 1000 萬 USD。

演講者進一步梳理了兩類防禦思路。在 Vault 設計端,根本對策是讓捐贈難以生效或影響有限:初始流動性注入可確保 share 供應量永遠不會歸零;虛擬存款在計算公式中加入固定偏移量(如 1e6);內部帳本追蹤則完全繞過 `balanceOf()` 避免捐贈影響;share 價格平滑機制則令瞬間拉高的匯率分散於數小時內才生效。在整合協議端,關鍵是不盲目信任 `convertToAssets()` 的即時輸出:應配合相關資產報價 oracle 設定匯率年化增長上限(超過則強制使用上限值);上市審查需強制要求最低初始 TVL;應設置總 share 供應量下限閾值,低於門檻即拒絕執行;此外,維護一份結構化的上市審查清單,針對每個新資產手動測試 share 價格是否可被操縱,優先於依賴第三方審計結論。

關鍵時刻

Pipeline v2

帶時間戳的重點,會在逐字稿層級分析上線後產生。目前請先透過原始影片觀看。

事實查核

Pipeline v2

說法查證是下一次管線升級的一部分。KeyFrame 只會顯示它真正能驗證的內容。

更多「Web3 安全」的內容

IF YOU OWN XRP YOU NEED TO SEE THIS PRICE MANIPULATION! ⚠️
8 min
Web3 安全英文8月14日

IF YOU OWN XRP YOU NEED TO SEE THIS PRICE MANIPULATION! ⚠️

Zach Humphries

  • 機構支撐的積極意義:價格操縱常被視為負面,但Ripple掌握大量XRP供應與escrow,在熊市期間提高價格下限,實際上替零售投資者鎖定了低風險的積累區間,這不是剝削而是市場穩定機制。
  • 歷史模式驗證:2024年7月至11月XRP在50美分附近橫盤整理,低點觸及42美分(wick),高點65美分;隨後11月5日至12月5日單月上漲456%,年底到2025年初累計漲幅534%,這個歷史周期正在1美元價位重演。
  • 比特幣聯動邏輯:講者在4-5月就預測「如果比特幣跌至60k以下,XRP會跌至1美元或更低」,此預測精準應驗,反映出熊市中兩者的明確連動關係。
Minimmit, Multimmit and the New Consensus Frontier with Patrick O'Grady
72 min
Web3 安全英文PODCAST8月5日

Minimmit, Multimmit and the New Consensus Frontier with Patrick O'Grady

Zero Knowledge

  • 反向 Linux 架構:Commonware 刻意暴露棧各層級控制,讓開發者自訂執行環境、共識機制、密碼學實現,而非像 Cosmos SDK 只允許應用層以上定制。2-3 個月能組裝一條定製鏈,代價是額外深度但回報是長期維護成本降低及效能優化彈性。
  • 容錯假設的典範轉移:Alpine Glow(Solana 2025)實現單輪投票定終的關鍵是將容錯預算分離為獨立的 Byzantine 和 Crash 容限。傳統系統把 33% 當一個整體預算;新模型允許 20% 惡意加 20% 崩潰,打破了 PBFT 理論界線,釋放單輪設計空間。
  • Minimet 與 Multimet 的遞進:Minimet 是 5F+1 設定下的乾淨構造,實現更短視圖延遲;Multimet(剛發布)進一步允許並行 mini-commits 且驗證者可推翻領導者審查,使用者交易在全球分布式網路達到 200-300 毫秒端到端定終。
Private Information Retrieval (PIR) with Alex Hoover
64 min
Web3 安全英文PODCAST7月29日

Private Information Retrieval (PIR) with Alex Hoover

Zero Knowledge

  • PIR 保護的是訪問模式,不是資料本身
  • PIR 與加密不同,它關注的是隱藏「客戶端查詢了什麼」,而非「資料是否加密」。在公開資料庫(如區塊鏈)上,客戶端可以在不洩露查詢對象給伺服器的情況下檢索特定條目,解決了輕量級客戶端的隱私和防審查問題。
  • 客戶端預處理方案是突破瓶頸的關鍵