详解APE空投漏洞

北京时间2022年3月17日,我们的系统监控到涉及APECoin的可疑交易,根据twitter用户WillSheehan的报告,套利机器人通过闪电贷薅羊毛,拿到6W多APECoin。

我们经过分析后,发现这和APECoin的空投机制存在漏洞有关。具体来说,APECoin决定能否空投取决于某一个用户是否持有BYACNFT的瞬时状态,而这个瞬时状态攻击者是可以通过借入闪电贷然后redeem获得BYACNFT来操纵的。攻击者首先通过闪电贷借入BYACToken,然后redeem获得BYACNFT。然后使用这一些NFT来claim空投的APE,最后将BYACNFTmint获得BYACToken用来返还闪电贷。我们认为这个模式同基于闪电贷的价格操纵攻击非常类似。

10枚NFT在OpenSea上被盗取:金色财经报道,据PeckShieldAlert监测, 3 个#CHECKS 、6 个#MERGEVV和1个Dooplicator #3578在OpenSea上被Fake_Phishing76183通过网络钓鱼的手段盗取。[2023/5/28 9:47:07]

接下来,我们使用一个攻击交易(https://versatile.blocksecteam.com/tx/eth/0xeb8c3bebed11e2e4fcd30cbfc2fb3c55c4ca166003c7f7d319e78eaab9747098)来简述整个过程。

.bit针对当前使用DID进行资产交易的风险发出警告:4月4日消息,.bit近期发现并分析了使用DID进行资产交易会涉及资产丢失的安全风险。在认识到这些严重的威胁并对其进行研究分析后,.bit公布了其风险提示,以向区块链行业发出警告,并建议用户避免使用DID发送或交换资产。.bit表示风险并不是源自于DID这样的系统本身,而是源自于对系统的错误使用。.bit将在近期分享更多关于如何使用DID的信息,包括应采取的安全步骤,以及未来计划在其协议中实施的安全措施。[2023/4/4 13:44:43]

StepI:攻击准备

Gyroscope Protocol项目Discord服务器已被入侵:金色财经报道,据CertiK监测,Gyroscope Protocol项目Discord服务器已被入侵,黑客发布了虚假铸币链接。在团队确认他们已经恢复服务器的控制权之前,请勿点击任何链接。[2023/4/4 13:43:47]

攻击者购买了编号1060的BYACNFT并且转移给攻击合约。这个NFT是攻击者花了106ETH在公开市场购买的。

StepII:借入闪电贷并且redeem成BYACNFT

攻击者通过闪电贷借入大量的BYACToken。在这个过程中,攻击者通过redeemBYACtoken获得了5个BYACNFT。

StepIII:通过BYACNFT领取空投奖励

在这个过程中,攻击者使用了6个NFT来领取空投。1060是其购买,其余5个是在上一步获得。通过空投,攻击者共计获得60,564APEtokens奖励。

StepIV:mintBYACNFT获得BYACToken

攻击者需要归还借出的BYACToken。因此它将获得BYACNFTmint获得BYACToken。这个过程中,他还将其自己的编号为1060NFT也进行了mint。这是因为需要额外的BYACToken来支付闪电贷的手续费。然后将还完手续费后的BYACToken卖出获得14ETH。

获利

攻击者获得60,564APEtoken,价值50W美金。其攻击成本为1060NFT减去售卖BYACToken得到的14ETH。

Lessons

我们认为问题根源在于APE的空投只考虑瞬时状态。而这个假定是非常脆弱的,很容易被攻击者操控。如果攻击者操控状态的成本小于获得的APE空投的奖励,那么就会创造一个实际的攻击机会。

郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。

银河链

[0:0ms0-1:547ms