链资讯 链资讯
Ctrl+D收藏链资讯
首页 > LTC > 正文

BNB:首发 | PancakeBunny闪崩事件最全技术细节剖析_POLYBUNNY

作者:

时间:

5月20日,CertiK安全技术团队发现币安智能链DeFi收益聚合器PancakeBunny遭到闪电贷攻击,发生代币闪崩事件。

此次事件共损失114,631枚BNB和697,245枚BUNNY,按当时价格计算约合约4200万美元。?

经CertiK安全团队调查得出,由于该协议是使用PancakeSwapAMM来进行资产价格计算的,因此黑客恶意利用了闪电贷来操纵AMM池的价格,并利用Bunny在铸造代币的时候计算上的问题成功完成攻击。

攻击是如何发生的?

本次攻击,攻击者总共进行了8笔闪电贷。其中7笔闪电贷来自PancakeSwap流动性池的BNB,另外一笔则来自ForTubeBank的USDT。

技术细节分析

在文中,CertiK安全专家添加了地址标签,使代币的流向更加清晰。

攻击者的地址:https://bscscan.com/address/0xa0acc61547f6bd066f7c9663c17a312b6ad7e187

LBank蓝贝壳于4月9日16:50首发 BOSON:据官方公告,4月9日16:50,LBank蓝贝壳首发BOSON(Boson Protocol),开放USDT交易,4月9日16:00开放充值,4月12日16:00开放提现。上线同一时间开启充值交易BOSON瓜分10,000 USDT。

LBank蓝贝壳于4月9日16:50开启充值交易BOSON瓜分10,000 USDT。用户净充值数量不少于1枚BOSON ,可按净充值量获得等值1%的BOSON的USDT空投奖励;交易赛将根据用户的BOSON交易量进行排名,前30名可按个人交易量占比瓜分USDT。详情请点击官方公告。[2021/4/9 20:02:26]

攻击者使用的合约地址:https://bscscan.com/address/0xcc598232a75fb1b361510bce4ca39d7bc39cf498

交易一:?

https://bscscan.com/tx/0x88fcffc3256faac76cde4bbd0df6ea3603b1438a5a0409b2e2b91e7c2ba3371a

首发 | 欧科云链推出“天眼方案”推动链上安全系统再升级:8月28日,区块链产业集团欧科云链宣布推出区块链“天眼方案”,主要通过链上数据追踪系统研发、对外技术支持、凝聚企业众力等途径,全面助力区块链安全提升和产业平稳健康发展。

据了解,在“天眼方案”下,欧科云链集团将打造链上数据追踪系统,通过溯源数字资产、监控非法交易等手段,全力遏制等非法行为;协助执法机关办案,并为打造法务等区块链系统提供技术支持;为联盟链和基于各类业务的链上数据提供区块链+大数据的解决方案。[2020/8/28]

在第一笔交易中,攻击者完成了两件事:

①将BNB转换成"USDT-BNBFLIP"。

②将"USDT-BNBFLIP"存入BUNNY的池子。

攻击者将FLIP存入资金池,这样当其在后期调用VaultFlipToFlip合约中的Withdraw()或getReward()函数时,资金池将铸造BUNNY代币。

①"Zap"所做的是将所提供的代币的一半换成一对中的另一个代币,并将两个代币提供给相应的PancakeSwap池。这也可以通过BUNNY的Dapp前端来完成。

首发 | 嘉楠耘智宣布与Northern Data在AI、区块链等高性能计算领域达成战略合作:据官方消息,2020年2月17日,嘉楠耘智宣布与区块链解决方案及数据中心服务提供商Northern Data AG达成战略合作。本次合作的内容涵盖AI、区块链及数据中心运维等高性能计算领域。

嘉楠耘智拥有丰富的高性能计算专用ASIC芯片研发经验。Northern Data AG则专注于区块链和数据中心等高性能计算基础设施的建设。通过本次战略合作,双方将在AI、区块链等新兴领域进一步释放增长潜能。[2020/2/19]

②将USDT-BNBFLIP存入池中。

交易二:?

https://bscscan.com/tx/0x897c2de73dd55d7701e1b69ffb3a17b0f4801ced88b0c75fe1551c5fcce6a979

在完成第一笔交易将"USDT-BNBFLIP"存入BUNNY资金池之后,攻击者进行了第二笔交易,这也是大多数人最关注的交易。

首发 | 《一起来捉妖》中玩家达到22级将会接触到专属猫的玩法 ?:今日腾讯上线首款区块链游戏《一起来捉妖》,经金色财经查证,游戏中玩家达到22级将会接触到专属猫的玩法,而非此前官方对外宣称的15级。除了诱猫铃铛召唤出的0代猫以及部分通过运营活动奖励的专属猫以外,游戏中所有的猫默认都是未上链状态。未上链的猫不能出售,也无法进入市场与其他玩家配对;但是你可以使用这些猫与你的QQ/微信好友进行配对,产出新的小猫。使用道具“天书笔”可以将你的猫记录到区块链。当猫被记录到区块链以后,这些猫就可以进入市场,通过配对赚取点券,或者出售赚取点券。专属猫是否上链,并不影响它的增益效果。但只有上链后,它才能面对全服务器所有的玩家进行繁殖、交易。

?

《一起来捉妖》中的专属猫玩法,基于腾讯区块链技术,游戏中的虚拟数字资产得到有效保护。此外,基于腾讯区块链技术,猫也可以自由繁殖,并且运用区块链技术存储、永不消失。[2019/4/11]

接下来把第二笔交易中的发生的所有代币的转移分解成多个部分:

公告 | 火币全球站6月29日16:00全球首发 Project PAI:火币全球站定于新加坡时间6月29日16:00 Project PAI (PAI) 充值业务。7月2日16:00在创新区开放PAI/BTC, PAI/ETH交易。7月6日16:00开放 PAI提现业务。[2018/6/29]

①攻击者从7个不同的PancakeSwap流动性池中利用闪电贷共借了232万BNB,从ForTube用闪电贷款借了296万USDT。

然后攻击者向"USDT-BNB''池提供了7700枚BNB和296万USDT的流动性,获得了14.4万LP代币。

②攻击者将从闪电贷中获得的232万BNB在PancakeSwapV1池中换取了383万USDT。

由于V1池的BNB和USDT储备远少于V2池,V1池的价格更容易被操纵,在将BNB换成USDT后,BNB价格急剧下降。

③上文提到攻击者在"交易一?"中把"USDT-BNBFLIP"存到BUNNY池,现在攻击者可以调用"getReward()"函数来铸造BUNNY。

在调用"VaultFlipToFlip"合约中的"getReward()"函数时产生了大量代币转移记录,如截图所示。

上图中这个函数发生的细节如下:

?BUNNYMinterV2从USDT-BNBv2池中取出流动性——从池中取出296万USDT和7744枚BNB。

?将USDT换成BNB。在ZapBSC合约中使用的是V1PancakeSwapRouter而不是V2。

由于V1池的价格已经被操纵,攻击者能够将296万USDT换成231万BNB。

然后,一半的BNB被换成BUNNY,另一半的BNB和换来的BUNNY被添加到BNB-BUNNY池中。

现在,大量的BNB被加入到BNB-BUNNY池中,这增加了BNB(reserve0)的数量。

当之后计算要铸造的BUNNY数量时,这将被用来操纵"valueInBNB"变量。

ZapBSC合约地址https://bscscan.com/address/0xf4c17e321a8c566d21cf8a9f090ef38f727913d5#code

?把标记?中移除流动性获得的7700BNB交换一半到BUNNY,并将另一半BNB与BUNNY配对,以提供"BNB-BUNNY"池中的流动性。

注意标记?、?和?发生在"BUNNYMinterV2"合约的"mintForV2"函数中的"_zapAssetsToBUNNYBNB"函数调用。

BunnyMinterV2合约地址:https://bscscan.com/address/0x819eea71d3f93bb604816f1797d4828c90219b5d#code

?从标记?和?产生的所有LP代币都被送到PancakeSwap的BUNNY池中,这是BunnyMinterV2合约中"mintForV2"函数中的这行代码所执行的结果:

"IBEP20(BUNNY_BNB).safeTransfer(BUNNY_POOL,bunnyBNBAmount);"?

如标记?所示,该合约继续执行,铸造了700万的BUNNY。

那么,是什么原因导致合约铸造了这么多的BUNNY?呢?

在bunnyMinterV2合约中,要铸造的BUNNY数量与"valueInBNB"变量有关,该变量是通过`priceCalculator.valueOfAsset(BUNNY_BNB,bunnyBNBAmount)`函数计算得出的。

在函数`valueOfAsset`中,valueInBNB的计算方法是:`valueInBNB=amount.mul(reserve0).mul(2).div(IPancakePair(asset).totalSupply())`

因为在BNB-BUNNY池中有大量的BNB,变量"reserve0"是一个非常大的值,使"valueInBNB"变得很大,所以它最终会增加铸造的BUNNY数量。

④在收到700万的BUNNY后,攻击者在PancakeSwapBNB-BUNNYV1池和V2池中将BUNNY换成BNB。

⑤最后,攻击者向ForTube和PancakeSwap的7个流动性池偿还闪电贷,并将69.7万枚BUNNY和11.4万枚BNB转移到攻击者的地址。

这种攻击奏效的原因之一是"ZapBSC"合约使用PancakeSwapV1流动性池,通过V1PancakeSwapRouter进行代币交换。

很多DeFi项目无法从PancakeSwapV1过渡到V2,因为它们在合约中把PancakeSwapRouter和池子的地址写死为V1的地址。

由于V1流动性池已经被放弃,它们的池子中代币的储备量很低,这使得攻击者更容易操纵其中的代币价格。

写在最后

当前的加密世界中,这样的闪电贷攻击和恶意价格操纵必然不会是最后一次。

CertiK建议DeFi项目将其PancakeSwap集成从V1迁移到V2。

同时也可使用时间加权平均价格来避免价格异常波动所带来的损失,以此防范黑客利用闪电贷攻击价格预言机。

迄今为止,CertiK已进行了超过700次的审计,保护了超过300亿美元的数字资产与软件系统免受安全损失。

标签:BNBBUNNYUNNBUNbnb可以和几个女主互动crazybunny币是什么时候出bunny币被盗POLYBUNNY

LTC热门资讯
ITA:AscendEX 将独家首发去中心化招聘平台 Freela 代币 FREL 并开启拍卖活动_TAL

链闻消息,加密货币交易平台AscendEX将独家首发去中心化招聘平台Freela代币FREL,并于5月26日21:00开启拍卖活动.

USD:LOEx关于部分交易对下线的公告_HTT

尊敬的LOEx用户:LOEx秉承着致力于打造良性的交易所生态,合理优化资源以更好地服务与用户的理念,为了充分保护用户权益,维护健康有序的市场秩序.

NFT:非同质化代币NFT能否对标同质化代币FT_SWDAO价格

撰写《NFT随想三两事》系列也有一段时间了,我也一直在思考一些问题:NFT到底是什么?NFT到底该如何发展?NFT又将能改变什么?一系列的问题都在我脑海中挥之不去.

DNI:专访数字资本CEO Leon深度解析恐龙币DNIR的崛起之路_BNB

整个币圈在519经历了暴跌行情,很多币种都销声匿迹,但在这种情况下,仍然有一个代币,在各个社区、朋友圈引起疯狂讨论,它就是——恐龙币DNIR,当然也出现了很多冒充的,官方也在各个社区紧急辟谣.

GATE:Gate.io Startup首发项目Drops Ownership Power (DOP)认购结果及上线交易公告_TPS

1.关于首发项目DropsOwnershipPower(DOP)认购结果Gate.ioStartup首发项目DropsOwnershipPower代币DOP于2021年05月21日10:00开始.

HOMI:HomiEx(红米交易所)关于LUNA3L等17个杠杆ETF产品份额合并的公告_LUN

亲爱的用户: 由于杠杆ETF产品LUNA3L等17个的净值已低于或接近0.050USDT,触发了杠杆ETF产品份额合并机制.