Euler Finance遭閃電貸攻擊 損失近2億美元

Euler Finance遭遇閃電貸攻擊,損失近2億美元

3月13日,Euler Finance項目因智能合約漏洞遭到閃電貸攻擊,導致約1.97億美元資金損失。這次攻擊涉及6種代幣,是近期DeFi領域最大規模的安全事件之一。

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,然後調用liquidate函數進行清算,獲得3.1億dDAI和2.5億eDAI。

  6. 最後提取3890萬DAI,償還3000萬閃電貸,淨利潤約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的donateToReserves函數缺少必要的流動性檢查。與mint等其他函數不同,donateToReserves未調用checkLiquidity函數來驗證用戶的資產狀況。這使得攻擊者能夠通過該函數使自身帳戶處於可被清算的狀態,進而實施攻擊。

正常情況下,checkLiquidity函數會調用RiskManager模塊來確保用戶的eToken大於dToken,以維持系統的安全性。然而,donateToReserves函數跳過了這一重要步驟,爲攻擊者提供了可乘之機。

Euler Finance漏洞分析:如何遭閃電貸攻擊,損失1.97億美金!

安全建議

這次事件再次凸顯了DeFi項目合約安全的重要性。對於借貸類項目,特別需要注意以下幾點:

  1. 確保所有涉及資金操作的函數都進行充分的流動性檢查。

  2. 嚴格控制用戶的借貸槓杆,防止過度槓杆導致的系統風險。

  3. 實施多重安全機制,如緊急暫停功能,以應對突發安全事件。

  4. 進行全面的合約審計,尤其關注資金償還、流動性檢測和債務清算等關鍵環節。

  5. 定期進行安全評估和壓力測試,及時發現並修復潛在漏洞。

此次攻擊事件提醒我們,在快速發展的Web3世界中,安全始終是首要考慮因素。項目方應該投入更多資源到安全建設中,而用戶也需要提高風險意識,謹慎參與各類DeFi項目。

Euler Finance漏洞分析:如何遭閃電貸攻擊,損失1.97億美金!

EUL4.58%
查看原文
此頁面可能包含第三方內容,僅供參考(非陳述或保證),不應被視為 Gate 認可其觀點表述,也不得被視為財務或專業建議。詳見聲明
  • 讚賞
  • 6
  • 分享
留言
0/400
airdrop_whisperervip
· 8小時前
又一家爆了 下一家谁
回復0
MEVWhisperervip
· 8小時前
又见闪电贷 服了
回復0
狗狗币单身汉vip
· 8小時前
谁说defi安全的站出来
回復0
NFT_Therapyvip
· 8小時前
寄了呗
回復0
BoredStakervip
· 9小時前
闪电贷又砸场子啦
回復0
Degen4Breakfastvip
· 9小時前
又一家韭菜收割机
回復0
交易,隨時隨地
qrCode
掃碼下載 Gate APP
社群列表
繁體中文
  • 简体中文
  • English
  • Tiếng Việt
  • 繁體中文
  • Español
  • Русский
  • Français (Afrique)
  • Português (Portugal)
  • Bahasa Indonesia
  • 日本語
  • بالعربية
  • Українська
  • Português (Brasil)