$215K 盜取自 Fluid:攻擊者控制梅爾克獎勵系統中的雙鍵

流失$215K 後,一名攻擊者控制了兩個獎勵分配金鑰,通過偽造的Merkle根提取代幣,並將收益路由到Tornado Cash。

獎勵代幣已經消失。在5月27日,一名持有Fluid運營簽名金鑰的攻擊者向以太坊、Base和Arbitrum的協議Merkle分發器推送了一份偽造的獎勵清單。

基於以太坊的DeFi協議Fluid,使用一個兩步系統來分發獎勵:一個金鑰提出Merkle根,另一個金鑰批准它。正如BlackHartInc在X上報導的,這兩個角色都由同一個人持有。兩人控制在一起,當一人持有兩個金鑰時,控制就變得毫無意義。

一人,兩把鑰匙,零阻力

提議者金鑰在UTC時間21:11:11向FLUID分發器提交了一個自利的根。十二秒後,同一攻擊者用批准者金鑰批准了它。初始提案後二十四秒,一個空的Merkle證明就完成了一次索賠。

那個空證明不是錯誤。單一條目獎勵清單產生的根等於其唯一的葉子,因此不需要證明路徑。合約正確地驗證了它。智能合約沒有破壞。根據BlackHart的法醫分析,整個失敗都是操作金鑰的保管問題。

同樣的提議-批准-索賠循環隨後在UTC時間21:13:59對GHO分發器運行,幾個小時後在另一個分發器對少量cbBTC進行了操作。在所有三條鏈上,攻擊者帶走了大約125,109個FLUID和51,946個GHO,以及可追蹤的cbBTC。

實際從協議中轉出的資產,以及未轉出的資產

Fluid的借貸市場、金庫和去中心化交易所流動性從未在這些金鑰的範圍內。被抽走的合約僅是獎勵分發器。X上的0xfluid確認核心協議的智能合約未受影響,用戶資金未受到事件威脅。

被盜的FLUID和GHO通過MetaMask交換路由器換成約103以太幣。約142.6 ETH最終進入Tornado Cash,部分通過中繼錢包路由,部分直接存入。來自Base和Arbitrum的L2收益在混合前已橋回以太坊。

之後幾天內,Fluid的提款金額在7000萬到1.1億美元之間,並非第二次攻擊。那是存款人自己提取資金,是一場由信心驅動的銀行擠兌。與盜竊本身無關,但與披露時間並非完全無關。

清理措施,以及未提及的內容

在第一次盜竊約十個小時後,即5月28日UTC 07:05,Fluid團隊通過一次批量交易移除了十個獎勵分發器中的受損提議者和批准者角色。約314,000個FLUID和7,400 USDC的剩餘獎勵餘額轉移到安全地址。

團隊的公開通訊僅描述了暫停獎勵索賠以進行更新。未提及金鑰被攻破。未提及損失。該漏洞於5月31日公開曝光,距事件發生已四天,當時一個借款人已經提取了7700萬美元的USDC,始於5月28日。

Merkl的聯合創始人Pablo Veyrat在X上談及此事件。他提到自己協議的設計選擇,Veyrat指出,Merkl在完全獨立的基礎設施上運行三個獨立的爭議機器人,每個在新Merkle樹生效前都會驗證,且新根發布與索賠之間至少有一小時的延遲。

為何時間鎖在此處變得至關重要

整個攻擊從提案到索賠用時不到24秒。這種速度之所以可能,是因為根批准與支付之間沒有延遲。管理金鑰的漏洞今年在DeFi中屢見不鮮,模式始終回到同一個缺口:特權金鑰在存取與行動之間沒有阻力。

BlackHart的評估將操作安全性標記為其在攻擊前對Fluid的評分中最薄弱的部分。確切的失效模式,即兩個金鑰可以在沒有獨立保管人或等待期的情況下轉化為支付,早已是該評分的警告內容。操作金鑰的妥協並非2026年的新事物,但Fluid的案例增加了一個特殊的細節:兩鍵設計看似是安全措施,直到它由一人持有。

攻擊者的錢包0x4925120c…1d3dfb,在大約同一分鐘內跨鏈完成索賠。沒有速度限制限制單一循環能釋放的資金量。直到數小時後,才有實時警報捕捉到異常活動。

FLUID-11.49%
GHO0.05%
ETH-7.75%
查看原文
此頁面可能包含第三方內容,僅供參考(非陳述或保證),不應被視為 Gate 認可其觀點表述,也不得被視為財務或專業建議。詳見聲明
  • 打賞
  • 回覆
  • 轉發
  • 分享
回覆
請輸入回覆內容
請輸入回覆內容
暫無回覆