Back to Blog

Telcoin 安全事件事后总结与深度分析

Code Auditing
January 10, 2024

2023年12月25日,我们的监控系统检测到一系列针对Telcoin的恶意活动。我们协助Telcoin团队将根本原因确定为钱包合约的初始化不当,这是由于钱包的实际实现与其对应的代理之间存在不一致造成的。本报告旨在提供详细的分析,以便全面理解此事件。

0x0:基本设计

在检查漏洞之前,首先了解相关智能合约之间的关系非常重要。本质上,这些可以抽象为三种设计模式的组合:CloneFactory、Cloneable Proxy和Beacon Proxy模式,如下图所示。

0x1:漏洞分析

该漏洞源于钱包合约的初始化不当,这是由于钱包的实际实现与其对应的代理之间存在不匹配。具体来说,在初始化过程中,代理通过写入存储位置的最低有效位,将存储槽0初始化为一个非零状态。随后,钱包代码也写入了存储槽0,从而覆盖了代理在最低有效位中的初始值。这个问题不是由任一智能合约固有的漏洞造成的,而是两者之间交互的结果。

下面,我们将根据提供的交易追踪详细说明:

具体来说,在CloneableProxy:Proxy.initialize()函数中,有一个delegatecall调用了Wallet.initialize()函数。这个调用是通过delegatecall到CloneableProxy:Implementation.initialize()函数实现的。因此,Wallet.initialize()函数对存储所做的任何修改都将反映在CloneableProxy:Proxy合约的存储中。

要完全理解其含义,有必要检查CloneableProxy:Proxy合约的存储布局。该合约的定义如下:

鉴于Proxy和ERC1967Upgrade合约都没有存储变量,槽0被两个存储变量——_initialized和_initializing——使用,这两个变量都继承自Initializable合约。

现在,让我们检查Wallet合约。在Wallet.initialize()函数中,显而易见,槽0xaa用作初始化标志。这一点由以下3-4行和11-12行的代码片段强调:

请注意,槽0被分配给_state,它存储了函数选择器后面的calldata中的下一个32字节,如第21行所示。有关更多详细信息,请参阅Wallet合约开头的注释:

在槽0的使用上存在明显的不匹配:CloneableProxy:Proxy合约将其解释为初始化标志,而Wallet:initialize()函数则将其视为钱包的状态。

因此,初始化过程完成后,槽0的最低两个字节将被重置为零。这有效地将_initialized和_initializing都设置为零。结果,CloneableProxy:Proxy合约容易通过initialize()函数进行重新初始化,因为initializer修饰符的保护可以被规避。

显然,潜在的利用取决于钱包的状态。一旦更新为非零值,钱包的状态就会阻止该合约的进一步重新初始化。初始化之后,随着钱包状态在每次交易时更新,槽0的最低两个字节为非零的可能性就会增加,这有效地使钱包免受重新初始化的影响。这解释了为什么大多数易受攻击的钱包交易历史很少或根本没有,导致它们暴露于攻击之下。

0x2:攻击分析

攻击者首先重新初始化了易受攻击的CloneableProxy:Proxy合约,以更改Beacon合约的地址。随后,攻击者继续转移CloneableProxy:Proxy合约中包含的资产,具体如下:

值得注意的是,在一次交易中,多个易受攻击的合约被攻破,攻击者反复执行了这种策略。

0x3:攻击摘要

我们观察到总共发生了4,958次攻击,由六个不同的账户执行,如下所示:

0x4:修复和建议

我们的调查显示,核心问题源于存储槽0的使用不一致,导致易受攻击的合约可能被重新初始化。显然,修复涉及对存储分配进行仔细管理。

从这次事件中,我们获得了几点重要见解:

  • 在使用内联汇编操作存储槽时要格外小心,因为错误可能导致重大的漏洞。

  • 密切监控合约状态。快速响应能力取决于是否能及时收到警报。

  • 在合约中实现暂停机制,以便在检测到被入侵时立即中止活动。

此外,此次事件涉及针对不同钱包合约的多次攻击交易,凸显了对威胁监控和攻击阻断解决方案(如Phalcon)的迫切需求。这类工具对于减轻未来风险和防范潜在损失至关重要。

0x5:事件时间线

太平洋标准时间12月25日上午9:23:我们的系统在Polygon网络上检测到第一笔恶意交易

太平洋标准时间12月25日上午10:28:Telcoin支持团队在内部沟通频道报告了该事件。

太平洋标准时间12月25日上午10:32—10:37:Telcoin团队成员通知了Telcoin Discord社区,并召集了所有相关关键团队成员的紧急会议。

太平洋标准时间12月25日上午10:45:实施了Web应用程序防火墙规则,以限制对Telcoin基础设施的所有访问。

太平洋标准时间12月25日上午11:02:Telcoin团队开始与Seal 911进行洽谈。

太平洋标准时间12月25日上午11:11:Telcoin团队和其他安全成员成立了一个战争室,以找出根本原因并讨论阻止攻击的潜在解决方案。

太平洋标准时间12月25日下午1:14:Telcoin团队通过X(Twitter)向用户发布了警报

太平洋标准时间12月25日下午3:39:Telcoin联系了Chainalysis和Slowmist,通过调查被盗资金,对被盗钱包和地址进行标记,并将这些情报与交易所共享。

太平洋标准时间12月25日下午10:35:应Telcoin团队的邀请,我们加入了战争室,并分享了我们的分析以确定根本原因。

太平洋标准时间12月25日晚上11:00至太平洋标准时间12月26日凌晨2:06:在确定根本原因后,Telcoin团队通过安全且可控的方式复制了漏洞利用,成功制定了缓解策略。此过程涉及重新初始化钱包代理,以与新实现的、安全的信标对齐。鉴于此漏洞利用是一次性机会,Telcoin可以预先更新钱包配置,从而使攻击者无法进一步利用这些漏洞。

太平洋标准时间12月26日凌晨2:07至太平洋标准时间12月26日凌晨2:14:Telcoin团队在所有尚未被攻破的钱包上实施了缓解措施,以确保全面覆盖。为了快速高效地部署,该过程在严格定义的时间窗口内分批执行。然后,Telcoin开始准备并在内部测试修复计划,以全面恢复所有受影响的钱包并永久修复所有钱包。

太平洋标准时间12月26日下午4:52:Telcoin和我方团队就以下主题展开讨论:

  • 事件概述

  • 事件时间线:事件发生的按时间顺序的记述。

  • 根本原因分析:对事件根本原因的深入分析。

  • 改进建议

  • 代码审计

太平洋标准时间12月29日上午12:27:经过多轮讨论,我们开始与Telcoin团队合作起草事后报告并审计修复措施。

2024年1月3日:提供了事后报告草稿。

2024年1月4日:提交了我们的审计发现,包括确定的问题和建议。

2024年1月4日至1月10日:我们与Telcoin团队合作,完成了事后报告并审查了修复措施。

此外,值得注意的是,从12月25日至今,Telcoin一直与区块链调查公司和执法部门就此次事件密切合作。

关于BlockSec

BlockSec是一家开创性的区块链安全公司,于2021年由一群全球杰出的安全专家创立。该公司致力于提升新兴Web3世界的安全性和可用性,以促进其大规模采用。为此,BlockSec提供智能合约和EVM链安全审计服务、用于安全开发和主动阻断威胁的Phalcon平台、用于资金追踪和调查的MetaSleuth平台,以及供Web3构建者在加密世界中高效冲浪的MetaDock扩展。

迄今为止,该公司已为MetaMask、Uniswap Foundation、Compound、Forta和PancakeSwap等300多家知名客户提供服务,并通过两轮融资获得了数千万美元的投资,投资者包括Matrix Partners、Vitalbridge Capital和Fenbushi Capital。

网站:https://blocksec.com/

X(Twitter):@BlockSec @Phalcon

Sign up for the latest updates
Tracing $1.6B in TRON USDT: Inside the VerilyHK Ponzi Infrastructure
Case Studies

Tracing $1.6B in TRON USDT: Inside the VerilyHK Ponzi Infrastructure

An on-chain investigation into VerilyHK, a fraudulent platform that moved $1.6B in TRON USDT through a multi-layered fund-routing infrastructure of rotating wallets, paired payout channels, and exchange exit funnels, with traced connections to the FinCEN-sanctioned Huione Group.

Weekly Web3 Security Incident Roundup | Mar 30 – Apr 5, 2026
Security Insights

Weekly Web3 Security Incident Roundup | Mar 30 – Apr 5, 2026

This BlockSec weekly security report covers nine DeFi attack incidents detected between March 30 and April 5, 2026, across Solana, BNB Chain, Arbitrum, and Polygon, with total estimated losses of approximately $287M. The week was dominated by the $285.3M Drift Protocol exploit on Solana, where attackers combined multisig signer social engineering with Solana's durable nonce mechanism to bypass a zero-timelock 2-of-5 Security Council, alongside notable incidents including a $950K flash loan TWAP manipulation against the LML staking protocol, a $359K Silo Finance vault inflation via an external `wstUSR` market donation exploiting a depegged-asset oracle and `totalAssets()` accounting flaw, and an EIP-7702 delegated-code access control failure. The report provides detailed vulnerability analysis and attack transaction breakdowns for each incident, covering flawed business logic, access control, price manipulation, phishing, and misconfiguration attack types.

Drift Protocol Incident: Multisig Governance Compromise via Durable Nonce Exploitation
Security Insights

Drift Protocol Incident: Multisig Governance Compromise via Durable Nonce Exploitation

On April 1, 2026 (UTC), Drift Protocol on Solana suffered a $285.3M loss after an attacker exploited Solana's durable nonce mechanism to delay the execution of phished multisig approvals, ultimately transferring administrative control of the protocol's 2-of-5 Squads governance with zero timelock. With full admin privileges, the attacker created a malicious collateral market (CVT), inflated its oracle price, relaxed withdrawal protections, and drained USDC, JLP, SOL, cbBTC, and other assets through 31 rapid withdrawals in approximately 12 minutes. This incident highlights how durable nonce-based delayed execution can decouple signer intent from on-chain execution, bypassing the temporal assumptions that multisig security implicitly relies on.

Best Security Auditor for Web3

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

BlockSec Audit