Euler Finance遭闪电贷攻击 损失近2亿美元

robot
摘要生成中

Euler Finance 遭受闪电贷攻击,损失近2亿美元

2023年3月13日,一场针对Euler Finance的闪电贷攻击造成了约1.97亿美元的巨额损失,涉及6种代币。这次攻击利用了项目中Etoken的donateToReserves函数存在的漏洞,该函数缺乏必要的流动性检查机制。

Euler Finance漏洞分析:如何遭闪电贷攻击,损失1.97亿美金!

攻击过程分析

攻击者首先从某借贷平台获取了3000万DAI的闪电贷,随后部署了两个关键合约:一个用于借贷操作,另一个用于清算。攻击过程大致如下:

  1. 将2000万DAI质押到Euler Protocol,获得1950万eDAI。
  2. 利用Euler Protocol的10倍杠杆功能,借出约1.956亿eDAI和2亿dDAI。
  3. 使用剩余1000万DAI偿还部分债务,销毁相应dDAI。
  4. 再次借出同等数量的eDAI和dDAI。
  5. 通过donateToReserves函数捐赠1亿eDAI,并随即进行清算操作,获得3.1亿dDAI和2.5亿eDAI。
  6. 最后提取约3890万DAI,偿还闪电贷后获利约887万DAI。

Euler Finance漏洞分析:如何遭闪电贷攻击,损失1.97亿美金!

Euler Finance漏洞分析:如何遭闪电贷攻击,损失1.97亿美金!

Euler Finance漏洞分析:如何遭闪电贷攻击,损失1.97亿美金!

Euler Finance漏洞分析:如何遭闪电贷攻击,损失1.97亿美金!

Euler Finance漏洞分析:如何遭闪电贷攻击,损失1.97亿美金!

Euler Finance漏洞分析:如何遭闪电贷攻击,损失1.97亿美金!

Euler Finance漏洞分析:如何遭闪电贷攻击,损失1.97亿美金!

Euler Finance漏洞分析:如何遭闪电贷攻击,损失1.97亿美金!

Euler Finance漏洞分析:如何遭闪电贷攻击,损失1.97亿美金!

漏洞根源

此次攻击的核心在于donateToReserves函数缺少必要的流动性检查。与mint函数相比,donateToReserves函数没有执行checkLiquidity步骤,这一步骤本应调用RiskManager模块来确保用户的Etoken数量大于Dtoken数量。

这个疏忽使得攻击者能够操纵自身账户状态,使其符合被清算的条件,然后通过清算过程获取巨额利润。

Euler Finance漏洞分析:如何遭闪电贷攻击,损失1.97亿美金!

安全建议

针对此类漏洞,DeFi项目尤其是借贷平台应当:

  1. 加强合约安全审计,确保所有关键函数都包含必要的安全检查。
  2. 特别关注资金偿还、流动性检测和债务清算等核心功能的安全性。
  3. 实施多重安全机制,避免单点故障导致的大规模损失。
  4. 定期进行安全评估和压力测试,及时发现并修复潜在风险。

这起事件再次凸显了智能合约安全的重要性,以及在快速发展的DeFi领域中保持警惕的必要性。项目方应当汲取教训,不断完善安全措施,以保护用户资产和维护生态系统的健康发展。

EUL-4.4%
此页面可能包含第三方内容,仅供参考(非陈述/保证),不应被视为 Gate 认可其观点表述,也不得被视为财务或专业建议。详见声明
  • 赞赏
  • 4
  • 转发
  • 分享
评论
0/400
鲜血做多vip
· 2小时前
弱智盘摸清了底部就是腰斩
回复0
熊市朝阳人vip
· 8小时前
又见闪电贷漏洞 我还是乖乖躺平
回复0
爱发币的阿婆主vip
· 08-14 20:00
又一个项目崩了
回复0
链上流浪诗人vip
· 08-14 19:52
又是扫地出门系列
回复0
交易,随时随地
qrCode
扫码下载 Gate APP
社群列表
简体中文
  • 简体中文
  • English
  • Tiếng Việt
  • 繁體中文
  • Español
  • Русский
  • Français (Afrique)
  • Português (Portugal)
  • Bahasa Indonesia
  • 日本語
  • بالعربية
  • Українська
  • Português (Brasil)