新闻详情

损失超千万美元,Cork Protocol被黑事件分析

2025-05-30
损失超千万美元,Cork Protocol被黑事件分析_欧易官网登录中心-OKX官网登录入口

欧意APP下载

欧意交易app是数字货币交易平台

作者:Kong&Lisa

编辑:Liz 

背景

5月28日,慢雾(SlowMist)检测到与CorkProtocol相关的潜在可疑活动并发布安全提醒,建议用户提高警惕,注意账户与资金安全。

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

不久后,CorkProtocol发布公告表示:“今日UTC时间11:23,wstETH:weETH市场发生安全事件。为防止风险扩大,Cork已暂停所有其他市场交易,目前暂无其他市场受影响。团队正在积极调查事件原因,并将持续更新相关进展。” 

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

事件发生后,慢雾安全团队第一时间介入分析,以下是对攻击手法及资金转移路径的详细解析。

前置知识

CorkProtocol是一个旨在为DeFi生态提供类似传统金融中信用违约掉期(CDS)功能的工具——Depeg掉期,专门用于对冲稳定币、流动性质押代币、RWA等挂钩资产的脱锚风险。其核心机制围绕稳定币和流动性质押代币的脱锚风险展开,允许用户通过交易风险衍生品,将稳定币或LST/LRT的价格波动风险转移给市场参与者,从而降低风险并提升资本效率,关键概念如下:

RA(RedemptionAsset|赎回资产):Cork市场中用于赎回或结算脱锚事件的基准资产(例如ETH::stETH市场中的ETH)。

PA(PeggedAsset|挂钩资产):存在脱锚风险的资产,目标是与 RA保持价格挂钩,但可能因市场波动、协议风险等因素偏离锚定汇率(例如ETH::stETH市场中的stETH)。

DS(DepegSwap|脱锚掉期):Cork协议发行的核心衍生工具,用于对冲脱锚风险,本质类似传统金融中的信用违约掉期(CDS),用户可以购买此类代币来规避脱锚风险。

CT(CoverToken|覆盖代币):与 DS配对的衍生工具,用于承担脱锚风险并赚取收益,类似CDS中的卖方角色,如果发生脱锚,持有者将承担损失。

ExchangeRate:衡量 PA与RA之间价值关系的核心参数,直接影响脱锚事件的判定和衍生品交易的结算逻辑。目前,Cork协议允许用户使用自定义ExchangeRateProvider创建市场。

CorkVault:自动化管理跨期限的流动性,提升资本效率。

PegStabilityModule(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代币。

随后攻击者创建了一个新的市场并使用了自定的 ExchangeRate提供商,此市场以weETH8DS-2代币作为RA,wstETH作为PA进行创建,因此新市场的关键代币对应如下:

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

而 weETH8DS-2所在市场的关键代币对应如下:

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

创建完新市场后,攻击者通过向市场添加一定的流动性以使得协议可以在 Uniswapv4中初始化对应的流动性池,以便CorkHook后续可以在此池子执行beforeSwap。

紧接着,最关键的是,只要在 UniswapV4PoolManager解锁的条件下,任何用户都可以调用CorkHook的beforeSwap函数传入任意参数,对协议的市场流动性进行操作。因此,攻击者通过UniswapV4PoolManager在解锁时的unlockCallback功能,调用CorkHook的beforeSwap函数并传入其自定的市场以及hook数据。

beforeSwap将回调合法市场的CorkCall函数,执行指定的hook数据:

CorkCall信任由上层合法CorkHook传入的数据并直接进行解析执行:

这使得攻击者可以通过构造 hook数据,将合法市场中指定数量的weETH8DS-2代币转入由其创建的新市场中作为RA,并获得新市场对应的CT与DS代币。

而根据 PSM的特性,攻击者可以使用获得的CT与DS代币在新市场赎回RA代币,即weETH8DS-2代币。

在获得 weETH8DS-2代币后,攻击者即可将其与先前购买的weETH8CT-2代币匹配,以在原有的市场赎回wstETH代币。

至此,攻击者利用了市场未限制赎回资产类型以及协议并未验证 CorkHook.beforeSwap的调用者与传入数据,使得其可以将合法的市场的DS流动性转移到另一市场作为RA进行赎回,来窃取任意市场的流动性。

MistTrack分析

据链上反洗钱与追踪工具 MistTrack分析,攻击者地址0xea6f30e360192bae715599e15e2f765b49e4da98获利3,761.878wstETH,价值超1,200万美元。

随后,攻击者通过

8笔交易将wstETH兑换为4,527ETH

此外,攻击者的初始资金来自 Swapuz.com转入的4.861ETH

截至目前,共有 4,530.5955ETH停留在攻击者地址上,我们将持续对资金进行监控。

总结

此次攻击的根本原因在于未严格验证用户传入的数据是否符合预期,从而使得协议流动性可以被操控转移到非预期的市场中,进而被攻击者非法赎回获利。慢雾安全团队建议开发者在进行设计时,应该谨慎验证协议的每一步操作是否都在预期中,并严格限制市场的资产类型。

欧易数字货币交易所 更快、更好、更强