Back to Blog

泰达金智能合约的公开转账漏洞

Code Auditing
May 27, 2023
2 min read

我们内部分析工具于 4 月 5 日在 Tether Gold 合约 中发现了一个漏洞,该漏洞允许攻击者将任何人的 XAUt(Tether Gold)代币转移到预定义地址。该团队收到了我们的报告,并表示他们已在内部定位到此问题。今天我们发现该问题已被修复,并想在此分享详细信息。此外,我们将说明如何使用 Phalcon Fork 开发和调试此漏洞的 PoC。

0x0. 漏洞

合约transferFrom 函数中,任何人都可以调用此函数将其他用户的代币转移到由代币所有者定义的受信任的接收地址。虽然此漏洞不能直接用于将代币转移到攻击者账户,但攻击者仍然可以将池中的代币转移,以操纵池(例如 WETH-XAUt 池)中的代币价格来获利。

此漏洞的修复非常简单,如下所示。

0x1. 如何利用漏洞

要编写和调试 PoC,我们可以为此目的使用 Phalcon Fork。首先,我们可以在漏洞修补之前创建一个 Fork。我在通过 Fork API 创建 Fork 时使用了块高 17038763。

步骤 I:准备足够的 Ether

第一步是为攻击者准备足够的 Ether 用于支付 gas 费。如果账户中没有 Ether,将发出从 vitalik.eth 发送 Ether 的交易。

步骤 II:转移 Tether Gold 合约的所有权

Tether Gold 合约的所有者是一个多签钱包(0xC6CDE7C39eB2f0F0095F41570af89eFC2C1Ea828)。要将所有权转移给攻击者,我们需要提交一个多签交易,然后确认该交易。

步骤 III:向 Tether Gold 合约添加一个特权账户

我们添加了一个新账户 0x189e7947a9d9210eec3a41dcf5f536bb1d7726f5 作为特权账户。然后,我们调用 transferFrom 函数,将 XAUt 代币从受害者转移到特权账户。

0x2. PoC

请在此 GitHub 上找到 PoC:

Sign up for the latest updates
Harmony跨分片ONE铸币漏洞 + 约4700万美元私钥丢失 | BlockSec
Security Insights

Harmony跨分片ONE铸币漏洞 + 约4700万美元私钥丢失 | BlockSec

2026年8月10日至16日期间,共5起重大安全事件,量化损失约4700万美元。重点分析Harmony第一层链的实现缺陷:跨分片收据重放导致原生ONE被非法铸造——目标分片依据未验证的MerkleProof.ShardID和BlockNum字段而非签名的源区块头来标记收据已花费,致使已入账收据可被重放而无对应源分片扣款。约3.01万亿ONE被伪造,但其名义价值远超代币市值,未变现也未确认为实际损失,故不计入总额。约4700万美元损失来自私钥泄露(未知巨鲸钱包约2500万美元、Kite约1400万美元、Coinsbuy约790万美元)及Fox业务逻辑漏洞(约11.7万美元)。

~$160万损失:Moke代币与LpdFi遭黑客攻击 | BlockSec周报
Security Insights

~$160万损失:Moke代币与LpdFi遭黑客攻击 | BlockSec周报

2026年8月3-9日,BNB Chain发生2起重大安全事件,总损失约160万美元,均源于价格操纵。LpdFi事件(约69.7万美元):攻击者利用同一PancakeSwap流动性池储备同时用于订单估值和利息赎回的漏洞,虚增本金并操纵池子以索取超额利息。Moke Token事件(约90.6万美元):攻击者结合可操纵的现货价格与重复的LP分红计算,多次领取虚高的MOKE及BNB分红。

COLDCARD事件:当钱包的"随机"助记词并不随机
Security Insights

COLDCARD事件:当钱包的"随机"助记词并不随机

COLDCARD固件存在静默构建集成漏洞,导致比特币种子生成回退至软件随机数生成器,弱随机性使钱包种子可被离线恢复。由于漏洞存于种子本身,固件更新无法修复;截至2026年8月7日,已核实损失达1,405 BTC(约9100万美元),私下估计高达2,055 BTC。

Best Security Auditor for Web3

Validate design, code, and business logic before launch. Aligned with the highest industry security standards.

BlockSec Audit
泰达金智能合约的公开转账漏洞