這起事件為什麼被歸類為「治理攻擊」,而不是一般認知的駭客攻擊或智能合約漏洞?
關鍵在於攻擊者從頭到尾使用的都是協議本身刻意設計、且完全公開的功能——存入資產換取治理代幣、提交提案、投票通過提案,這幾個步驟都是 Term Vaults 治理系統原本就允許任何持有治理代幣的人執行的正常操作,沒有任何一步繞過了智能合約的邏輯限制,也沒有利用程式碼裡的錯誤。CertiK 與 PeckShield 兩家安全公司都明確把這起事件分類為「治理攻擊」(governance exploit)而非「合約漏洞」(contract bug),差別在於:合約漏洞是程式碼本身寫錯了,治理攻擊則是程式碼寫得完全正確,但治理機制的參數設計(例如投票代幣的稀缺程度、有沒有足夠制衡)本身存在經濟層面的弱點,讓攻擊者能用低成本買下決策權,而不需要真的攻破任何技術防線。
如果攻擊者只花了 0.5 顆 ETH 就取得近乎絕對的投票權,代表 Term Vaults 的治理代幣總流通量是不是異常稀少?這種情況常見嗎?
根據事件揭露的細節,攻擊者是先把資產轉換成 Term 金庫的份額憑證(tmvETH),再存入治理包裝合約換取對應的治理代幣(gtmvETH),這代表這個特定金庫產品在事發當時的治理代幣總量,確實稀少到讓一筆金額極小的存款,就能佔到絕對多數的投票權比例——DefiLlama 的數據顯示,事發前 Term 的金庫產品總鎖倉價值約為 1245 萬美元,相對於整個 DeFi 產業的量體並不算大,這類規模較小、上線時間較新、治理代幣尚未被廣泛分散持有的金庫產品,天生就比治理代幣已經分散在大量持有者手中的成熟協議更容易出現這種投票權集中的弱點。
這種情況在業界並非首次出現:DefiLlama 的統計顯示,2026 年至今已有多起被歸類為治理攻擊的事件,其中規模最大的一起發生在 7 月,針對 BonkDAO 的惡意提案造成約 2000 萬美元損失,顯示治理代幣集中度過低這個結構性弱點,並非 Term Vaults 獨有,而是新上線、規模較小的 DeFi 治理系統普遍需要留意的一類風險。
面對這類治理攻擊,一般的智能合約審計或安全稽核,有沒有辦法事先發現這種風險?
這正是這起事件揭露的核心矛盾——傳統的智能合約審計,檢查的重點通常是程式碼邏輯本身有沒有寫錯,例如是否存在重入攻擊漏洞、整數溢位、權限控制邏輯錯誤等技術層面的問題,這些檢查針對的是「這段程式碼在所有輸入下,是否都會按照設計意圖執行」。但治理攻擊挑戰的完全是另一個層面的問題:程式碼確實完全按照設計意圖執行了——投票機制正確地統計了票數、正確地依照票數多寡決定提案是否通過——問題不在程式碼,而在於「誰有資格投票、投票權要花多少成本才能取得」這組經濟參數,本身沒有被設計得夠嚴謹。
少數更進階的安全稽核服務,開始把「治理代幣的持有集中度」「取得多數投票權的實際市場成本」納入審查範圍,但這類經濟安全稽核(economic security audit)目前在業界並非標準配備,多數團隊做的仍然是聚焦程式碼本身的傳統審計。這也是為什麼treasury或金庫類產品在對外募資時,除了展示「已通過審計」,同樣值得揭露治理代幣的持有分布狀況與取得多數決所需的實際成本,讓存款人能自行評估這類風險,而不是把「審計通過」誤解為涵蓋了所有層面的安全保證。
我沒有直接把資產存進 Term Vaults,這起事件對一般 DeFi 用戶有什麼實際的參考價值?
最直接的參考價值,是提供了一個具體、可查證的案例,說明「這個金庫產品標榜去中心化治理」跟「這個治理系統實際上有沒有人在制衡」是兩件不能劃上等號的事。下次評估任何強調 DAO 治理或社群投票機制的金庫、借貸或收益型產品時,值得多問幾個具體問題:這個治理代幣的總流通量與分布狀況公開透明嗎?過去的提案投票,是否曾經有多個獨立地址參與,還是投票率長期偏低、形同虛設?重大提案(尤其是牽涉資產轉移權限的提案)通過後,是否有時間鎖或多重簽名機制,讓其他人有機會在資產被真正移動前發現異常並介入?
更廣泛地說,這起事件也提醒用戶重新檢視「審計通過」這個標籤在治理型產品上的實際涵蓋範圍——正如本文開頭提到的,審計驗證的是程式碼邏輯是否正確,而不是「這套治理系統的投票權,能不能被人用很低的成本買下」,這兩件事之間沒有必然的邏輯關聯,存款前把這個區別放在心上,能幫助你更準確地判斷一個標榜「去中心化」的產品,實際的去中心化程度究竟有多高。
2026 年 8 月 23 日,去中心化借貸協議 Term Finance 旗下的策略金庫(Term Vaults)損失約 850 萬美元資產,包含約 2,843 枚 ETH(約 687 萬美元)與 168 萬枚 USDC(隨後被兌換成約 160 萬枚 DAI)。安全公司 PeckShield 與 CertiK 分別追蹤確認了損失金額,並將資金流向鎖定在同一個攻擊者地址。但這起事件最不尋常的地方,不是損失金額,而是攻擊者達成目的的方式——從頭到尾沒有攻破任何智能合約,也沒有竊取任何私鑰,攻擊者做的,是完全依照協議規則「合法投票」,只是把票投給了自己。
根據安全公司 Go Plus Security 發布的技術分析,攻擊者的操作路徑相當直白:先用約 0.5 顆 ETH 兌換成 0.485 枚 tmvETH,再把這筆資產存入 Term 金庫建立在 Yearn v3 架構上的治理包裝合約,換取等量的治理代幣 gtmvETH——關鍵問題就出在這裡:這個治理系統的投票代幣,顯然沒有足夠的流通量或防護機制,導致攻擊者僅憑這筆金額極小的存款,就取得了近乎絕對的投票權。取得投票權後,攻擊者自行提交編號 5 號的提案,並在幾乎沒有任何其他投票者參與制衡的情況下,自己通過了這個提案,直接取得金庫資產的提領權限。
Term Labs 在事發後迅速回應,永久關閉了所有 Meta Vault 的存款功能(此決定不可逆),撤銷相關 DAO 治理角色,並保持提領功能開放,同時表示核心的 Term Finance 借貸市場本身未受影響。Yearn 團隊也回應確認,Term 受影響的合約確實建立在 Yearn v3 架構之上,但攻擊者實際利用的是 Term 專門為自家金庫產品開發的治理包裝合約,而非 Yearn 本身的程式碼。這個區隔很重要:這起事件從頭到尾都不是一起「程式碼被攻破」的事件,涉及的每一筆交易,在協議規則底下都是完全有效、合法的操作。
這起事件把一個容易被忽略的風險攤在陽光下:智能合約審計檢查的是程式碼邏輯有沒有漏洞,但審計範圍通常不包含「這個治理系統的投票權,能不能被用很少的成本買下來」這個問題。在把資金存入任何強調「去中心化治理」的金庫產品之前,值得花時間確認幾件事:這個金庫的治理代幣總流通量是否稀薄到容易被少量資金買下多數投票權、是否存在時間鎖或多重簽名機制能在惡意提案通過後爭取應對時間、以及過去是否有真實的社群成員參與投票制衡,而不是治理系統形同虛設、平常根本沒有人在看提案佇列。一個合約有沒有通過審計,回答的是「程式碼寫得對不對」,回答不了「這場投票有沒有人在乎」。