Euler Finance遭1.97亿美元闪电贷攻击 合约漏洞暴露重大安全风险

robot
摘要生成中

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

近日,一起重大安全事件引起了加密货币界的广泛关注。根据链上监控数据显示,Euler Finance项目于2023年3月13日遭遇了一次严重的闪电贷攻击,导致高达1.97亿美元的巨额损失,涉及6种不同的加密货币。

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

这次攻击的根本原因在于Euler Finance项目合约中的一个关键漏洞。具体而言,项目的Etoken中的donateToReserves函数缺少了必要的流动性检查机制,为攻击者创造了可乘之机。黑客利用这一漏洞,通过多次调用不同币种的相关函数,最终完成了这次大规模的资金盗取。

攻击的具体过程可以概括为以下几个步骤:

  1. 黑客首先从某借贷平台获取了3000万个DAI的闪电贷。

  2. 随后部署了两个关键合约:一个用于借贷操作,另一个用于清算操作。

  3. 黑客将借来的2000万DAI质押到Euler Protocol合约中,获得了约1950万个eDAI。

  4. 利用Euler Protocol的10倍杠杆功能,黑客借出了大量的eDAI和dDAI。

  5. 通过巧妙操作repay和mint函数,黑客进一步增加了借贷额度。

  6. 关键的一步是调用donateToReserves函数,捐赠了10倍于偿还资金的金额,随后通过liquidate函数进行清算,获取了大量的dDAI和eDAI。

  7. 最后,黑客提取了约3890万DAI,偿还了最初的3000万DAI闪电贷,净获利约887万DAI。

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

这次攻击暴露了Euler Finance项目合约中的一个严重设计缺陷。与其他关键函数相比,donateToReserves函数缺少了必要的checkLiquidity步骤,这个步骤本应调用RiskManager来确保用户的Etoken始终大于Dtoken。正是这个疏忽,让攻击者有机可乘,能够操纵自身账户状态,使其符合清算条件,然后从中牟利。

此事件再次凸显了智能合约安全审计的重要性。对于借贷类项目而言,尤其需要重点关注资金偿还、流动性检测和债务清算等关键环节的安全性。只有通过严格的安全审计和全面的风险评估,才能最大限度地降低类似安全事件的发生概率,保障用户资产的安全。

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亿美金!

EUL-3.56%
此页面可能包含第三方内容,仅供参考(非陈述/保证),不应被视为 Gate 认可其观点表述,也不得被视为财务或专业建议。详见声明
  • 赞赏
  • 1
  • 转发
  • 分享
评论
0/400
DAO开发者vip
· 22小时前
正是我们所期待的,缺少流动性检查... 智能合约审计 101 实话说
查看原文回复0
交易,随时随地
qrCode
扫码下载 Gate APP
社群列表
简体中文
  • 简体中文
  • English
  • Tiếng Việt
  • 繁體中文
  • Español
  • Русский
  • Français (Afrique)
  • Português (Portugal)
  • Bahasa Indonesia
  • 日本語
  • بالعربية
  • Українська
  • Português (Brasil)