BTC
ETH
HTX
SOL
BNB
查看行情
简中
繁中
English
日本語
한국어
ภาษาไทย
Tiếng Việt

閃電貸奪下兩席治理權,X100 被盜對行業有何啟示?

Asher
Odaily资深作者
@Asher_0210
本文約2434字,閱讀全文需要約4分鐘
金庫沒有被破解,只是守金庫的人換成了駭客。
AI總結
展開
  • 核心觀點:X100 項目因 DAO 治理機制存在嚴重缺陷,駭客利用閃電貸借入資金奪取治理席位,透過惡意提案將金庫資產低價轉移,單日造成約 485 萬 USDT 損失,X 代幣暴跌逾 96%,暴露出中心化治理的系統性安全隱患。
  • 關鍵要素:
    1. X100 金庫由三席「參議院」管理,無治理權生效等待期,同一控制者可透過多地址奪席,且提案通過後立即執行。
    2. 駭客借入約 194 萬 USDT 閃電貸購入 X 代幣,以僅多出百萬分之一枚的凍結餘額奪取兩席,隨即在同一筆交易中透過惡意提案,將 40 萬枚 X 以約 35.68 美元賣出。
    3. 首輪攻擊約 24 分鐘後,第二名駭客利用同一機制再奪兩席,獲利約 9.64 萬 USDT;第三輪攻擊者借用前者的輔助合約直接轉走約 55 萬枚 X,三輪攻擊均在半小時內完成。
    4. 今年類似治理攻擊頻發:Bonk DAO 損失約 2,050 萬美元、Term Finance 損失約 850 萬美元、Arkadiko 損失約 109 萬美元。
    5. 部分未遂攻擊門檻極低——Moonwell 攻擊者僅花費約 1,808 美元、Olas 攻擊者僅花費約 135 美元即達到提案門檻,說明攻擊者無需掌握多數票,僅取得提案資格即可創造攻擊機會。

原創 | Odaily 星球日報(@OdailyChina)

作者 | Asher(@Asher_0210)

10 月 24 日,以太坊 DeFi 項目 X100 遭遇治理攻擊,約 485 萬枚 USDT 被盜。據 GMGN 數據,X 代幣市值從攻擊前約 7.6 億美元跌至約 2400 萬美元,單日跌幅超過 96%。

原本由三個「參議院」席位共同管理的金庫,被駭客用閃電貸借來的資金拿下了其中兩席。手握多數票後,駭客提交惡意提案,再用自己控制的席位投票通過,讓金庫批准了向自己輸送資產的交易。 首輪攻擊得手後,其他攻擊者接連利用同一治理機制,繼續轉走項目資產。

下面,Odaily星球日報將梳理這場治理攻擊的全過程,以及 X100 事件背後暴露出的 DAO 治理安全隱患。

借來 194 萬美元,駭客如何拿下兩席「參議院」?

X100 的金庫由名為 Senate 的三席「參議院」管理,成員通過投票決定金庫代幣的出售、流動性投放等操作。只要控制其中兩席,就能通過提案,調動金庫資產。 持有人將項目代幣 X 存入 Freezer 合約,選擇凍結一年、三年或五年,再支付 100 枚 X 報名費,即可參與競選。三個席位按照參選地址的當前凍結餘額實時排序,前三名獲得治理權。

這套機制沒有限制同一控制者通過多個地址取得席位,也沒有設置治理權生效等待期。攻擊者只需讓兩個受控地址的凍結餘額同時進入前三,就能立即掌握多數票;通過的提案又可以立即執行,使奪取席位與轉移資產能夠在同一筆交易中完成。

攻擊發生前,第二席地址凍結了約 19,000 枚 X。10 月 24 日 22 時 11 分,駭客通過 Aave 閃電貸借入約 194 萬枚 USDT,購入 X 並分配給兩個輔助合約,分別完成凍結與競選。每個合約凍結 19,000.000001 枚 X,僅比原第二席多出百萬分之一枚代幣,便同時佔據第二、第三席,將原第二席擠出治理名單。

拿到多數票後,駭客如何讓金庫資產流入自己手中?

兩張贊成票,讓金庫以 35.68 美元賣出 40 萬枚 X

取得兩席後,駭客隨即提交惡意提案,要求金庫將 40 萬枚 X 賣入其自行創建的 PancakeSwap V3 X/USDT 池子,並將最低接收金額設為零,再通過另一個受控合約投票支持,使提案獲得兩票通過並立即執行。據 GoPlus 分析,X100 允許治理提案指定交易池,卻缺乏有效的最低成交額保護。駭客既能決定金庫向哪裡賣幣,也能自行設定成交條件,再用自己控制的多數票批准交易。

上述池子由駭客在同一筆交易中創建,僅注入約 100 美元的流動性。當金庫將 40 萬枚 X 賣入其中時,池子只能支付少量 USDT,而最低接收金額為零,使交易沒有因回報過低而失敗。最終,金庫交出了 40 萬枚 X,只換回約 35.68 美元。 駭客隨後撤出自建池子的流動性,取回其中的 X,再將部分代幣賣入已有的 Uniswap V3 X/USDT 交易池,換取 USDT。償還閃電貸等支出後,首名駭客獲利約 475 萬枚 USDT。

從借款購幣、奪取席位,到批准金庫低價賣幣、套現還款,全部在同一筆交易中完成。 金庫交出的代幣成為駭客套現的籌碼,真實交易池中的 USDT 則被用於償還借款,並轉化為攻擊收益。

後續攻擊接連發生,被盜資金流向哪裡?

首輪攻擊發生約 24 分鐘後,第二名駭客通過閃電貸再次奪取兩個治理席位,移除 Freezer 持有的部分 Uniswap V3 流動性頭寸,並利用自建交易池繼續轉走資產,取得約 9.64 萬枚 USDT。約五分鐘後,第三個錢包利用第二名駭客留下、未限制調用者的輔助合約,直接借用其治理席位通過提案,轉走約 55 萬枚 X。前兩輪攻擊共造成約 485 萬枚 USDT 損失,第三輪攻擊另有約 55 萬枚 X 被轉走,三輪攻擊發生在不到半小時內。

據 Bitquery 追蹤,首名駭客在攻擊後數分鐘內將主要 USDT 收益兌換為 ETH,隨後分散至五個錢包,合計約 2,022.86 ETH。第二名駭客則將 USDT 兌換為 ETH,經中轉地址轉向 ChangeNOW,整個轉移過程約耗時 21 分鐘。

治理權限一旦失守,資產轉移便迅速從首名駭客的單筆攻擊,演變為多個錢包接連參與的套取。後來的參與者甚至無須重新買幣競選,就能利用已有權限繼續轉走資產。

治理攻擊成本越來越低的鏈上世界

X100 並非孤例,治理攻擊也不一定需要駭客事先投入巨額資金。攻擊者既可以購買代幣取得投票權,也可以利用較低的提案門檻尋找機會,而閃電貸更讓借來的資金能夠參與治理奪權。

今年以來,類似的治理攻擊已多次造成大額損失。7 月,Bonk DAO 攻擊者花費約 409 萬美元購入佔供應量 1.003% 的代幣,剛剛超過治理批准門檻,隨後通過惡意提案轉走約 2,050 萬美元資產,投票結束後還取回了質押代幣。8 月,Term Finance 因治理攻擊損失約 850 萬美元。即使需要投入數百萬美元購買投票權,這筆資金也未必是攻擊者最終承擔的成本。

部分未遂攻擊的門檻甚至只有幾百美元。今年 3 月,Moonwell 攻擊者僅花費約 1,808 美元購入 MFAM 並自我委託,便提交惡意提案,試圖取得涉及約 108 萬美元用戶資金的七個借貸市場及核心合約管理權。9 月,Olas 攻擊者僅花費約 135 美元鎖定 5,100 枚 OLAS,便超過提案門檻。兩次攻擊雖然均被攔截,卻說明攻擊者不一定需要掌握多數票,僅取得提案資格就可能創造攻擊機會。

10 月 22 日,Arkadiko 也遭遇治理攻擊。攻擊者購入足夠數量的 DIKO,獨自投票通過引入惡意合約的提案,期間沒有反對票,據估算損失約 109 萬美元。

治理權可以借來,投票通過就能轉走資產。當金庫的控制權如此容易易手,所謂的去中心化治理,又能保護誰?

安全
DeFi
歡迎加入Odaily官方社群