BNB:代币闪崩,差点归零 - PancakeBunny 被黑简析

By:慢雾安全团队

据慢雾区情报,币安智能链上DeFi收益聚合器PancakeBunny项目遭遇闪电贷攻击,慢雾安全团队第一时间介入分析,并将结果以简讯的形式分享,供大家参考:

攻击过程分析

1.攻击者先发起一笔交易,使用0.5个WBNB与约189个USDT在PancakeSwap中添加流动性并获取对应的LP,随后将LP抵押至PancakeBunny项目的VaultFlipToFlip合约中。

2.在LP抵押完成后,攻击者再次发起另一笔交易,在这笔交易中攻击者先从PancakeSwap的多个流动性池子中闪电贷借出巨量的WBNB代币,并从Fortube项目的闪电贷模块借出一定数量的USDT代币。随后使用借来的全部USDT代币与部分WBNB代币在PancakeSwap的WBNB-USDT池子添加流动性,并把获得的LP留在WBNB-USDT池子中。

区块链平台Enjin通过 CoinList 出售2000万美元的EFI代币:区块链平台Enjin表示,它已通过 CoinList 上的公开发售出售了 2000 万美元的 EFI 代币。据悉,EFI 是 Efinity 的原生代币,Efinity 是一个基于 Polkadot 的平行链,专注于NFT。尽管最近加密货币市场有所下滑,但此次出售表明人们对尽早购买新代币的兴趣仍在继续。(Coindesk)[2021/7/2 0:21:15]

3.由于在步骤1攻击者已经在VaultFlipToFlip合约中进行了抵押,因此攻击者在添加完流动性后直接调用VaultFlipToFlip合约的getReward函数来获取BUNNY代币奖励并取回先前抵押的流动性。

4.在进行getReward操作时,其会调用BunnyMinterV2合约的mintForV2函数来为调用者铸造BUNNY代币奖励。

爱沙尼亚两金融科技公司合作推出证券代币交易平台:8月24日消息,爱沙尼亚数字货币交易所CoinMetro和以区块链技术为基础的中央证券存管机构Ignium宣布合作,共同推出新的数字证券代币(STO)交易平台,为散户和机构投资者提供购买证券代币的机会。(NewsBTC)[2020/8/24]

5.在mintForV2操作中,其会先将一定量(performanceFee)的LP转至WBNB-USDT池子中移除流动性,但由于在步骤2中攻击者把大量的LP留在了池子中,因此BunnyMinterV2合约将会收到大量的WBNB代币与USDT代币。

6.在完成移除流动性后会调用zapBSC合约的zapInToken函数分别把步骤5中收到的WBNB与USDT代币转入zapBSC合约中。

7.而在zapInToken操作中,其会在PancakeSwap的WBNB-USDT池子中把转入的USDT兑换成WBNB。随后再将合约中半数WBNB在PancakeSwap的WBNB-BUNNY池子中兑换成BUNNY代币,并将得到的BUNNY代币与剩余的WBNB代币在WBNB-BUNNY池子中添加流动性获得LP,并将此LP转至mintForV2合约中。而由于步骤5中接收到的非预期的大量的WBNB,并且进行WBNB兑换成BUNNY代币的操作,因此WBNB-BUNNY池子中的WBNB数量会大量增加。

公告 | BKEX Global将于12月7日暂停ETH及ERC20代币的充提功能:据BKEX公告显示,BKEX Global为支持ETH在区块高度9069000处进行的伊斯坦布尔升级,将于12月7日17:00 (UTC+8)暂停ETH及ERC20代币的充提功能,交易不受影响。[2019/12/6]

8.在完成zapInToken操作后会计算BunnyMinterV2合约当前收到的WBNB-BUNNYLP数量,并将其返回给mintForV2。随后将会调用PriceCalculatorBSCV1合约的valueOfAsset函数来计算这些LP的价值,这里计算价值将会以BNB结算(即单个LP价值多少个BNB)。

9.在valueOfAsset计算中,其使用了WBNB-BUNNY池子中WBNB实时的数量乘2再除以WBNB-BUNNYLP总数量来计算单个LP的价值(valueInBNB)。但经过步骤7,我们可以发现WBNB-BUNNY池子中的WBNB非预期的数量大量变多了,这就导致了在计算单个LP的价值会使得其相对BNB的价格变得非常高。

动态 | 澳大利亚珀斯铸币厂与InfiGold推出由黄金支持的数字代币:澳大利亚最大的贵金属精炼厂珀斯铸币厂(Perth Mint)和专注于贵金属数字化的金融科技初创公司InfiGold共同推出了由黄金支持的数字代币。新的ERC-20代币被称为Perth Mint金币(PMGT),与珀斯铸币厂发行的GoldPass证书1:1挂钩。GoldPass使投资者可以购买、出售和转让通过数字证书获得的实物黄金,其中每个证书均由其央行等级保险库中存储的黄金100%支持。新闻稿声称,PMGT是由政府担保的黄金支持的公共区块链上的第一个数字黄金代币。(cointelegraph)[2019/10/11]

10.随后在mintForV2中,合约会以在步骤9中计算出的LP价值来通过amountBunnyToMint函数计算需要给攻击者铸造多少BUNNY代币。但由于价格计算方式的缺陷导致最终LP的价格被攻击者恶意的操控抬高了,这就导致了BunnyMinterV2合约最终给攻击者铸造了大量的BUNNY代币(约697万枚)。

动态 | 俄罗斯研究机构:Gram初始总供应量约为50亿枚,Telegram未与Liquid就代币销售合作:据Cointelegraph报道,俄罗斯研究机构Aton今日发布了有关Telegram区块链平台TON的新细节。根据Aton提供的信息,该项目代币Gram的总供应量“最初约为50亿”,而预期的通货膨胀率被设定为2%,这意味着Gram的总供应量将在35年内翻倍至100亿。根据Aton的估计,2亿枚Gram已被开发人员锁定,5亿枚被用作生态系统的激励,分别占总供应量的4%和10%。由于Gram没有公开交易,因此难以估计其真实价格。根据Aton引用的公开消息,在第二轮私人融资期间,Gram的平均价格为1.33美元。该研究称,估计Gram未来的价格将在2.1美元至8美元之间。此外,接近Telegram的消息人士告诉Cointelegraph,Telegram绝没有与Liquid就代币销售进行合作。[2019/6/15]

11.在拿到BUNNY代币后,攻击者将其分批卖出成WBNB与USDT以归还闪电贷。完成整个攻击后拿钱走人。

总结

这是一次典型的利用闪电贷操作价格的攻击,其关键点在于WBNB-BUNNYLP的价格计算存在缺陷,而BunnyMinterV2合约铸造的BUNNY数量依赖于此存在缺陷的LP价格计算方式,最终导致攻击者利用闪电贷操控了WBNB-BUNNY池子从而拉高了LP的价格,使得BunnyMinterV2合约铸造了大量的BUNNY代币给攻击者。

慢雾安全团队建议,在涉及到此类LP价格计算时可以使用可信的延时喂价预言机进行计算或者参考此前AlphaFinance团队研究的LP价格计算方式,以避免被恶意操控的事故再次发生。

往期回顾

慢雾科技xFireEye,赋能区块链安全

慢雾科技与虎符智能链HSC达成战略合作

CoinEx入驻慢雾区,发布「安全漏洞与威胁情报赏金计划」

开心做聚合,无奈被攻击——Rari被黑事故分析

慢雾AML升级上线,为资产追踪再增力量

慢雾导航

慢雾科技官网

https://www.slowmist.com/

慢雾区官网

https://slowmist.io/

慢雾GitHub

https://github.com/slowmist

Telegram

https://t.me/slowmistteam

Twitter

https://twitter.com/@slowmist_team

Medium

https://medium.com/@slowmist

币乎

https://bihu.com/people/586104

知识星球

https://t.zsxq.com/Q3zNvvF

火星号

http://t.cn/AiRkv4Gz

链闻号

https://www.chainnews.com/u/958260692213.htm

免责声明:作为区块链信息平台,本站所发布文章仅代表作者个人观点,与链闻ChainNews立场无关。文章内的信息、意见等均仅供参考,并非作为或被视为实际投资建议。

本文来源于非小号媒体平台:

慢雾科技

现已在非小号资讯平台发布68篇作品,

非小号开放平台欢迎币圈作者入驻

入驻指南:

/apply_guide/

本文网址:

/news/9993300.html

免责声明:

1.资讯内容不构成投资建议,投资者应独立决策并自行承担风险

2.本文版权归属原作所有,仅代表作者本人观点,不代表非小号的观点或立场

上一篇:

Bitfinex一周简报

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

地球链

[0:0ms0-0:625ms