返回部落格

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:

訂閱最新動態
損失約940萬美元:Injective、Aquifer遭利用攻擊 | BlockSec Weekly
Security Insights

損失約940萬美元:Injective、Aquifer遭利用攻擊 | BlockSec Weekly

過去一週(2026/08/31 - 2026/09/06),四起安全事件導致Injective、Solana、Ethereum和Flow EVM共損失約940萬美元。最大損失來自Injective漏洞,保險基金識別碼與二元期權市場識別碼衝突,結算路徑未比對其計價單位,導致約480萬美元流失;Solana上的Aquifer因交換路徑呼叫未經驗證的呼叫者提供的Token Program,損失約247萬美元;Ethereum上的Notional Finance V1因未檢查的`uint128`轉型將債務估值為零,損失約173萬美元。Flow EVM上的Ankr FLOW以約41萬美元收尾,因質押入口跳過暫停保護並依過時比率鑄幣。

超越智能合約:Web3中的網域與DNS營運安全
Security Insights

超越智能合約:Web3中的網域與DNS營運安全

合約審計止步於合約本身。我們針對 DefiLlama TVL 前 100 名背後的 100 個網域,執行了八項基於 SEAL 的 DNS 與註冊商檢查——共 800 項檢查,僅有一個網域全數通過。以下是大多數專案缺失的四項關鍵控制,以及它們在用戶入口點的重要性。

Web3攻擊面:滲透測試概覽

Web3攻擊面:滲透測試概覽

加密機構保留所有傳統攻擊面,並疊加資金處理鏈。本文為測試人員提供系統的實用抽象:四組件模型——應用、授權與簽名、區塊鏈互動、基礎設施,說明各組件職責、代表性實現及繼承的攻擊面。並將web3特有範疇分為五大攻擊面:生產與自動化運維、簽名意圖、審批與提款鏈、資金邏輯、鏈上交易與已部署合約。

Web3 最佳安全審計方

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

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