Back to Blog

Venus Thena (THE) 事件:何處崩潰與被忽略的細節

March 17, 2026
17 min read

2026 年 3 月 15 日,一名攻擊者繞過了 Venus Protocol(BNB Chain)Core Pool 中 THE (Thena) 市場的供應上限,將抵押部位誇大至預期上限的 3.67 倍,並借走了約 1,490 萬美元的資產 [1]。早期的媒體報導將此事件描述為約 370 萬美元的駭客攻擊,但鏈上的實際情況顯得更為複雜:協定與攻擊者雙方最終都蒙受了損失

Venus 自身的事故後調查報告 [1] 以及多份之前的分析 [2, 3, 4] 已經詳細剖析了攻擊機制,涵蓋了供應上限繞過、捐贈攻擊向量以及基本的資金流向。本文將不再重述這些內容,而是轉向探討協定與攻擊者在鏈上的盈虧狀況,重點關注借貸協定防禦體系中暴露出的系統性風險。

透過分析攻擊與清算過程並追蹤完整的資金流向,本文發現共有 254 個清算機器人在 8,048 筆交易中競爭平倉,但仍留下了 215 萬美元的壞帳 [1]。儘管觸發了清算,但效果不彰。攻擊者投入了 992 萬美元,而在所有清算完成後僅保留約 520 萬美元,鏈上淨損失約為 470 萬美元。這些發現揭示了借貸協定的三道防線在真實壓力下是如何崩潰的,同時也顯示出即便出現了早期預警訊號,也無法採取有效行動。這暴露了現有防禦措施的局限性,並凸顯了社區從該事件中汲取教訓、加強監控與預警能力的必要性。


背景

供應上限(Supply caps)是 Compound 類借貸市場中的標準風險控制手段。它們限制了給定資產作為抵押品的存入數量,從而為協定對波動性或低流動性代幣的曝險設定了上限。Venus 為其 THE 市場設定了 1,450 萬 THE 的供應上限,以反映該代幣在鏈上極低的流動性。

在供應上限之外,還有兩層額外的安全保障。基於預言機的抵押品估值決定了借款人可以根據其存款提取多少額度。如果部位出現抵押不足,預期將會有競爭性的清算市場介入:第三方機器人會償還債務並以折扣價接管抵押品,從而保持協定的償付能力。

這種三層結構(曝險限制、估值、清算)構成了大多數借貸協定的風險框架。Venus THE 事件同時測試了這三層結構,且全都失效了。以下章節將檢視每一層是如何受到測試以及失敗之處。


攻擊過程

繞過機制:捐贈攻擊

大多數 Compound 分叉中的供應上限僅限制了鑄造路徑(mint path):即在發放 vTokens 之前檢查上限的標準存款函數。這些限制並不包含直接轉帳至合約地址的代幣。

攻擊者利用了這一漏洞。透過向 vTHE 合約進行直接的 ERC-20 轉帳,可以增加合約底層資產的餘額,而不會觸發 vTokens 的鑄造。在 Compound 類型的會計邏輯中,這會推高 vTokens 與底層資產之間的 exchangeRate(匯率)。任何現有的 vToken 持有者都會因此獲益:其持有的 vTokens 現在代表了對更多底層資產的索取權,從而增加了協定眼中有效的抵押價值。

這種「捐贈攻擊」是 Compound 分叉中一類已知的漏洞。任何僅在鑄造路徑上執行供應上限的協定都容易受到攻擊:對底層資產的實際曝險程度可以遠超上限,卻不會觸發任何限制檢查。

準備階段(2025 年 6 月至 2026 年 3 月)

攻擊並非始於 3 月 15 日。攻擊者透過 Tornado Cash 收到 7,447 顆 ETH 並存入一個資金地址(0x7a79...f234),隨後將 ETH 存入 Aave 作為抵押品,並借入了 992 萬美元的穩定幣(USDT, DAI, USDC)。這些資金被分配至多個錢包,從 2025 年 6 月開始購買 THE,逐步建立起頭寸,到攻擊當日上午,其持倉總量已達到供應上限的 84%(約 1,220 萬 THE)。

攻擊者的累計 vTHE 持倉(2025 年 6 月至 2026 年 3 月)。經歷了 9 個月的逐步累積,隨後被完全清算。

這九個月的準備期在鏈上全程可見。每次存款後,協定的鏈上狀態(總供應量、相對於上限的部位集中度)皆可公開查詢。然而,每一筆獨立的交易都是常規性的,不會觸發傳統的警報。偵測這類風險需要對協定級別的狀態變更進行持續監控,而這是目前協定安全框架亟需改進的領域。

攻擊者透過多個地址進行操作,所有地址均可追溯至同一個 Tornado Cash 資金來源:

地址 角色
0x7a79...f234 資金來源:從 Tornado Cash 接收 7,447 顆 ETH,存入 Aave,借入 992 萬美元穩定幣
0x43c7...2f82 攻擊者 EOA
0x737b...a619 攻擊合約:在階段 2-3 執行捐贈繞過與借貸。於 UTC 12:04 被清算。
0x1a35...6231 攻擊者錢包:透過鑄造路徑提供 THE,持有 vTHE

執行階段(2026 年 3 月 15 日)

UTC 11:00,攻擊者在協定內持有 1,220 萬 THE,仍在 1,450 萬的上限範圍內。大約在 UTC 11:55,攻擊者部署了攻擊合約(0x4f477e...f5663f)[1],在建構子中以原子方式執行捐贈繞過與初始借貸。六個錢包直接向 vTHE 合約轉入了總計約 3,600 萬 THE,將匯率推高了 3.81 倍。隨後,該攻擊合約(已被授予根據 0x1a35 的部位進行借貸的權限)根據誇大的抵押品借入了資產。

從 UTC 12:00 至 12:42,兩個地址透過遞迴槓桿循環執行了跟進交易 [1]:

  1. 根據誇大的抵押品借入資產(CAKE, BNB, BTCB, USDC
  2. 在公開市場將借入資產兌換成 THE
  3. THE 捐贈給 vTHE 合約,進一步推高匯率與價格
  4. 利用增加的借貸能力重複上述步驟
時間 (UTC) 存入的 THE 佔上限百分比 狀態
11:00 1,220 萬 84% 超出上限
12:00 4,950 萬 341% 上限已被繞過
12:42 5,320 萬 367% 清算前的峰值

時間軸數據來源於 Venus 事故後調查報告 [1]。

由於 THE 的鏈上流動性極其匱乏,即便少量買單也會造成劇烈的價格波動。THE 的綜合市場價格從約 0.26 美元激增至超過 0.53 美元(根據 CoinMarketCap)。Venus 的彈性預言機(以 RedStone 為主要數據來源,Binance 為樞紐)最初拒絕了該飆升的價格:從 UTC 11:55 左右開始,由於 Binance 數據源出現劇烈背離(一度達到近 4 美元),BoundValidator(邊界驗證器)拒絕了更新,時間持續約 37 分鐘 [1]。在此期間,預言機無法更新 THE 的價格。隨著攻擊者在 RedStone 聚合的多個場所持續施加購買壓力,兩個數據源最終於 UTC 12:32 左右收斂至高位。彈性預言機在約 0.51 美元處接受了該價格 [1],協定開始按被操縱的匯率估算攻擊者的抵押品價值。

攻擊前後 THE 代幣的價格波動。

匯率膨脹(透過捐贈達成 3.81 倍)與價格操控(0.26 美元 → 0.51 美元)的疊加效應,使攻擊者的借貸能力增加了約七倍。然而,THE 的真實市場深度僅為該預言機報告價值的一小部分。

超額擴張與崩盤(UTC 12:42 以後)

在完成第一輪借貸資產提取後,攻擊者本可以就此收手。相反,他們繼續部署借入的資金購買更多 THE,試圖進一步推高價格。這使得健康因子趨近於 1 [1]。UTC 12:42,部位達到 5,320 萬 THE 的峰值。

一旦購買壓力停止,便沒有任何支撐力能夠維持 THE 虛高的價格。來自清算機器人和恐慌持有者的拋售壓力迅速壓垮了薄弱的買方流動性,THE 的價格從約 0.51 美元崩跌至約 0.22 美元 [1],遠低於攻擊前的 0.26 美元水平。連鎖清算平倉了約 4,200 萬 THE 的抵押品 [1],協定的最後一道防線隨即啟動:第三方清算人介入以限制損失。


清算真相

在 DeFi 借貸中,假設很簡單:當部位資不抵債時,第三方清算人會介入、償還債務、以折扣價接管抵押品,並維持協定償付能力。Venus THE 事件並未擊破這一機制,而是暴露了它的邊界。

清算人出現了,但力度不足

鏈上清算數據(來源於 Venus 的 Dune 面板 [5],並結合交易層級分析)顯示:

指標 數值
總清算交易數 (vTHE, 3 月 15 日) 8,048
清算參與者數 254
清算入口合約 0x0870...cf43 (Venus Core Pool Liquidator)
從 Venus 借出的總資產 約 1,490 萬美元 [1]
剩餘壞帳 約 215 萬美元 [1]

Dune 面板記錄 0x0870...cf43 為所有交易的清算合約。該地址是 Venus Core Pool 的清算合約,是一個無許可入口,任何外部調用者皆可透過其執行清算。查詢實際交易發送者,發現共有 254 個不同的地址在 8,048 筆交易中競爭清算機會。

在 8,048 筆 vTHE 清算交易中,有 8,039 筆針對攻擊者的主部位 (0x1a35);其餘 9 筆清算了四名持有少量 vTHE 並在價格崩盤中被波及的無關用戶。

參與度並不等同於完全清償。機器人接管了 vTHE 並償還了以 BNB, BTCB, CAKE, USDCWBNB 計價的債務。為了實現獲利,他們需要在公開市場出售這些 THE。由於 5,300 萬 THE 剛被傾銷到一個深度僅有數百萬美元的市場中,接管的抵押品無法在沒有巨大滑點的情況下兌換成穩定價值。結果就是:有 215 萬美元的債務無法清償,成為了 Venus 資產負債表上的壞帳。

兩個部位,兩種結果

攻擊者操作了兩個使用不同抵押品類型的部位 [2]。這兩者扮演了互補的角色:0x1a35 是主部位,在九個月內積累了大量 THE 並根據誇大的抵押品借出高價值資產;而 0x737b 是攻擊合約,負責以原子方式執行捐贈繞過,並以 USDC 為抵押品借入 THE 以進一步推高匯率。它們的清算結果在時間點和機制上均有所不同:

地址 抵押品 交易數 償還債務 結果
0x737b (攻擊合約) vUSDC 603 72.9 萬美元 殘餘約 35.9 萬美元 THE 債務 [1]
0x1a35 (攻擊者錢包) vTHE 8,039 回收約 1,200 萬美元 約 179 萬美元壞帳 (獲取的 THE 流動性不足)

0x737b 的部位在拉升階段(UTC 12:04)率先被清算 [2]。其抵押品為 158 萬 USDC(固定價值),而債務以 THE 計價。該部位創建時 THE 價格約為 0.26 美元,初始保證金極低。隨著攻擊者不斷在 DEX 購買 THE 並將其市場價拉高至約 0.51 美元,THE 的債務價值遠超 USDC 抵押品,觸發了清算。清算人接管了 USDC,但即使經過 603 筆交易,接管的抵押品仍無法完全覆蓋 THE 債務,留下約 185 萬 THE(約 35.9 萬美元)未清償 [1]。這很可能是設計使然:0x737b 的目的就是為捐贈繞過借入 THE,一旦任務完成,損失 USDC 抵押品是一個可接受的成本。

0x1a35 的清算才真正反映了問題所在。其抵押品即為 THE 本身。254 個機器人競爭清算,但接管的 THE 無法以接近預言機報告價值的價格售出。時間軸顯示了這一動態:

時間(UTC) 交易數 償還債務 階段
12:00-12:59 3,416 約 383 萬美元 THE 價格崩盤,滑點最大
13:00-13:59 4,626 約 1,040 萬美元 價格趨穩,主要清算發生在此期間

兩個部位都導致了協定損失:約 35.9 萬美元來自 0x737b 未覆蓋的 THE 債務,剩餘部分則來自 0x1a35 價值不足的 THE 抵押品。在從 Venus 借出的總計 1,490 萬美元中,清算人回收了大部分,剩下的約 215 萬美元成為了 Venus 的壞帳。

關於 Dune 衍生數據的說明: Venus Dune 面板 [5] 使用 daily_market_info 表中的每日快照價格來估算接管抵押品和償還債務的價值。由於 THE 價格在當日內從約 0.53 美元崩跌至 0.22 美元,從 Dune 導出的美元數據(包含上述小時分類)可能與實時價值存在偏差。在官方數據可用處(總借貸量約 1,490 萬美元,壞帳約 215 萬美元 [1]),我們採用官方數據作為權威來源。儘管絕對美元數值可能有所不同,但基本趨勢與結論保持一致。


資金流向

清算數據展示了部位平倉的過程。要了解攻擊者的實際盈虧,我們需要超越單筆交易,對比攻擊者的投入與清算完成後他們持有的淨資產。

投入資金

攻擊者的資金鏈:透過 Tornado Cash 收到 7,447 顆 ETH,存入 Aave 作為抵押品,借入 992 萬美元穩定幣,並分發至多個錢包,歷經九個月的時間陸續獲取 THEvTHE。這 992 萬美元全數轉換為 Venus 上的 THE 頭寸。攻擊後,所有 THE 抵押品被清算,這筆投資實際上已虧空。

從 Venus 借出的資產

在峰值時(UTC 12:42),攻擊者從 Venus 總共借出了約 1,490 萬美元的資產 [1]:

地址 抵押品 借出的資產
0x1a35 (攻擊者錢包) 5,320 萬 THE 667 萬 CAKE + 2,801 BNB + 1,972 WBNB + 158 萬 USDC + 20 BTCB
0x737b (攻擊合約) 158 萬 USDC 463 萬 THE

並非所有借出的資產都被當作利潤提取。相當一部分被循環回攻擊過程中:

  • 0x1a35 不斷從 Venus 借出 BNB,將其兌換為 THE,並直接捐贈給 vTHE 合約以維持價格拉升與匯率膨脹 [1]。
  • 0x737b 在階段 3(函數簽名 0x91f38bff)執行了 48 筆交易。其中兩筆借出並保留了高價值資產(CAKE, WBNB):0x4253a8...eca2960xfd64d0...154808。其餘交易均為「借出-兌換-捐贈」循環。
  • 0x737b 借出的 158 萬 USDC 立即被重新存入以作為其自身的抵押品 [1]。這部分 USDC 後來在清算中被接管,從未真正離開協定。
  • 0x737b 借出的 463 萬 THE 直接捐贈給 vTHE 合約以推高匯率 [1]。

攻擊者的淨留下金額

在兩個 Venus 部位均被清算後,我們核查了所有攻擊者控制地址的最終代幣餘額(透過 DeBank):

地址 代幣 數量 美元價值
0x1a35 CAKE 1,500,000 約 224 萬美元
0x1a35 BTCB 20 約 148 萬美元
0x1a35 WBNB 200 約 14 萬美元
0x737b WBNB 1,972.53 約 133 萬美元
0x737b CAKE 16,093 約 2 萬美元
總計持有 約 521 萬美元

Aave 的部位(7,447 顆 ETH 抵押品,約 992 萬美元債務)保持開放且未變動(健康因子 1.45)。借出的 992 萬美元穩定幣被提現至 BNB Chain 並轉換為 THE,這並不減少 Aave 的債務。從 Aave 的角度看,攻擊者僅是一個擁有足夠抵押品的借款人。攻擊者保有對該 ETH(扣除已結算債務)的存取權。

鏈上淨盈虧

美元
總投資額(Aave 借款 → THE,皆在清算中損失) -992 萬美元
總淨留存額(清算後從 Venus 借出並保留的資產) + 約 521 萬美元
鏈上淨損失 約 -471 萬美元

這次鏈上操作無疑是虧損的。從 Venus 總計借出的約 1,490 萬美元中,攻擊者最終僅保留了約 521 萬美元。其餘部分要麼被循環放回 THE 捐贈路徑,要麼在清算中被接管,或成為協定壞帳。

協定損失

在所有清算完成後,Venus 留下了約 215 萬美元的壞帳 [1]:

資產 數量 美元價值
CAKE 約 118 萬 約 179 萬美元
THE 約 185 萬 約 36 萬美元
壞帳合計 約 215 萬美元

價值分布

方位 淨盈虧 備註
攻擊者(鏈上) 約 -471 萬美元 投入 992 萬美元,保留約 521 萬美元
Venus Protocol -215 萬美元 清算後形成的壞帳 [1]
第三方清算人 未知 254 個機器人參與;盈虧取決於 THE 平倉賣出價格
攻擊者(中心化交易所) 未知 可能存在永續合約部位,無法驗證

在典型的 DeFi 駭客事件中,協定或借貸提供者遭受損失,攻擊者獲利,而兩者之間的「缺失價值」由清算人、套利交易者和區塊生成者等第三方獲取。此次事件打破了這一模式:攻擊者在鏈上也虧損了(約 471 萬美元)。這些虧損是否透過鏈下部位(例如中心化交易所的永續合約 [3, 4])得以沖抵,目前仍無法驗證。


經驗教訓:三道防線

此次攻擊利用了已知漏洞,執行了教科書式的槓桿循環,仍導致了 215 萬美元的壞帳。真正的失敗不在於單一機制的失效,而在於整個風險堆疊中各個薄弱環節的堆疊效應。

第一道防線:曝險限制

Venus 的供應上限僅限制了標準的 mint 路徑。直接向 vToken 合約進行轉帳可以完全繞過該限制。任何依賴會計假設的風控手段,都必須驗證這些假設在所有可能的狀態更新操作中是否有效,而非僅關注預期的存款流。

第二道防線:抵押品估值

彈性預言機報告的價格(約 0.51 美元)接近聚合市場價格,且邊界驗證器(BoundValidator)確實正確拒絕了異常的 Binance 數據饋送長達 37 分鐘 [1]。然而,對於市值僅數百萬美元的資產,即便預言機給出「正確」的市場價格,對於價值數千萬美元的抵押品而言也是毫無意義的 [3]。由於市場深度不足,攻擊者得以藉此借出約 1,490 萬美元的資產,但在清算時,THE 根本無法實現預言機報告的價值。對於流動性枯竭的代幣,當資產無法以預言機價格賣出時,名義上的超額抵押並無實質安全邊際。借貸協定應加入考慮市場深度、滑點預期及集中度風險的流動性加權抵押品估值。

第三道防線:清算

整個借貸模型都預設當部位資不抵債時,清算人會介入並使協定恢復償付能力。在此事件中,單是對 vTHE 部位,254 個清算機器人就執行了 8,048 筆交易。清算市場是非常活躍且具有競爭力的,但即使這樣也不足夠:仍留下了 215 萬美元的壞帳。問題不在於清算人不足,而在於流動性不足。當 5,300 萬 THE 衝入深度僅數百萬美元的市場時,任何規模的機器人競爭都無法將接管的抵押品兌換成足以覆蓋債務的金額。當抵押品的實際可變現價值與預言機價值產生巨大分歧時,協定無法將清算視為可靠的屏障。

監控盲區

這長達九個月的累積階段從一開始就是鏈上可見的:單一實體接近供應上限、在低流動性資產中持倉集中度升高、歷經多月的分段建倉。Venus 承認「社區成員曾在攻擊發生前對該地址提出過警告」,但指出「該地址當時完全在協定規則規範內操作」,且作為一個無許可協定,「我們不能,也不應該僅憑懷疑凍結或封禁位址」 [1]。作為補救的一部分,Venus 表示正在「探索鏈上風險監控機制,以便能夠標記異常的積累模式並觸發治理級別的審查」 [1]。

遺落的警戒信號不只在於緩慢的累積。根據報告 [1],預言機的防禦機制確實按設計運作了:驗證器拒絕了 Binance 的極端數據並在初始操縱窗口期掛起更新長達 37 分鐘。然而,沒有任何監控系統對此異常進行升級。一個預言機在單一實體持倉超過供應上限的 3 倍時持續掛起並拒絕更新,這是一個高優先級的實時信號。37 分鐘是一個巨大的時間窗口。如果這觸發了自動斷路器或甚至是人工審核,在預言機重新收斂價格之前暫停 THE 市場,本可以阻止大部分借貸行為。這也暴露了一個更廣泛的缺口:防禦機制在執行完畢並自動消解後,若沒有任何警報或升級路徑,只會對最基礎的攻擊有效。

這指向了兩個截然不同的能力缺失。首先是長週期部位監控:追蹤單一實體在低流動性資產中的持倉集中度如何隨時間演變,並對其與供應上限、市場深度和清算能力的匹配度進行評估。九個月的積累期內,沒有任何單筆交易是「犯罪」的,一切均合規。其次是實時預言機健康監控:檢測市場在異常持倉狀態下的持續性預言機異常,並將其升級至斷路器機制。這兩者都需要持續性的監控基礎設施,超越單筆交易的層面,並跨地址、跨時間窗口對鏈上狀態變更進行關聯分析,從而在系統性風險具象化前將其浮現出來。

結論

Venus THE 事件並未揭露任何新型漏洞。它展示了一個已知的攻擊向量,若是耐心執行,當協定的每一層防禦結構都假設其他層會堅守時,是如何崩潰的。警報信號在鏈上存在了數月之久,而檢測與干預之間的鴻溝仍未解決。透過流動性感知風險參數、自動化斷路器以及部位層級的監控來填補這一鴻溝,是此事件留給 DeFi 借貸社區的核心教訓。


參考文獻

  • [1] Venus Protocol, "$THE Market Incident: Post-Mortem": https://community.venus.io/t/the-market-incident-post-mortem/5712
  • [2] AllezLabs, "Venus Protocol THE Incident Timeline": https://x.com/AllezLabs/status/2033239532355858536
  • [3] hklst4r, "Venus THE Attack Analysis": https://x.com/hklst4r/status/2033192855443808515
  • [4] EmberCN, "Venus THE Attacker Fund Flow": https://x.com/EmberCN/status/2033204517467308144
  • [5] Venus Protocol Liquidation Dashboard (Dune): https://dune.com/xvslove_team/venus-liquidations

關於 BlockSec

BlockSec 是一家全端區塊鏈安全與加密合規服務提供商。我們建立的產品與服務旨在協助客戶進行代碼審計(包含智慧合約、區塊鏈與錢包)、即時攔截攻擊、分析事故、追蹤非法資金,並在協定與平台的完整生命週期中履行 AML/CFT 合規義務。

BlockSec 已在知名學術會議上發表多篇區塊鏈安全論文,通報了多項 DeFi 應用的零日漏洞,阻斷了多次駭客攻擊並挽救了超過 2,000 萬美元的資金,並保護了數十億美元的加密貨幣資產。