Cork Protocol黑客攻擊致損超1200萬美元 原因及過程深度剖析

robot
摘要生成中

Cork Protocol被黑事件分析:損失超千萬美元

5月28日,一起針對Cork Protocol的安全事件引發了業界廣泛關注。事件發生後,Cork Protocol迅速採取行動,暫停了所有市場交易以防止風險進一步擴大。安全團隊隨即展開調查,以下是對此次攻擊的詳細分析。

事件背景

Cork Protocol是一個爲DeFi生態提供Depeg掉期功能的工具,旨在對沖穩定幣、流動性質押代幣和RWA等掛鉤資產的脫錨風險。其核心機制允許用戶通過交易風險衍生品,將價格波動風險轉移給市場參與者,從而降低風險並提升資本效率。

損失超千萬美元,Cork Protocol被黑事件分析

攻擊原因

此次攻擊的根本原因有兩個方面:

  1. Cork允許用戶通過CorkConfig合約創建以任意資產作爲贖回資產(RA),使得攻擊者可以將DS作爲RA使用。

  2. 任意用戶都可以無需授權地調用CorkHook合約的beforeSwap函數,並允許傳入自定義hook數據進行CorkCall操作。這使得攻擊者能夠操控合法市場中的DS,將其存入另一個市場作爲RA使用,並獲得對應的DS和CT代幣。

損失超千萬美元,Cork Protocol被黑事件分析

攻擊過程

  1. 攻擊者首先在合法市場上用wstETH購買weETH8CT-2代幣。

  2. 攻擊者創建了一個新市場,使用自定義Exchange Rate提供商,以weETH8DS-2代幣作爲RA,wstETH作爲PA。

  3. 攻擊者向新市場添加流動性,使協議能在Uniswap v4中初始化對應的流動性池。

  4. 利用Uniswap V4 Pool Manager解鎖時的unlockCallback功能,攻擊者調用CorkHook的beforeSwap函數,並傳入自定義市場和hook數據。

  5. CorkCall函數信任由上層合法CorkHook傳入的數據並直接執行,使攻擊者能將合法市場中的weETH8DS-2代幣轉入新市場作爲RA,並獲得新市場對應的CT與DS代幣。

  6. 攻擊者使用獲得的CT與DS代幣在新市場贖回RA代幣(即weETH8DS-2代幣)。

  7. 最後,攻擊者將weETH8DS-2代幣與先前購買的weETH8CT-2代幣匹配,在原有市場贖回wstETH代幣。

損失超千萬美元,Cork Protocol被黑事件分析

損失超千萬美元,Cork Protocol被黑事件分析

損失超千萬美元,Cork Protocol被黑事件分析

損失超千萬美元,Cork Protocol被黑事件分析

損失超千萬美元,Cork Protocol被黑事件分析

損失超千萬美元,Cork Protocol被黑事件分析

損失超千萬美元,Cork Protocol被黑事件分析

損失超千萬美元,Cork Protocol被黑事件分析

損失超千萬美元,Cork Protocol被黑事件分析

損失超千萬美元,Cork Protocol被黑事件分析

損失超千萬美元,Cork Protocol被黑事件分析

攻擊後果

根據鏈上反洗錢與追蹤工具MistTrack的分析,攻擊者地址獲利3,761.878 wstETH,價值超1,200萬美元。攻擊者隨後通過8筆交易將wstETH兌換爲4,527 ETH。

截至分析時,共有4,530.5955 ETH停留在攻擊者地址上。安全團隊將持續監控資金動向。

損失超千萬美元,Cork Protocol被黑事件分析

安全建議

爲防止類似事件再次發生,開發者在進行協議設計時應注意以下幾點:

  1. 謹慎驗證協議的每一步操作是否都在預期中。
  2. 嚴格限制市場的資產類型。
  3. 加強對用戶傳入數據的驗證,確保符合預期。
  4. 定期進行安全審計,及時發現和修復潛在漏洞。

這次事件再次凸顯了DeFi協議在安全設計方面的重要性。隨着DeFi生態的不斷發展,開發者和用戶都需要提高安全意識,共同維護健康穩定的生態環境。

損失超千萬美元,Cork Protocol被黑事件分析

DEFI8.87%
查看原文
此頁面可能包含第三方內容,僅供參考(非陳述或保證),不應被視為 Gate 認可其觀點表述,也不得被視為財務或專業建議。詳見聲明
  • 讚賞
  • 2
  • 分享
留言
0/400
难道我又错过空投vip
· 7小時前
又是一波亏麻了的
回復0
Pump策略师vip
· 7小時前
筹码分布早有异动 自取灭亡罢了
回復0
交易,隨時隨地
qrCode
掃碼下載 Gate APP
社群列表
繁體中文
  • 简体中文
  • English
  • Tiếng Việt
  • 繁體中文
  • Español
  • Русский
  • Français (Afrique)
  • Português (Portugal)
  • Bahasa Indonesia
  • 日本語
  • بالعربية
  • Українська
  • Português (Brasil)