BUNNY:币安智能链 PancakeBunny(BUNNY)攻击事件分析

前言

世界时5月20日10:34:28,币安智能链DeFi收益聚合器PancakeBunny遭到来自外部开发人员的闪电贷攻击,黑客利用闪电贷套利114631个BNB,大约4000W美元,涉及金额巨大。知道创宇区块链安全实验室旨在通过全盘梳理攻击流程和代码细节,一窥闪电贷套利的秘密。基础信息

攻击者地址:0xa0acc61547f6bd066f7c9663c17a312b6ad7e187攻击合约地址:0xcc598232a75fb1b361510bce4ca39d7bc39cf498攻击交易hash:0x897c2de73dd55d7701e1b69ffb3a17b0f4801ced88b0c75fe1551c5fcce6a979黑客利用闪电贷借大量BNB,通过PancakeSwap操纵USDT/BNB以及BUNNY/BNB价格,获得大量BUNNY后再进行抛售,导致BUNNY价格闪崩,并且从中获利。实验室就该次攻击事件进行分析,在链上查询到了交易链接以及攻击合约地址。攻击合约地址:0xcc598232a75fb1b361510bce4ca39d7bc39cf498攻击交易链接及截图:https://bscscan.com/tx/0x897c2de73dd55d7701e1b69ffb3a17b0f4801ced88b0c75fe1551c5fcce6a979

图1

图2

图3攻击步骤详解

1.攻击者先调用图2交易,进行了一次抵押,此时会产生抵押奖励;2.然后攻击者通过图1的交易从闪电贷平台借出大量BNB和USDT,通过PancakeSwap的交易对去添加流动性获取lp代币,并将lp代币留在了交易对合约中;3.因为攻击者进行过抵押,然后通过调用图3中VaultFlipToFlip合约的getReward函数来获取BUNNY代币奖励并取回移除先前添加的流动性,然而在奖励计算时,获取BUNNY数量的逻辑出现问题导致产生大量的BUNNY代币,并通过PancakeSwap兑换成BNB,造成了BUNNY价格暴跌;4.通过3步骤得到BNB之后归还到闪电贷地址,并从中获利114631个BNB,价值大约4000W美元。总结

本次攻击事件,攻击者在一笔交易中完成了一系列借用、兑换、获取奖励、归还闪电贷等操作,其主要原因还是项目在计算抵押奖励时获取lp价格出现了逻辑问题,导致黑客利用这一漏洞进行了攻击。

目前,我们在项目方的twitter上注意到,项目方已经暂停了一些项目的存取款功能,并商讨安全修复方案和赔偿计划。如果有新的进展,实验室会在第一时间跟进和分析,请持续关注!

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

链链资讯

[0:0ms0-7:292ms