北京时间2022年3月17日,我们的系统监控到涉及APE Coin的可疑交易,根据twitter用户Will Sheehan的报告,套利机器人通过闪电贷薅羊毛,拿到6W多APE Coin(每个价值8美元)。 我们经过分析后,发现这和APE Coin的空投机制存在漏洞有关。具体来说,APE Coin决定能否空投取决于某一个用户是否持有BYAC NFT的瞬时状态,而这个瞬时状态攻击者是可以通过借入闪电贷然后redeem获得BYAC NFT来操纵的。攻击者首先通过闪电贷借入BYAC Token,然后redeem获得BYAC NFT。然后使用这一些NFT来claim空投的APE,最后将BYAC NFT mint获得BYAC Token用来返还闪电贷。我们认为这个模式同基于闪电贷的价格操纵攻击非常类似(合约通过一个资产的瞬时价格来对另外一个资产进行定价,而这个瞬时价格可以被操控)。 接下来,我们使用一个攻击交易(https://versatile.blocksecteam.com/tx/eth/0xeb8c3bebed11e2e4fcd30cbfc2fb3c55c4ca166003c7f7d319e78eaab9747098)来简述整个过程。 Step I: 攻击准备 攻击者购买了编号1060的BYAC NFT并且转移给攻击合约。这个NFT是攻击者花了106 ETH在公开市场购买的。 Step II: 借入闪电贷并且redeem成BYAC NFT 攻击者通过闪电贷借入大量的BYAC Token。在这个过程中,攻击者通过redeem BYAC token获得了5个BYAC NFT(编号 7594,8214,9915,8167,4755)。 Step III:通过BYAC NFT领取空投奖励 在这个过程中,攻击者使用了6个NFT来领取空投。1060是其购买,其余5个是在上一步获得。通过空投,攻击者共计获得60,564 APE tokens奖励。 Step IV: mint BYAC NFT获得BYAC Token 攻击者需要归还借出的BYAC Token。因此它将获得BYAC NFT mint获得BYAC Token。这个过程中,他还将其自己的编号为1060 NFT也进行了mint。这是因为需要额外的BYAC Token来支付闪电贷的手续费。然后将还完手续费后的BYAC Token卖出获得14 ETH。 获利 攻击者获得60,564 APE token,价值50W美金。其攻击成本为1060 NFT(106ETH)减去售卖BYAC Token得到的14ETH。 Lessons 我们认为问题根源在于APE的空投只考虑瞬时状态(NFT是否在某一个时刻被某一个用户持有)。而这个假定是非常脆弱的,很容易被攻击者操控。如果攻击者操控状态的成本小于获得的APE空投的奖励,那么就会创造一个实际的攻击机会。 查看更多 —- 编译者/作者:BlockSec Team 玩币族申明:玩币族作为开放的资讯翻译/分享平台,所提供的所有资讯仅代表作者个人观点,与玩币族平台立场无关,且不构成任何投资理财建议。文章版权归原作者所有。 |
被薅了APE空投漏洞简析
2022-03-18 BlockSec Team 来源:区块链网络
LOADING...
相关阅读:
- 成为链上数据分析师之路:读懂以太坊交易2022-03-18
- 姚前:Web3.0渐行渐近的新一代互联网2022-03-17
- 濒临上线的Solana生态项目Zebec又获得了一批大额融资上线就要起飞?2022-03-16
- 热点解析:从基础服务设施看元宇宙未来发展2022-03-04
- 读懂MerlinChain:一键子链+开源引擎从底层构建元宇宙和NFT的互操作性2022-03-03