APE 空投漏洞简析

  • 2022年3月17日,监控发现APE Coin空投机制存在漏洞,套利机器人通过闪电贷获取了价值约50万美元的6万多个APE Coin。

  • 漏洞原理:APE空投资格仅基于用户是否瞬时持有BYAC NFT,攻击者通过闪电贷借入BYAC Token并兑换为NFT,利用这些NFT领取空投后再将NFT兑换回Token归还贷款。

  • 攻击步骤:

    • 准备阶段:攻击者花费106 ETH购买BYAC NFT并转移至攻击合约。
    • 借入闪电贷并兑换为5个BYAC NFT。
    • 使用6个NFT(1个自购+5个兑换)领取60,564 APE空投奖励。
    • 将NFT兑换回BYAC Token归还贷款,并出售剩余Token获得14 ETH。
  • 攻击成本与收益:净成本约92 ETH(106 ETH购买NFT - 14 ETH出售Token收益),获利60,564 APE(约50万美元)。

  • 教训:空投机制仅依赖瞬时状态(如NFT持有状态)容易受到操纵,需考虑更稳健的设计以避免类似攻击。

总结

北京时间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

本文为PANews入驻专栏作者的观点,不代表PANews立场,不承担法律责任。

文章及观点也不构成投资意见

图片来源:BlockSec如有侵权,请联系作者删除。

关注PANews官方账号,一起穿越牛熊
推荐阅读
2022-03-30 12:40
2022-03-30 11:36
2022-03-30 11:27
2022-03-30 11:07
2022-03-30 11:00
2022-03-30 10:26

热门文章

行业要闻
市场热点
精选读物

精选专题

App内阅读