创宇区块链|Beanstalk 遭黑客攻击,又是闪电贷?

4月17日,Beanstalk 协议在以太坊上遭受攻击,损失超8000万美元。攻击者利用闪电贷在多个平台借款并执行恶意提案,利用协议漏洞盗取资产。攻击核心在于提案投票系统缺乏闪电贷防护,导致恶意提案通过。合约安全、审计和风险管理亟待加强。
摘要由CSDN通过智能技术生成

前言

北京时间 4 月 17 日,以太坊平台 Beanstalk 协议遭到攻击,损失超过 8000 万美元,知道创宇区块链安全实验室 第一时间跟踪本次事件并分析。

分析

基础信息

攻击者:0x1c5dCdd006EA78a7E4783f9e6021C32935a10fb4

攻击合约:0x79224bC0bf70EC34F0ef56ed8251619499a59dEf

攻击tx:0xcd314668aaa9bbfebaf1a0bd2b6553d01dd58899c508d4729fa7311dc5d33ad7

Beanstalk(Diamond):0xC1E088fC1323b20BCBee9bd1B9fC9546db5624C5

恶意提案18:0xE5eCF73603D98A0128F05ed30506ac7A663dBb69

流程
  1. Aave 闪电贷借来 350,000,000 DAI、500,000,000 USDC、150,000,000 USDT;Uniswap 闪电贷借来32,100,950 BEAN;SushiSwap 借来 11,643,065 LUSD
  2. 在 Curve 3pool中添加 DAI/USDC/USDT 流动性,获得979,691,328 3Crv,在 LUSD3CRV-f 中兑换 15,000,000 3Crv => 15,251,318 LUSD
  3. 在 BEAN3CRV-f 中添加流动性 964,691,328 3Crv => 795,425,740 BEAN3CRV-f;在 BEANLUSD-f 中添加流动性 32,100,950 BEAN、26,894,383 LUSD => 58,924,887 BEANLUSD-f
  4. 将全部 BEAN3CRV-f 和 BEANLUSD-f 质押进 Diamond 合约,调用vote函数投票 18 号提案,并调用emergencyCommit函数紧急执行调用恶意提案合约的init函数,获得 36,084,584 BEAN、0.54 UNI-V2(WETH/BEAN)、874,663,982 BEAN3CRV-f、60,562,844 BEANLUSD-f,最后铸币 100 BEAN
  5. 在 BEAN3CRV-f 中移除流动性 874,663,982 BEAN3CRV-f => 1,007,734,729 3Crv;在 BEANLUSD-f 中移除流动性 60,562,844 BEANLUSD-f => 28,149,504 LUSD
  6. 归还 SushiSwap 闪电贷 11,678,100 LUSD,归还 Uniswap 闪电贷 32,197,543 BEAN
  7. 在 LUSD3CRV-f 中兑换 16,471,404 LUSD => 16,184,690 Crv,接着在 3pool 中销毁获得 522,487,380 USDC、365,758,059 DAI、156,732,232 USDT,并归还 Aave 闪电贷
  8. 0.54 UNI-V2(WETH/BEAN) 移除流动性,获得 10,883 WETH、32,511,085 BEAN;向乌克兰捐赠地址转入 250,000 USDC
  9. 将攻击获利的剩余 DAI/USDC/USDT 兑换为 WETH,累计 24,830 WETH,转入攻击者地址
细节

此次攻击的根本原因在于协议中对于提案的投票和执行缺乏反闪电贷机制,而投票所需的代币凭证可通过闪电贷获取大量份额,而导致恶意提案被投票通过执行

在这里插入图片描述
同时,提案被紧急执行时间设置的为 1 天,仅需提前一天部署恶意提案合约即可准备攻击
在这里插入图片描述

总结

此次攻击事件的核心在于提案投票执行系统中,缺乏对闪电贷的防护措施,用于投票的代币凭证可通过闪电贷大量获得并用于投票执行,导致攻击者利用闪电贷投票通过了恶意提案,盗走协议中的资产。

近期,各类合约漏洞安全事件频发,合约审计、风控措施、应急计划等都有必要切实落实。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值