链资讯 链资讯
Ctrl+D收藏链资讯

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

作者:

时间:

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

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

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

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

在文中,CertiK安全专家添加了地址标签(如下图所示),使代币的流向更加清晰。

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

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

交易一: 

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

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

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

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

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

Optimism盗币黑客已向V神地址发送100万枚OP:6 月 9 日消息,Optimism 链上数据显示,此前 Optimism 官方公布的 2000 万枚 OP 失窃事件黑客地址目前已向 V 神钱包0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045发送了 100 万枚 OP。截至目前,V 神尚未对此事做出回应。[2022/6/9 4:12:29]

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

②将USDT-BNB FLIP存入池中。

交易二: 

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

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

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

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

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

币赢CoinW将于1月15日17:00 在DeFi专区上线HBT:据官方消息,币赢CoinW将于1月15日17:00 在DeFi专区上线HBT/USDT交易对,并开启上线奖励。据悉,HBT(HyperBC Token)是HyperBC发行的去中心化加密资产,是流通于HyperBC生态中的权益通证,其发行目的是帮助加密货币理财参与者进行价值储藏、价值流通和价值寻找。HBT持有人不仅可以享有全生态的相应权益, 还可以深度参与HyperBC未来的发展规划与决策。

HBT是基于以太坊发行的ERC20通证,总量10亿枚,只能通过参与HyperBC金融生态中的加密资产挖矿、借贷、保险等业务获取,无预挖,无众筹。详情点击链接:[2021/1/15 16:14:51]

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

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

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

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

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

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

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

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

然后,一半的BNB(115.6万)被换成BUNNY,另一半的BNB(115.6万)和换来的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价格价值可达约10亿美元)。

那么,是什么原因导致合约铸造了这么多的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后,攻击者在PancakeSwap BNB-BUNNY V1池和V2池中将BUNNY换成BNB。

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

这种攻击奏效的原因之一是"ZapBSC "合约(https://bscscan.com/address/0xf4c17e321a8c566d21cf8a9f090ef38f727913d5#code)使用PancakeSwap V1流动性池,通过V1 PancakeSwap Router进行代币交换。

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

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

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

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

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

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

标签:PLUDEFIEFIESWAPplugchain币价格DefiDollar DAOonekey一键还原提示uefiCoffeeswap

比特币价格热门资讯
?以太坊上的MetaVerse正在酝酿数字国家的雏形?

以太坊上的Metaverse正随着数字国家蓬勃发展 随着关于区块链技术为基础的Metaverse的主流报道达到历史新高,这一领域的发展逐渐吸引到了人们的侧目。 简而言之,您可以将Metaverse看作是一个整体互连或随时可连接的虚拟环境的集合,这与我们平时将Internet视为Clear Web和Deep Web网站的集合一样。

Caspian:一种由 Layer 2 驱动的新型 AMM 设计

在 Layer 2 上构建 DeFi 解决方案时,资金效率是人们最关心的问题之一。 原因:流动性将分散在 Layer 1 和多个 Layer 2 解决方案之间。 Caspian:我们提出的一种由 Layer 2 驱动的 AMM 设计。该 AMM 将资产留在 Layer 1 上,可有效防止流动性碎片化,并提高资本效率。

新型DeFi资管协议DePlutus:想开启链上基金新时代 还需迈过哪些坎?

去中心化资产管理协议 DePlutus 正尝试借助链上基金代币化及与主流 DeFi 深度嵌套的创新设计,探寻打破兼顾高效、安全与高收益这一「DeFi 不可能三角」的可能性。

一文读懂MCDEX V3:用集中的AMM机制重塑去中心化衍生品

随着 Uniswap V3 部署到以太坊二层网络 Arbitrum 的投票通过,DEX 在二层网络的竞争也进入白热化的阶段。与此同时 DeFi 的衍生品赛道,却受限于以太坊高昂的手续费、延迟较高、以及传统的 AMM 模型流动性差等问题,还暂处于起步阶段,赛道内主要产品市值普遍较低,而像 dYdX 等则尚未发币。

Epix:高端收藏品平台

Epix 的前景可以由大胆、美丽和有远见这三个简单的词语来概括。 高端收藏品平台 Epix 背后的企业—Pixeos 成立于 2018 年。当时诞生了第一批基于 POS 机制的 NFT 艺术收藏品。在看到了该领域的巨大潜力后,我们团队会继续稳步发展,在接下来的几个月中计划将实物资产与区块链相联系起来。 Pixeos 所属于 NFT PoS 领域。

一文读懂合成资产交易所Linear Exchange

Linear Finance是非托管、跨链兼容的Delta-One(价格变动与标的资产相一致)合成资产协议,其对于去中心化金融的愿景是让更多人可以轻松便捷地交易包括传统和数字资产在内的投资品,促进这一意义上的金融普惠。