DeFi硬編碼預言機漏洞14個月內第四度重演
作者:The Defiant(DeepChain TechFlow Shenchao整理)
要點:本文不只回顧Resolv事件,更指出一個更令人不安的現象:同一種攻擊路徑——借貸市場以硬編碼預言機把已脫錨穩定幣仍按1美元計價——在過去14個月內至少發生四次。問題未必是單一技術缺陷,而是「策展人(curator)」模式的結構性設計:風險由存款人承擔,收益主要由策展人取得。
在一個平靜的周日早上,有人用約17分鐘把10萬美元變成2,500萬美元。目標是生息穩定幣協議Resolv。Resolv暫停合約前,其美元錨定穩定幣USR一度跌至幾美仙。截稿時,USR仍嚴重脫錨,約報0.25美元,本周跌幅逾70%。
衝擊迅速外溢。Fluid/Instadapp單日吸收逾1,000萬美元壞帳,並出現超過3億美元淨流出,創平台史上最大單日流出。共有15個Morpho金庫受影響;Euler、Venus、Lista DAO及Inverse Finance其後亦暫停與USR相關市場。
導致損失擴散的核心機制——在借貸市場仍以1美元為已脫錨穩定幣定價——並非新鮮事,過去14個月內至少出現四次。
漏洞如何發生
USR鑄造採用兩步離鏈流程:用戶先透過`requestSwap`存入USDC,其後由具特權的離鏈簽名金鑰`SERVICE_ROLE`透過`completeSwap`確認最終鑄造數量。合約設有最少輸出限制,卻沒有最高上限——只要持匙者簽名,合約就會照單執行。
攻擊者透過Resolv的AWS Key Management Service取得該金鑰存取權後,先提交兩筆USDC存款,合計約10萬至20萬美元,再以被攻陷的金鑰授權鑄造8,000萬枚USR。鏈上資料顯示,兩筆交易分別鑄造5,000萬及3,000萬枚USR,前後僅隔數分鐘。
鏈上分析師Vadim(@zacodil)表示:「Resolv的USR漏洞不是bug,而是按設計運作的"功能",問題正正在此。」他指出,`SERVICE_ROLE`只是一般EOA地址,並非多簽。管理員金鑰有多簽保護,但鑄幣金鑰沒有。
Vadim補充,Resolv曾完成18次審計,其中一次曾指出名為「Missing Upper Bound(缺少上限)」的漏洞。
攻擊者的退出路徑相當有序:先把鑄造的USR轉為wstUSR(質押包裝版本)以減少對市場的直接衝擊,再透過Curve、Uniswap及KyberSwap換成ETH。攻擊者錢包目前持有約11,400枚ETH(約2,400萬美元)。在穩定幣崩跌期間,支撐整個系統的ETH與BTC抵押池仍保持完整。
損失為何會外溢
Resolv事件實際上是兩件事疊加:其一是鑄幣漏洞,其二是跨保證金借貸市場的失效。當USR及wstUSR價格崩潰後,凡把它們作為抵押品的借貸市場都遇到同一問題:預言機仍把wstUSR定價接近1美元。
風險分析公司Chaos Labs創辦人Omer Goldberg記錄了該機制,並指出關鍵在於預言機被硬編碼,價格不會重估:「wstUSR被標記為1.13美元,但二級市場實際交易約0.63美元。」
交易者因此可在公開市場低價買入wstUSR,再按預言機價格1.13美元把它抵押到Morpho或Fluid借出USDC,隨後撤出套現。
在Fluid方面,團隊取得短期貸款以覆蓋100%壞帳,並承諾全額補償所有用戶。Morpho共同創辦人Paul Frambot則表示,約15個金庫曝險明顯,且多採用高風險、長尾抵押資產策略。
知名策展人Gauntlet稱:「對多個高收益金庫的曝險有限。」D2 Finance隨即反駁,公布鏈上資料指Gauntlet旗艦「USDC Core Vault」向wstETH/USDC市場配置了495萬美元。Goldberg其後表示,Gauntlet的金庫在該市場佔貸方流動性98%。
Frambot在書面回覆The Defiant時表示:「我們一直在探索更全面呈現不同風險的方法,但不認為核心問題是缺乏標籤。」他續稱:「Morpho對預言機採取中立(oracle-agnostic),允許策展人為特定市場選擇其認為最合適的預言機。Morpho是開放、無需許可的基礎設施,設計上把風險管理外包予策展人。」
他亦提到:「很難在所有情境下客觀地強制"正確"的安全護欄;在協議層面施加限制,也可能阻礙合法策略。」
雖然底層協議將風險管理交由策展人,但業內有人認為策展人未盡責。Marc Zeller在X上表示:「我認為策展人產業的設計有缺陷,因為根本沒有真正的策展。」
截至發稿,Resolv、Gauntlet及Fluid未回覆The Defiant的置評要求。
反覆出現的失效模式
這並非全新攻擊。2025年1月,Usual Protocol的USD0++在Morpho金庫內被策展人MEV Capital硬編碼為1美元。其後Usual在毫無預警下把贖回底價調至0.87美元,令MEV Capital金庫的貸方被鎖定,資金利用率飆至100%。
2025年11月,Stream Finance的xUSD崩盤,原因是策展人把USDC存款導向由合成穩定幣支撐的槓桿循環;當預言機拒絕更新時,Morpho、Euler及Silo上估計有2.85億至7億美元資產面臨風險。
Moonwell亦在2025年10月及11月連續兩次出現預言機失效,導致逾500萬美元壞帳。
對策展人模式意味著甚麼
Morpho的架構把所有風險決策外包予第三方「策展人」:由他們建立金庫、挑選抵押品、設定貸款價值比(LTV),並選擇預言機。理論上,專業機構具更深風控能力,競爭會帶來更佳風險管理,而協議負責執行規則。
但策展人按產生的收益收取費用,天然有動機接納風險更高、回報更高的抵押品,例如生息穩定幣。問題在於一旦脫錨,損失由存款人承擔,而非策展人。在Resolv事件中,部分策展人的自動化機械人於漏洞發生後仍持續數小時向相關金庫注資,令損失進一步擴大。
對生息穩定幣使用硬編碼預言機的理由,是避免短期波動觸發不必要清算。但這種保護只有在穩定幣確實保持穩定時才有效。
鏈上分析公司Chainalysis在事後檢討中指出,需要具備即時鏈上偵測能力。其分析稱:「鏈上智能合約運作完全正常,問題明顯出在更廣泛的系統設計與離鏈基礎設施。」