返回部落格

Tether Gold 智慧合約的公開轉移漏洞

Code Auditing
2023年5月27日
閱讀約 3 分鐘

我們的內部分析工具於 4 月 5 日在 Tether Gold 合約中發現了一個漏洞,該漏洞允許攻擊者將任何人的 XAUt (Tether Gold) 代幣轉移到預定義的地址。團隊收到我們的報告後表示,他們已在內部定位到此問題。今天我們發現該問題已修復,因此希望在此分享詳細資訊。此外,我們將說明如何使用 Phalcon Fork 來開發和調試此漏洞的 PoC。

0x0. 漏洞說明

在該合約的 transferFrom 函數中,任何人都可以調用此函數,將其他用戶的代幣轉移到代幣所有者定義的受信任接收地址。雖然此漏洞無法直接被利用來將代幣轉移到攻擊者的帳戶,但攻擊者仍能轉移池中的代幣,進而操縱池中(例如 WETH-XAUt 池)的代幣價格以獲取利潤。

此漏洞的修復方式很簡單,如下所示。

0x1. 如何利用該漏洞

為了編寫和調試 PoC,我們可以使用 Phalcon Fork 來達成目的。首先,我們可以在漏洞修復之前創建一個 Fork。在透過 Fork API 創建 Fork 時,我使用了區塊高度 17038763。

第一步:準備足夠的以太幣 (Ether)

第一步是為攻擊者準備足夠的以太幣以支付 Gas 費用。如果帳戶中沒有以太幣,則會發送一筆從 vitalik.eth 轉帳以太幣的交易。

第二步:轉移 Tether Gold 合約的所有權

Tether Gold 合約的所有者是一個多簽錢包 (0xC6CDE7C39eB2f0F0095F41570af89eFC2C1Ea828)。為了將所有權轉移給攻擊者,我們需要提交一筆多簽交易,然後確認該交易。

第三步:在 Tether Gold 合約中添加特權帳戶

我們添加了一個新帳戶 0x189e7947a9d9210eec3a41dcf5f536bb1d7726f5 作為特權帳戶。隨後,我們調用 transferFrom 函數,將受害者的 XAUt 代幣轉移到該特權帳戶。

0x2. PoC

請在以下 GitHub 鏈接中查看 PoC:

訂閱最新動態
損失約 54.2 萬美元:MakerDaoBot 遭駭事件|BlockSec 週報
Security Insights

損失約 54.2 萬美元:MakerDaoBot 遭駭事件|BlockSec 週報

本報告涵蓋 2026/10/05 至 2026/10/11 以太坊發生的 1 起安全事件,估計損失約 54.2 萬美元。攻擊合約部署惡意適配器,並將其傳入缺乏存取控制的 MakerDaoBot 函式,使機器人授予適配器操作其內部 MakerDAO 餘額的權限。適配器結算 4 場舊版 ETH-A 拍賣,將 200 單位 ETH-A 抵押品轉為 WETH;攻擊合約將其解除封裝,並把 200 ETH 轉給攻擊者。

損失約4.18億美元:Bitget、NEAR Intents遭利用 | BlockSec Weekly
Security Insights

損失約4.18億美元:Bitget、NEAR Intents遭利用 | BlockSec Weekly

本雙週安全報告記錄2026年9月21日至10月4日的八起事件,涉及以太坊、BNB Chain、Solana、比特幣、TRON、XRP Ledger、Zcash、Avalanche、NEAR等網絡,損失約4.184億美元。詳細分析涵蓋Bitget因第三方安全產品漏洞損失3.875億美元,及NEAR Intents因退款驗證缺陷與狀態回滾缺失損失387萬美元。

Bitget 3.875億美元鏈下違規事件:超越金鑰與合約的範疇
Security Insights

Bitget 3.875億美元鏈下違規事件:超越金鑰與合約的範疇

2026年9月24日,攻擊者利用第三方安全產品漏洞,獲取內部憑證並偽造提款指令,導致約3.875億美元從Bitget部分營運錢包(涵蓋Ethereum、其他EVM網絡、XRP Ledger、Zcash及TRON)轉出;私鑰及冷錢包未受影響。本文深入梳理事件路徑與資金流向,分析快速轉換為原生資產及生態恢復應對,提出機構縱深防禦框架,並說明授權區塊鏈滲透測試如何驗證跨層假設。

Web3 最佳安全審計方

在上線之前驗證設計、程式碼與業務邏輯,對標業內最高安全標準。

BlockSec 審計