以太坊上的固定利率借貸協議 Term Finance 被搬走了 850 萬美元,手法荒謬到近乎優雅:攻擊者沒有埋頭苦讀智能合約找漏洞,而是直接在市場上買下了足夠的投票權,讓自己成為協議的「合法掌控者」,再從內部把金庫清空。我看到這則新聞的第一反應不是震驚,而是「這天遲早會來」。當控制一個協議的成本低於它保管的資產,被搬空只是時間早晚的問題。
先把這次攻擊的邏輯講白。很多 DeFi 協議把合約升級、參數調整、甚至金庫的支配權都交給治理投票決定,聽起來很「去中心化」,但前提是投票權分散在夠多人、而且真的在意協議安危的人手上。現實是什麼?大多數治理代幣的持有者,要嘛是領完空投就落跑的農民,要嘛是躺在冷錢包裡十年不動的巨鯨,實際投票參與率低到可憐。攻擊者只需要吃下市場上流通的那一小撮代幣,就能湊出足以通過提案的票數。
更諷刺的是,這種攻擊全程「合法」。合約沒有 bug,提案流程一切照規矩來,連審計報告都挑不出毛病——因為漏洞根本不在程式碼裡,而在代幣經濟設計裡。2022 年 Beanstalk 被人用閃電貸瞬間湊票、搬走近兩億美元之後,業界學會了加時間會了加時間鎖、擋閃電貸投票,卻始終沒學會最基本的一課:如果你的治理代幣便宜到可以整包買走,再多防禦機制都是裝飾品。
| 角色 | 在這場事件中的位置 | 後果 |
|---|---|---|
| 攻擊者 | 用相對低廉的成本取得治理多數 | 帶走 850 萬美元,短期最大贏家 |
| Term Finance 團隊 | 把關鍵權限交給低參與度的治理系統 | 資金流失、信譽重挫,重建信任成本極高 |
| 一般存款用戶 | 看到「合約已審計」就放心入金 | 最終買單的人,取回資產遙遙無期 |
| 其他治理型協議 | 趕緊回頭檢查自家代幣分布 | 短期恐慌,長期反而被迫補課 |
一句話講完這次事件:攻擊者不是駭進了 Term Finance,而是收購了它。 當你把金庫的鑰匙做成可以在公開市場交易的股票,就別怪有人把它整包買走。
在我看來,真正的盲點是整個行業對「安全」的定義太窄。團隊願意花大錢做合約審計、跑形式驗證、開漏洞賞金計畫,卻很少認真回答一個問題:買下這個協議的控制權,到底要多少錢? 如果答案低於金庫裡躺著的資產,那這個協議的本質就不是去中心化金融,而是一間門口掛著「歡迎光臨」招牌的金庫。流動性池越大、治理代幣越冷清的項目,這個剪刀差就越恐怖。
給普通用戶一句實在話:下次把錢放進任何治理型 DeFi 協議之前,除了翻審計報告,請順手查一下它的治理代幣市值跟鏈上前十大地址的持倉比例。合約安全只能保證「門鎖是好的」,不能保證「鑰匙沒有被賣掉」。 這 850 萬美元的學費,希望至少能讓一部分人把這件事記在腦子裡。
延伸思考與常見問題
點選問題可展開答案
Q1:什麼是治理攻擊(Governance Attack)?
指攻擊者透過取得協議治理代幣的多數投票權,以「合法程序」通過惡意提案來轉移資金或修改規則。它不需要破解智能合約,而是利用治理機制本身的設計缺陷。
Q2:為什麼買了投票權就能直接搬走資金?
許多借貸協議將升級合約、調整抵押參數或動用金庫的權限交由治理投票決定,一旦攻擊者掌握多數席次,就能通過對自己有利的提案。這意味著資金安全的真正上限,其實取決於投票權的分布狀況。
Q3:一般用戶如何快速評估一個 DeFi 協議的治理風險?
可以查看治理代幣的流通市值與前十大地址的持倉集中度,並確認提案是否设有足夠長的執行時間鎖。如果少數人能用低成本取得多數投票權,存放大額資金的實際風險就會遠高於合約審計給人的安全感。