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

  • 事件概述:5月28日,Cork Protocol因協定漏洞遭攻擊,損失超過1,200萬美元(3,761.878 wstETH),攻擊者利用未嚴格驗證的資料輸入與流動性操控手法非法贖回資金。

  • 背景

    • Cork Protocol為DeFi生態提供類似傳統金融的「脫錨掉期」(Depeg Swap)功能,用於對沖穩定幣或流動性質押代幣的脫錨風險。
    • 核心機制涉及「贖回資產」(RA)、「掛鉤資產」(PA)、「脫錨掉期」(DS)及「覆蓋代幣」(CT)等概念。
  • 攻擊手法

    1. 漏洞根源:協定允許用戶自訂贖回資產(RA)且未驗證beforeSwap函數的調用權限,攻擊者藉此將合法市場的DS代幣轉移至自建市場作為RA使用。
    2. 操作步驟
      • 攻擊者先在合法市場購買weETH8CT-2代幣。
      • 創建新市場並以weETH8DS-2作為RA,透過Uniswap V4的unlockCallback觸發beforeSwap,操控流動性。
      • 利用PSM機制贖回RA(weETH8DS-2),再於原市場兌換為wstETH。
  • 資金流向

    • 攻擊者獲利3,761.878 wstETH(約1,200萬美元),並兌換為4,527 ETH,初始資金來源為Swapuz.com的4.861 ETH。
    • 目前4,530.5955 ETH仍留存於攻擊者地址。
  • 安全建議

    • 開發者需嚴格驗證協定操作與用戶輸入資料,限制市場資產類型,避免類似漏洞。
總結

作者:Kong & Lisa

編輯:Liz

背景

5 月28 日,慢霧(SlowMist) 偵測到與Cork Protocol 相關的潛在可疑活動並發布安全提醒,建議用戶提高警惕,注意帳戶與資金安全。

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

 (https://x.com/SlowMist_Team/status/1927705256915333359)

不久後,Cork Protocol 發佈公告表示:「今日UTC 時間11:23,wstETH:weETH 市場發生安全事件。為防止風險擴大,Cork 已暫停所有其他市場交易,目前暫無其他市場受影響。團隊正在積極調查事件原因,並將持續更新相關進展。」

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

 (https://x.com/Corkprotocol/status/1927808041984086083)

事件發生後,慢霧安全團隊第一時間介入分析,以下是攻擊手法及資金轉移路徑的詳細解析。

前置知識

Cork Protocol 是一個旨在為DeFi 生態提供類似傳統金融中信用違約掉期(CDS) 功能的工具- Depeg 掉期,專門用於對沖穩定幣、流動性質押代幣、RWA 等掛鉤資產的脫錨風險。其核心機制圍繞著穩定幣和流動性質押代幣的脫錨風險展開,允許用戶透過交易風險衍生品,將穩定幣或LST/LRT 的價格波動風險轉移給市場參與者,從而降低風險並提升資本效率,關鍵概念如下:

RA(Redemption Asset | 贖回資產):Cork 市場中用於贖回或結算脫錨事件的基準資產(例如ETH::stETH 市場中的ETH)。

PA(Pegged Asset | 掛鉤資產):有脫錨風險的資產,目標是與 RA 保持價格掛鉤,但可能因市場波動、協議風險等因素偏離錨定匯率(例如ETH::stETH 市場中的stETH)。

DS(Depeg Swap | 脫錨掉期):Cork 協議發行的核心衍生工具,用於對沖脫錨風險,本質類似傳統金融中的信用違約掉期(CDS),用戶可以購買此類代幣來規避脫錨風險。

CT(Cover Token | 覆蓋代幣):與 DS 配對的衍生工具,用於承擔脫錨風險並賺取收益,類似CDS 中的賣方角色,如果發生脫錨,持有者將承擔損失。

Exchange Rate:衡量 PA 與RA 之間價值關係的核心參數,直接影響脫錨事件的判定與衍生性商品交易的結算邏輯。目前,Cork 協定允許使用者使用自訂Exchange Rate Provider 創建市場。

Cork Vault:自動化管理跨期限的流動性,提升資本效率。

Peg Stability Module (PSM):負責鑄造/銷毀DS 和CT,設定市場期限,並透過AMM 動態調整價格。其允許用戶做以下兌換:

PA + DS = RACT + DS = RA

根本原因

此次攻擊的根本原因在於一方面 Cork 允許用戶透過CorkConfig 合約創建以任意資產作為贖回資產(RA),使得攻擊者可以將DS 作為RA 使用。另一方面任意用戶都可以無需授權的調用CorkHook 合約的beforeSwap 函數,並允許用戶傳入自定的hook 數據進行CorkCall 操作,使得攻擊者可以操控,將合法市場中的DS 存入另一個市場中作為RA 使用,並獲得對應的DS 和CT 代幣。

攻擊分析

攻擊者首先在合法市場上用 wstETH 購買了weETH8CT-2 代幣,以便最後可以與DS 代幣組合贖回作為RA 的wstETH 代幣。

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

隨後攻擊者創建了一個新的市場並使用了自定的 Exchange Rate 提供商,此市場以weETH8DS-2 代幣作為RA,wstETH 作為PA 進行創建,因此新市場的關鍵代幣對應如下:

RA: weETH8DS-2PA: wstETHCT: wstETH5CT-3DS: wstETH5DS-3

而 weETH8DS-2 所在市場的關鍵代幣對應如下:

RA: wstETHPA: weETHCT: weETH8CT-2DS: weETH8DS-2

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

創建新市場後,攻擊者透過向市場添加一定的流動性以使得協定可以在 Uniswap v4 中初始化對應的流動性池,以便CorkHook 後續可以在此池子執行beforeSwap。

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

緊接著,最關鍵的是,只要在 Uniswap V4 Pool Manager 解鎖的條件下,任何使用者都可以呼叫CorkHook 的beforeSwap 函數傳入任意參數,對協議的市場流動性進行操作。因此,攻擊者透過Uniswap V4 Pool Manager 在解鎖時的unlockCallback 功能,呼叫CorkHook 的beforeSwap 函數並傳入其自定的市場以及hook 資料。

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

beforeSwap 將回呼合法市場的CorkCall 函數,執行指定的hook 資料:

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

CorkCall 信任由上層合法CorkHook 傳入的資料並直接進行解析執行:

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

這使得攻擊者可以透過建構 hook 數據,將合法市場中指定數量的weETH8DS-2 代幣轉入由其創建的新市場中作為RA,並獲得新市場對應的CT 與DS 代幣。

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

而根據 PSM 的特性,攻擊者可以使用獲得的CT 與DS 代幣在新市場贖回RA 代幣,即weETH8DS-2 代幣。

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

在獲得 weETH8DS-2 代幣後,攻擊者即可將其與先前購買的weETH8CT-2 代幣匹配,以在原有的市場贖回wstETH 代幣。

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

至此,攻擊者利用了市場未限制贖回資產類型以及協議並未驗證 CorkHook.beforeSwap 的調用者與傳入數據,使得其可以將合法的市場的DS 流動性轉移到另一市場作為RA 進行贖回,來竊取任意市場的流動性。

MistTrack 分析

根據鏈上反洗錢與追蹤工具 MistTrack 分析,攻擊者地址0xea6f30e360192bae715599e15e2f765b49e4da98 獲利3,761.878 wstETH,價值超1,200 萬美元。

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

隨後,攻擊者透過

8 筆交易將wstETH 兌換為4,527 ETH:

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

此外,攻擊者的初始資金來自 Swapuz.com 轉入的4.861 ETH。

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

截至目前,共有 4,530.5955 ETH 停留在攻擊者地址上,我們將持續監控資金。

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

總結

這次攻擊的根本原因在於未嚴格驗證用戶傳入的資料是否符合預期,使得協定流動性可以被操控轉移到非預期的市場中,進而被攻擊者非法贖回獲利。慢霧安全團隊建議開發者在進行設計時,應謹慎驗證協議的每一步操作是否都在預期中,並嚴格限制市場的資產類型。

分享至:

作者:慢雾科技

本文為PANews入駐專欄作者的觀點,不代表PANews立場,不承擔法律責任。

文章及觀點也不構成投資意見

圖片來源:慢雾科技如有侵權,請聯絡作者刪除。

關注PANews官方賬號,一起穿越牛熊
推薦閱讀
5分鐘前
42分鐘前
1小時前
2小時前
3小時前
3小時前

熱門文章

行業要聞
市場熱點
精選讀物

精選專題

App内阅读