DeltaPrime协议于2024年11月11日遭受黑客攻击,损失约485万美元。攻击者利用智能合约中的两个关键漏洞进行未授权借款和奖励操纵,最终导致资产被盗。在此事件后,DeltaPrime暂停了所有流动池,以保护用户资产并确保协议的安全性。
DeltaPrime 是一个在 Avalanche blockchain 上运行的 缺乏抵押品的借贷协议,旨在通过结构化的 无信任借贷池 最大化 资本效率。该协议允许用户将资产 存入流动性池 并根据 利用率 赚取 利息。借款人 可以使用部分 抵押品 访问这些资金,并在集成 跨保证金功能 的各种 DeFi 平台 上进行部署。
DeltaPrime 的核心是 PrimeLoans 系统,它使缺乏抵押品的借贷成为可能。DeltaPrime 不是将借来的资金直接发送到用户的钱包,而是利用称为 Prime Accounts 的 特殊智能合约 来管理每笔贷款。这些 Prime Accounts 通过不断监控交易,确保资产价值保持在安全阈值之上,从而强制执行严格的偿付能力。这一机制为借款人提供了增强的 Prime Brokerage 体验,配备了更高的流动性和跨保证金功能。
DeltaPrime 结合了一种 去中心化清算机制 以维护贷款的偿付能力。如果因市场波动导致贷款的价值与抵押品的比率变得危险,任何人都可以通过清算一些抵押品来触发部分偿还。这个过程通过确保贷款保持偿付能力来保护协议的整体风险状况。
DeltaPrime 的智能合约分为两个主要组:
setRatesCalculator
模型实时计算,根据池的利用情况动态调整。只有经过验证的账户,经过关联合约验证的账户,才能借款。canBorrow
函数来验证借款资格并确保安全性。borrow
, repay
, invest
, redeem
)受到 remainsSolvent modifier 的保护,以防止 LTV 超过安全限制。如果偿付能力被破坏,liquidate
函数允许任何人卖出抵押品并部分偿还债务,并给予清算者奖励。借款人也可以通过调整存入资金(fund
或 withdraw
)来管理他们的 LTV。在 2024年11月11日,DeltaPrime 在 Arbitrum 和 Avalanche 网络上遭遇了重大安全漏洞,损失约 $4.85 million。该漏洞利用了两个关键弱点:swapDebtParaSwap
函数中的 unchecked logic 和 DeltaPrime 的 外围适配器合约 和 奖励机制 中对 pair
参数 的不当验证。这些弱点导致未授权的借款和奖励计算的操控。以下是对攻击执行、攻击者的方法论及其对 DeltaPrime 安全框架的更广泛影响的综合技术分析。
攻击者在 DeltaPrime 的智能合约中利用了两个关键函数的漏洞:
swapDebtParaSwap
函数
_repayAmount
参数。这使得攻击者得以未触发偿还逻辑而将借入的资产重定向到恶意合约。claimReward
函数
pair
参数的验证不足。这一缺陷允许攻击者将恶意合约作为输入,操控内部余额并提取未获奖励。这些弱点使攻击者得以在多个流动性池中 siphon 大量资金。
攻击以获得 闪电贷 开始,总额约为 59.958 WETH,为攻击者提供临时流动性以执行后续步骤。
swapDebtParaSwap
函数漏洞的根本原因在于 swapDebtParaSwap
函数中未检查的输入验证和 claimReward
函数中任意外部合约输入。这些缺陷使得攻击者能够借用超过其抵押品的资产,并在未经过适当验证的情况下以奖励形式提取抵押品。
_repayAmount
参数传递至 swapAdapter
前未进行验证,导致借入的 WBTC 被转移出攻击者的帐户到恶意合约 ( 0x52ee
).swapAdapter
将借来的 WBTC 转移到另一个地址,而不触发偿还检查。这一漏洞使攻击者绕过了标准的偿还逻辑,将资金重定向用于恶意目的。
claimReward
函数第二个漏洞源于 claimReward()
函数内对 pair
参数的验证不足。这一弱点使攻击者能够利用 DeltaPrime 的奖励系统。
TraderJoeV2ArbitrumFacet
合约内,用于奖励索取机制的 pair
参数未得到妥善验证,攻击者传入了恶意合约作为输入。wrapNativeToken()
函数将抵押品(ETH)转换为 WETH。这一过程干扰了 DeltaPrime 的内部余额计算,导致系统将包裹的 ETH 视为有效奖励资产。这一步骤突显了由松散的参数验证带来的风险,缺乏保护使协议的内部余额追踪得以被利用。
在成功 siphon 约 $4.85 million 之后,攻击者采用了一种独特的策略来管理被盗资产。攻击者并没有迅速分散这些资金或通过传统方式洗钱,而是将盗取的资金战略性地再投资于 Avalanche 上的各种 DeFi 协议,以产生被动收入。
尽管许多攻击者通常会试图迅速洗钱或转移被盗资金,但这位攻击者采取了非常规的方法,将被盗资金转变为在 Avalanche 上获得收益的机会。
通过在 swapDebtParaSwap
和 claimReward
函数中实施强大的输入验证,本次 DeltaPrime 漏洞可以得到有效防止。诸如 _repayAmount
和 pair
的参数必须经过彻底验证,以确保符合有效范围和所有权标准。这种细致的验证对于维护奖励机制的完整性并保护协议免受试图操控奖励分配的恶意行为者的攻击至关重要。
DeltaPrime 攻击的直接后果是约 $4.85 million 在 Arbitrum 和 Avalanche 网络上的损失。由于这是两个月内的第二次重大漏洞,可能会对用户的信任和协议的声誉产生负面影响。这类事件可能导致用户重新评估 DeltaPrime 的安全性,可能导致参与度和信心下降。
针对此次漏洞,DeltaPrime 在其 X 账户 上发布了官方声明,承认该协议在 Avalanche 和 Arbitrum 网络上遭到攻击,预计损失为 $4.85 million。作为立即的预防措施,DeltaPrime 已在两个链上 暂停所有池,以控制风险。团队向用户保证将尽快提供更新,强调他们致力于保护用户资产并恢复协议的功能。
- 原文链接: threesigma.xyz/blog/delt...
- 登链社区 AI 助手,为大家转译优秀英文文章,如有翻译不通的地方,还请包涵~
如果觉得我的文章对您有用,请随意打赏。你的支持将鼓励我继续创作!