Truebit協議因整數溢出漏洞被駭取8,535.36 ETH

iconBlockbeats
分享
Share IconShare IconShare IconShare IconShare IconShare IconCopy
AI summary icon精華摘要

expand icon
以太坊新聞:2026年1月8日,Truebit協議遭駭客入侵,導致8,535.36個以太幣(約2,644萬美元)被盜。這次攻擊利用了Solidity ^0.6.10版本中的一個整數溢位漏洞,特別是在getPurchasePrice函數中。ExVul Security證實,攻擊者透過四輪交易循環,鑄造和銷毀TRU代幣,從協議中抽走以太幣。這起事件顯示了過時智能合約所帶來的風險。以太坊更新:人工智能工具正越來越多地被用來尋找較舊去中心化金融(DeFi)項目的漏洞。
原文標題:《Truebit Protocol 合約漏洞被盜 2644 萬美元分析》
原文來源:ExVul Security


2026年1月8日,Truebit Protocol協議遭駭客攻擊,損失8,535.36 ETH(約2,644萬美元),Truebit Protocol官方於翌日凌晨發文證實。ExVul安全團隊對本次攻擊事件進行了詳細的漏洞分析,分析結果如下:


攻擊流程


攻擊者地址:


0x6c8ec8f14be7c01672d31cfa5f2cefeab2562b50


攻擊交易 hash:


0xcd4755645595094a8ab984d0db7e3b4aabde72a5c87c4f176a030629c47fb014


攻擊者透過循環四輪調用 getPurchasePrice→0xa0296215→0xc471b10b 的交易完成攻擊,以第一輪循環為例作分析。


1. 攻擊者首先調用 getPurchasePrice(240442509453545333947284131) 函數,返回 0。


2. 攻擊者調用 0xa0296215(c6e3ae8e2cbab1298abaa3) 函數,同時 msg.value 為 0。最後成功鑄造 240442509453545333947284131 枚 TRU。



3. 進攻者呼叫 0xc471b10b(c6e3ae8e2cbab1298abaa3) 函數。最後摧毀 240442509453545333947284131 枚 TRU,獲得 5105.06 枚 ETH。


攻擊邏輯分析


透過了解上述的攻擊流程,可以明顯發現 getPurchasePrice 函數與 0xa0296215 函數的邏輯存在問題。接下來開始深入分析(由於合約未開源,以下的程式碼均為反編譯的程式碼)。



透過比較兩個函數的共同點,我們可以發現 0x1446 函數用於計算購買指定數量的 TRU 需要多少 ETH。明顯地,0x1446 函數的邏輯存在問題,導致 ETH 計算錯誤。以下詳細分析 0x1446 函數中的邏輯。



觀察 0x1446 函數中的邏輯,由於最後的計算結果 v13 == 0,因此一定是上述的計算邏輯出現了問題。需要了解的是 0x18ef 的功能與 _SafeMul 相同,因此問題出在使用原生加法 v12 + v9(合約版本為 ^0.6.10,因此沒有溢出檢查)。


v12 和 v9 分別表示:



根據以上分析,攻擊者的攻擊思路是透過輸入極大的 _amountIn,使 v12 + v9 溢出成為一個很小的值,最後令 (v12 + v9) / v6 == 0。


總結


Truebit Protocol 今次被攻擊的根本原因在於其代幣購買價格計算邏輯存在嚴重的整數溢出漏洞。由於合約使用的是 Solidity ^0.6.10 版本,而且未對關鍵的算術運算進行安全檢查,最終導致損失 8,535.36 ETH。目前新版本的 Solidity 本身已緩解了溢出漏洞。這起攻擊事件應該是駭客利用 AI 自動化掃描一些已上線的舊 DeFi 協議所發現的漏洞(包括前一段時間的 Balancer 以及 yETH 攻擊)。我們認為近期會越來越多利用 AI 攻擊舊 DeFi 協議的事件,因此建議項目方對合約代碼進行新的安全審計,若發現漏洞,需盡快升級合約或進行資產轉移,並做好鏈上監控,及時發現異常,把損失降至最低。


本文為投稿文章,不代表 BlockBeats 立場。


點擊了解律動 BlockBeats 在招職位


歡迎加入律動 BlockBeats 官方社群:

Telegram 訂閱群:https://t.me/theblockbeats

Telegram 討論群組:https://t.me/BlockBeats_App

推特官方賬號:https://twitter.com/BlockBeatsAsia

免責聲明:本頁面資訊可能來自第三方,不一定反映KuCoin的觀點或意見。本內容僅供一般參考之用,不構成任何形式的陳述或保證,也不應被解釋為財務或投資建議。 KuCoin 對任何錯誤或遺漏,或因使用該資訊而導致的任何結果不承擔任何責任。 虛擬資產投資可能存在風險。請您根據自身的財務狀況仔細評估產品的風險以及您的風險承受能力。如需了解更多信息,請參閱我們的使用條款風險披露