Jarvis Network遭閃電貸重入攻擊 損失663,101個MATIC

robot
摘要生成中

Jarvis Network項目遭受閃電貸重入攻擊分析

2023年1月15日,Jarvis_Network項目遭遇攻擊,損失663,101個MATIC。這次攻擊主要利用了閃電貸和重入漏洞,導致項目資金流失。

Jarvis Network閃電貸重入攻擊事件分析

通過分析交易調用棧,發現攻擊者在remove_liquidity函數中實施了重入攻擊。該函數負責移除流動性並返還用戶代幣。由於Polygon與EVM鏈結構相似,在MATIC轉帳過程中觸發了合約重入。

Jarvis Network閃電貸重入攻擊事件分析

重入攻擊發生在價格查詢環節。攻擊者在移除流動性時,MATIC被轉移到攻擊者合約。在回調過程中,攻擊者先查詢了某代幣的價格。由於合約中self.D變量的更新滯後於轉帳操作,導致前期價格獲取出現錯誤。

Jarvis Network閃電貸重入攻擊事件分析

remove_liquidity函數的執行流程如下:

  1. 銷毀用戶LP代幣
  2. 向用戶發送質押資金
  3. 更新self.D變量

Jarvis Network閃電貸重入攻擊事件分析

self.D變量用於價格計算,在添加和移除流動性時都會更新。攻擊者利用了大額資金操作,導致self.D值在添加流動性時顯著增加,而在移除時未能及時更新。

Jarvis Network閃電貸重入攻擊事件分析

雖然remove_liquidity函數使用了@nonreentrant('lock')裝飾器來防止重入,但攻擊者通過跨合約借貸繞過了這一限制。

Jarvis Network閃電貸重入攻擊事件分析

這次攻擊暴露出項目代碼存在安全隱患。爲避免類似問題,建議項目方採取以下措施:

  1. 進行嚴格的安全審計
  2. 將變量修改操作置於外部調用之前
  3. 採用多數據源進行價格獲取
  4. 遵循"檢查-生效-交互"(Checks-Effects-Interactions)的編碼規範

Jarvis Network閃電貸重入攻擊事件分析

通過優化代碼邏輯和加強安全措施,可以有效提升項目的安全性和穩定性,防止類似攻擊再次發生。

Jarvis Network閃電貸重入攻擊事件分析

Jarvis Network閃電貸重入攻擊事件分析

Jarvis Network閃電貸重入攻擊事件分析

Jarvis Network閃電貸重入攻擊事件分析

Jarvis Network閃電貸重入攻擊事件分析

查看原文
此頁面可能包含第三方內容,僅供參考(非陳述或保證),不應被視為 Gate 認可其觀點表述,也不得被視為財務或專業建議。詳見聲明
  • 讚賞
  • 9
  • 分享
留言
0/400
MEVWhisperervip
· 07-22 15:42
这锅只能开发扛了
回復0
空投碎片收集者vip
· 07-22 15:27
一看就不想买了啊
回復0
GateUser-e87b21eevip
· 07-20 04:01
项目方防护不给力啊
回復0
Stake_OrRegretvip
· 07-19 19:17
又一家项目被抄家了...
回復0
佛系矿工ervip
· 07-19 19:09
这保安在干啥呢?
回復0
LayerZeroEnjoyervip
· 07-19 19:09
哎 又是重入 老套路了
回復0
LiquidityOraclevip
· 07-19 19:05
谁叫写代码不认真的
回復0
去中心化老干部vip
· 07-19 19:01
又被黑了,真是不长记性
回復0
巨鲸资深观察员vip
· 07-19 18:54
又一个半吊子项目遭重击
回復0
查看更多
交易,隨時隨地
qrCode
掃碼下載 Gate APP
社群列表
繁體中文
  • 简体中文
  • English
  • Tiếng Việt
  • 繁體中文
  • Español
  • Русский
  • Français (Afrique)
  • Português (Portugal)
  • Bahasa Indonesia
  • 日本語
  • بالعربية
  • Українська
  • Português (Brasil)