FEGtoken安全事件分析:细节决定成败

FEGtoken安全事件分析:细节决定成败

2022年5月15日,UTC时间约晚上8:20,我们的监控系统检测到FEGtoken项目中的FEGexPRO合约遭到黑客攻击。 攻击者在ETH和BSC主网上发起了一系列攻击,涉及的总价值累积约130万美元(根据项目方发送的链上消息)。

有关此事件的更多信息可以在该项目的官方Twitter上找到。 在本报告中,我们将深入探讨细节,揭示此次事件的根本原因。

0x1 漏洞分析:初步观察

易受攻击的FEGexPRO合约部署在ETH和BSC上,易受攻击的合约函数是swapToSwap,如下所示:

正如在社交媒体上指出的那样,swapToSwap函数第一个名为path的参数可以由函数调用者指定。因此,攻击者可以利用它进行任意授权(参见swapToSwap函数第682行)。

到目前为止,这并没有什么新东西,因为它又是参数未经验证的又一个案例。然而,攻击路径表明,仅归因于任意授权无法清楚地说明这次攻击。事实上,存在一个微妙的技巧,这才是事情变得有趣的地方。

0x2 攻击分析

0x2.1 初步攻击分析

我们以BSC上的一次攻击交易为例来说明攻击过程,相应的攻击路径,目标资产为fBNB,总结如下:

  • 步骤1:准备资金和假path。攻击者从DVM借入约915 BNB的闪电贷,并将其中一部分兑换成116 fBNB。然后,攻击者创建了一堆将被用作假path的合约。
  • 步骤2:存入初始资金。通过将115 fBNB存入FEGexPRO合约,攻击者增加了其在受害者合约中的balances2
  • 步骤3:执行任意授权。攻击者随后调用swapToSwap函数,并将一个假的path作为第一个参数传入,导致FEGexPRO合约批准path花费114 fBNB。
  • 步骤4:通过调用depositInternal函数和swapToSwap函数进行另一项授权。FEGexPRO合约又批准了一个path花费114 fBNB。

攻击者反复执行步骤4以进行更多授权。最后,攻击者使用已授权的假path耗尽FEGexPRO的所有fBNB,并兑换部分BNB用于偿还闪电贷。

显然,我们可以轻松地看出,合约绝对应该检查path参数。

然而,要完全理解这次攻击,还需要解决一个问题:即使FEGexPRO合约批准了假的pathapprove操作是基于用户balances2会立即减少(swapToSwap函数第684行)这一事实,即已授权的资金来自步骤3中确切存入的金额。换句话说,攻击者只是将自己存入的资金授权给了假的path。在此之后,由于balances2的减少,攻击者不应该为其他假的path进行授权。

因此,问题 arises:攻击者到底用了什么技巧来进行其他授权以获取额外利润?

0x2.2 高级攻击分析

为了回答这个问题,我们回到swapToSwap函数。 仔细检查代码后,我们发现这里使用的技巧不仅是假的path,还有一个假的swap,这导致了受害者合约余额的实际值与记录值之间存在不一致。因此,这种不一致性可以用来通过调用depositInternal函数来恢复攻击者的存款金额,从而反复进行授权。

具体来说,depositInternal函数主要根据合约的Main.balanceOf_totalSupply2之间的差值来修改用户的balances2depositInternal函数第651行)。

由于传递给swapToSwappath地址是一个由攻击者控制的假path,实际上并没有发生任何转账。因此,Main.balanceOf的返回值与步骤3中的情况保持不变。请注意,_totalSupply2swapToSwap函数中已经被减少了,只要攻击者进行存款,增加的balance2将不可避免地大于实际存入的金额。

因此,在步骤4中,攻击者首先通过调用depositInternal函数来恢复存款金额,然后通过调用swapToSwap函数执行授权和假的swap。 请注意,攻击者使用的存款金额仅为几乎0(即1 / 1e18)fBNB,因此depositInternal函数将攻击者的balances2恢复到与步骤3中几乎相同的金额(正如下一个授权的追踪所示)。

攻击者可以通过反复执行步骤4来扩大收获。

最后,值得注意的是,我们上面描述的攻击只是攻击者利用的攻击路径之一。就在同一次攻击交易中,攻击者还瞄准了FEG资产:

0x3 根本原因

在此,我们总结了此次攻击的根本原因:

  • 首先,swapToSwap函数中未经验证的参数导致了任意授权
  • 其次,由于swapToSwap函数中的假swap,导致受害者合约余额的实际值与记录值之间存在不一致。这被用来通过恢复攻击者的存款金额来反复进行授权。

将两者结合起来,攻击者成功地从受害者合约中耗尽了所有资金。

0x4 其他相关攻击

截至本报告撰写之时,我们还观察到另一名攻击者发起的更多相关攻击。

同样,在以太坊和BSC上部署的合约都遭到了攻击。 有趣的是,攻击路径与我们刚才讨论的有所不同。尽管受害者合约并未开源,但我们高度怀疑攻击者利用了相同的漏洞,并采用了类似的攻击方法。

0x5 启示

使DeFi项目安全并非易事。除了代码审计,我们认为社区应采取主动措施来监控项目状态,并在攻击发生之前进行阻止

关于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/ 官方Twitter账号:https://twitter.com/BlockSecTeam

Sign up for the latest updates
Weekly Web3 Security Incident Roundup | Feb 9 – Feb 15, 2026

Weekly Web3 Security Incident Roundup | Feb 9 – Feb 15, 2026

During the week of February 9 to February 15, 2026, three blockchain security incidents were reported with total losses of ~$657K. All incidents occurred on the BNB Smart Chain and involved flawed business logic in DeFi token contracts. The primary causes included an unchecked balance withdrawal from an intermediary contract that allowed donation-based inflation of a liquidity addition targeted by a sandwich attack, a post-swap deflationary clawback that returned sold tokens to the caller while draining pool reserves to create a repeatable price-manipulation primitive, and a token transfer override that burned tokens directly from a Uniswap V2 pair's balance and force-synced reserves within the same transaction to artificially inflate the token price.

Top 10 "Awesome" Security Incidents in 2025

Top 10 "Awesome" Security Incidents in 2025

To help the community learn from what happened, BlockSec selected ten incidents that stood out most this year. These cases were chosen not only for the scale of loss, but also for the distinct techniques involved, the unexpected twists in execution, and the new or underexplored attack surfaces they revealed.

#10 Panoptic Incident: XOR Linearity Breaks the Position Fingerprint Scheme

#10 Panoptic Incident: XOR Linearity Breaks the Position Fingerprint Scheme

On August 29, 2025, Panoptic disclosed a Cantina bounty finding and confirmed that, with support from Cantina and Seal911, it executed a rescue operation on August 25 to secure roughly $400K in funds. The issue stemmed from a flaw in Panoptic’s position fingerprint calculation algorithm, which could have enabled incorrect position identification and downstream fund risk.