Curve Finance流动性池遭黑客攻击事件始末

  • hacken
  • 发布于 2025-06-27 22:21
  • 阅读 12

Curve Finance 在 2023 年 7 月 30 日遭受了重入攻击,损失高达 6900 万美元。根本原因是 Vyper 编程语言的编译器漏洞,该漏洞导致存储槽不匹配并扰乱了非重入保护。白帽社区成功追回了 70% 的损失,最终损失约为2000万美元。

更新于:2025年6月26日

5 分钟阅读

作者:Hacken

要点总结

攻击日期: 2023年7月30日。

损失金额: 6900万美元。

关键漏洞: 最初被认为是重入漏洞,但后来发现是 Vyper 固有的漏洞。Vyper 是一种用于 Ethereum 智能合约的 Pythonic 编程语言,被 Curve 和其他去中心化协议使用。

事件经过

2023年7月30日,Curve Finance——一个流行的 DEX——遭受了重入攻击。但根本原因比包括 Curve 在内的大多数人最初认为的要深刻得多。Vyper 编程语言中存在一个错误,导致重入保护机制出现故障,导致 6900 万美元被盗

这次攻击最初从 NFT 借贷协议 JPEG'd 的 pETH-ETH 池中窃取了 1150 万美元。然而,攻击者并没有就此止步:

  • JPEG'D 从 pETH/ETH 池中损失了 1150 万美元
  • Alchemix 从 alETH/ETH 池中损失了 2050 万美元
  • Metronome 从 msETH-ETH 池中损失了 160 万美元
  • Curve 本身从 CRV/ETH 池中损失了 2420 万美元

与此同时,另一家领先的去中心化交易所 Ellipsis 报告称,由于其 BNB 稳定币池遭到攻击,损失了 78,000 美元。

总共被盗约 6900 万美元;在所有退款之后,总损失约为 2000 万美元。

最终的根本原因

最初,Curve 认为这是一个“只读重入”问题,这个问题之前曾困扰过其他协议。但实际的根本原因更为基础。在此次安全漏洞中,根本问题是 Vyper 较旧版本中的 0-day 编译器错误,该错误在攻击者利用它之前一直未被发现。

Vyper 是一种为 Ethereum 虚拟机 (EVM) 量身定制的智能合约编程语言。该漏洞存在于 Vyper 的 0.2.15、0.2.16 和 0.3.0 版本中。

此错误会导致存储槽不匹配并破坏非重入保护。此漏洞允许攻击者干预这些功能之间的交易,扭曲 LP 代币价格并耗尽资金池。

它早些时候曾影响过 Conic Finance 和 EraLend 等其他项目。

以下是问题所在: 初步调查 强调 Vyper 编译器未正确实施重入保护以锁定合约。因此,两个函数“add_liquidity”和“remove_liquidity”的存储不匹配。

因此,攻击者可以重复地在这些函数之间插入交易,从而允许他们操纵 LP 代币价格并耗尽资金池中的资金。

利用 Curve 使用了哪些工具和技术?

黑客结合使用多种策略来利用 Curve.fi。以下是细分:

  • 使用 Vyper 编译器进行价格操纵: 黑客利用 Vyper 编译器漏洞改变了 Curve 上 3pool、sUSD、renBTC 和 saave 等池中的稳定币价格。然后,他们以虚高的价格将这些稳定币交易为其他代币。
  • 闪电贷: 黑客使用了闪电贷,如果用户在同一笔交易中偿还贷款,则允许用户在不提供抵押品的情况下借用加密货币。他们从 DeFi 借贷平台 Aave 借用了超过 价值 1 亿美元的稳定币,以最大限度地提高攻击的影响。
  • 匿名性: 黑客采取措施隐藏其身份并逃避执法部门的追踪,使用了多个钱包、混合服务和 DEX。此外,他们还向 Curve 返还了一些被盗资金,以减轻法律后果。

黑客利用重入漏洞攻击智能合约。

英雄

在一个罕见的成功案例中,白帽社区成功追回了 70% 的损失。这次事件中的英雄是 Miner Extractable Value (MEV) 机器人和来自 ETH 安全社区的白帽抢先交易了黑客的交易。只有在加密货币领域才会发生,对吧?

C0ffeebabe.eth 是一位 MEV 机器人运营商,他使用最大可提取价值 Ethereum 套利交易机器人抢先交易了黑客,将 2,879 ETH 返还给了被黑的 DEX。然而,对于剩余金额,仍在继续努力。

本着合作精神,Curve、Metronome 和 Alchemix 于 8 月 3 日联合起来。他们共同的目标是?追回剩余的被盗资金。

他们提供了 10%(700 万美元)的奖励,并承诺如果 8 月 4 日之前全额归还,将不采取任何法律行动。令人惊讶的是,黑客在 8 月 5 日之前向 Alchemix Finance 团队返还了 4,820.55 Alchemix ETH (alETH),并向 Curve.fi 团队返还了 1 ETH。

8 月 6 日,Curve Finance 宣布向任何可以识别黑客身份的人奖励 10%。原因?首先,黑客的最后期限已过,仅返还了 70% 的被盗资金。

在撰写本文时,考虑到所有已完成的退款,总损失现在已稳定在 2000 万美元

可视化图表

后果与反应

这次安全事件给 DeFi 协议带来了压力,凸显了人们对其对加密货币市场影响的担忧。此漏洞可能会危及所有使用 Wrapped Ether (WETH) 的资金池。

这次攻击给 DeFi 社区带来了冲击,导致许多用户从 Curve 和其他基于 Vyper 的协议中撤回资金。

在攻击发生后的一天内,Curve 中锁定的总价值几乎减少了一半,降至 15 亿美元。

随着黑客消息的传播,CRV 价格在黑客攻击后下跌了近 30%,由于担心 Egorov 的抵押贷款将被清算,跌至 0.48 美元的低点。

这种下跌以及黑客可能会用他们被盗的 CRV 淹没市场的担忧,引发了人们对其他 DeFi 平台可能出现问题的担忧。

尤其是 AAVE 平台,由于 Egorov 管理的以 CRV 代币作担保的大量借贷头寸而面临债务风险,这已为公众所知。

攻击后的安全措施和吸取的教训

Curve 和其他 协议 不应受到攻击的指责,因为很难确定责任在于何处。这些编译器级别的问题让所有相关人员都感到惊讶。

攻击者没有针对只读重入问题,而是深入研究,寻找进入更基础层的方法。尽管这个 Vyper 错误过去曾导致黑客攻击,但它仍然没有引起注意。

避免此类黑客攻击的一种有效方法是同时审计审计项目的智能合约 和底层 区块链架构。例如,区块链协议审计 不仅仅假设底层语言的稳定性;它会严格测试它。这可能会在 Curve 的情况下产生重大影响。

“不是 Curve 很容易受到攻击而没有人注意到;这次攻击肯定花费了几个月的时间,并且是 DeFi 中有史以来最复杂的攻击之一。不幸的是,部分责任归于 Vyper 开发人员,而部分责任归于 Curve 开发人员,因为他们在那个特定时刻选择了 Vyper 而不是 Solidity。”

  • Carlo Parisi,智能合约审计师

还可以做些什么?

编译器版本。 确保你的代码使用稳定的编译器版本。它们通常经过更好的审计和重构。虽然不能保证,但这是必须遵循的关键安全实践。

全面的测试。确保对代码进行全面的测试覆盖,以便在部署之前发现漏洞。适当的测试降低了未来出现错误的可能性。

私有内存池。使白帽更容易追回被盗资产。

负责任的披露。这对漏洞猎人来说是一个重要的提醒。避免过早地披露发现的漏洞,以防止黑客潜在的滥用,并让用户有机会撤回资金。

  • 原文链接: hacken.io/discover/curve...
  • 登链社区 AI 助手,为大家转译优秀英文文章,如有翻译不通的地方,还请包涵~
点赞 0
收藏 0
分享
本文参与登链社区写作激励计划 ,好文好收益,欢迎正在阅读的你也加入。

0 条评论

请先 登录 后评论
hacken
hacken
江湖只有他的大名,没有他的介绍。