那些忘记过去的人注定要重蹈覆辙。
2023年,我们目睹了许多造成社区严重损失的安全事件。对受影响者而言,这些都是一场场悲剧。然而,这些事件也提供了宝贵的教训,警示社区应将安全放在首位。
在众多事件中,BlockSec 精选了十个具有代表性的案例,每个案例都有其独特的理由。有些充满了戏剧性;有些则展示了“创新”的攻击策略;有些导致了重大的经济损失;还有些则利用了此前未知的攻击面。
在本篇博客中,我们将阐述2023年值得关注的十大安全事件及其原因。对于每一场安全事件,我们还将在后续的博客文章中分别介绍其根本原因和攻击步骤。
#1:通过利用 Flashbots Relay 中的漏洞收割 MEV 机器人
摘要
2023年4月3日,一名攻击者利用Flashbots Relay 中存在的漏洞攻击了多个 MEV 机器人,获利约2000万美元。此攻击的根本原因在于,在特定条件下,私有交易可能会泄露到公共池中,攻击者可以通过追赶这些泄露的交易来获利。

入选理由
攻击者通过利用Flashbots 的零日漏洞,创建诱饵交易吸引受害者,并实施规避检测的策略,以复杂的手法收割 MEV 机器人。这是迄今为止最复杂的攻击,它结合了对底层区块链基础设施的漏洞利用以及一种杠杆化攻击策略,并产生了重大的财务影响。
🧐 详细了解根本原因和攻击步骤。
#2:Euler Finance 事件:2023 年最大规模的黑客攻击
摘要
2023年3月13日,Euler Finance 的借贷池遭受闪电贷攻击,导致损失近2亿美元。此次攻击源于 donateToReserves() 函数缺乏清算检查。这一疏漏使得攻击者能够从高度杠杆化的头寸中贡献资产,将其健康度降至100%以下,从而产生坏账。
Euler 的设计采用了动态清算因子来实现“软清算”,即头寸的健康度越低,可用于清算的抵押品越多——根据本次事件的数据,在出现坏账的情况下,最多可达75%。因此,对大幅折价的抵押品进行清算,允许攻击者偿还闪电贷并获利。
入选理由
一位来自阿根廷的20岁年轻人 Federico Jaime 窃取了创纪录的1.97亿美元资金(他向媒体呈现了“一段曲折、有时令人困惑、甚至自相矛盾的叙述”)。然而,“所有可追回的资金”后来都归还给了 Euler Finance 的财库地址。不过,其中一小部分(约20万美元)被“无意中”发送给了 Lazarus 集团——一个被美国财政部制裁的、据称由朝鲜支持的犯罪集团。
🧐 详细了解根本原因和攻击步骤。
#3:KyberSwap 事件:精妙的舍入误差利用和极其精细的计算
摘要
2023年11月23日,发生了一系列针对 KyberSwap 的攻击,导致总损失超过4800万美元。根本问题源于 KyberSwap 再投资过程中不正确的舍入方向。这进而导致了不正确的 tick 计算,并最终导致流动性被重复计算。
入选理由
2023年的这次攻击因其复杂性而备受瞩目,它包含了极其精妙的计算,并且是许多精密相关安全事件中对社区构成严峻考验的典型案例。此外,在与当局进行广泛谈判后,攻击者向公众发出了一条带有挑衅意味的信息,声称要求完全控制该协议。
🧐 详细了解根本原因和攻击步骤。
#4:Curve 事件:编译器错误导致无害源代码产生有缺陷的字节码
摘要
2023年7月30日,一系列利用攻击了多个 Curve 池,导致数百万美元的损失。这是一次典型的重入攻击,但其根本原因却非同寻常,源于一个编译器错误,导致缺乏重入保护。具体来说,在智能合约中,不同函数的回环锁被分配了不同的存储槽。因此,使用Vyper 版本 0.2.15、0.2.16 和 0.3.0 编译的智能合约都存在漏洞。
入选理由
漏洞源于编译器,而非源代码。这是编译器错误首次导致巨大的经济损失。
🧐 详细了解根本原因和攻击步骤。
#5:Platypus Finance 事件:三次遇袭,幸运幸存
摘要
Platypus Finance 是一个传奇性的 DeFi 协议,奇迹般地经受住了三次连续的攻击,具体如下:
- 2023年2月17日,由于不正确的偿付能力检查,该协议遭到黑客攻击,总损失约905万美元。其中,BlockSec 协助挽回了240万美元。约38万枚代币被困在 Aave 合约中,后被归还。
- 2023年7月12日,该协议被黑客攻击,因忽略了稳定币之间的价格差异,损失约5万美元。
- 2023年10月12日,该协议遭受价格操纵攻击,损失约220万美元。在与攻击者协商后,90%的被盗资金被归还。
俗话说:“一人的命运,当然取决于自己的努力,但也要考虑历史的进程。”显然,该项目能够从所有这些攻击中幸存下来,运气成分居多。我们对这三次攻击的分析表明,逻辑漏洞是可以避免的——如果进行了仔细的审计或采取了更积极的安全措施。
入选理由
- 幸存一次已经很难得,但三次都幸存下来,这绝对是传奇。
- 该项目遭受了三次不同的攻击,每一次都针对了不同的漏洞。
- BlockSec 的积极行动帮助该项目挽回了240万美元。
🧐 详细了解根本原因和攻击步骤。
#6:Hundred Finance 事件:催生了2023年针对易受攻击分叉协议的一系列精密相关攻击
摘要
2023年4月16日,Hundred Finance(一个 Compound v2 的分叉项目)遭到攻击,损失约680万美元。攻击涉及两个主要根本原因:
- 不正确的舍入问题;
- 空的市场允许攻击者操纵汇率。
具体来说,利用精度问题会影响抵押品的赎回和提取。未正确初始化的市场或池可能面临流动性短缺,这可能导致操纵,并产生底层资产与相应份额代币(例如 Compound 的 cToken)之间的流动性失衡。因此,份额代币的价格可能会被抬高,使其能够作为抵押品——仅用少量,或略多于少量原始资产——来借入其他有价值的底层资产。最终,攻击者由于精度损失,能够赎回并提取原始底层资产。
Hundred Finance 的这次事件,以及随后针对 Aave v2 分叉项目 HopeLend 的事件,揭示了一种新的利用范式,即通过操纵 LP 代币汇率,可能针对这两个著名协议及其分叉项目。此后,出现了一系列类似的攻击。
入选理由
Hundred Finance 作为第一个因精度损失而遭受黑客攻击的 Compound V2 分叉项目,为一系列类似的 DeFi 安全漏洞奠定了基础。此外,此次事件可能催化了随后针对 Aave V2 分叉协议的攻击浪潮。
🧐 详细了解根本原因和攻击步骤。
#7:ParaSpace 事件:与时间赛跑,阻止行业迄今为止最关键的攻击
摘要
2023年3月17日,由于价格预言机中的漏洞,ParaSpace 成为黑客攻击的目标。在黑客三次尝试失败后,BlockSec 的 Phalcon 系统及时介入,通过一次救援行动挽救了价值超过500万美元的 ETH。
入选理由
行业最重要的一次封锁:BlockSec Phalcon 系统挽救了超过500万美元
🧐 详细了解根本原因和攻击步骤。
#8:SushiSwap 事件:一次尝试救援导致了一系列模仿攻击
摘要
2023年4月9日,SushiSwap 因一个未经验证的外部参数而遭受了攻击。协议本身安然无恙,但授予 RouteProcessor2 合约权限的用户是主要目标。此次攻击的性质是针对拥有该合约活动授权的用户,并且易于复制,导致了大量的用户损失。
BlockSec 成功救回了100个以太坊并归还给受害者。一位名为 @trust__90 的白帽黑客首次尝试救援资金,但这次努力不幸失败了。白帽所使用的方法易于复制,并且仅旨在挽救总风险资金的一小部分。这为攻击者执行多次模仿交易打开了大门,有效地耗尽了大部分资金。
入选理由
- SushiSwap 作为以太坊上的领先协议,拥有庞大的用户群,此次攻击影响广泛。
- 白帽救援不幸失败,导致了多次模仿攻击。这引发了关于如何执行白帽救援以及如何正确管理的疑问。
🧐 详细了解根本原因和攻击步骤。
#9:MEV 机器人 0xd61492:从捕食者沦为闪电贷攻击的猎物
摘要
2023年8月3日,Arbitrum 上的一台 MEV 机器人遭到攻击,损失了80万美元。此次攻击的根本原因是用户输入验证不足。攻击者欺骗“套利 MEV 机器人”(0x8db0ef)从“Vault MEV 机器人”(0xd61492)借款,从而激活了闪电贷机制。与此同时,攻击者伪装成闪电贷提供者,侵占了借给“套利 MEV 机器人”的所有资产,并获得了“Vault MEV 机器人”的授权。
考虑到 MEV 机器人之间复杂的交互以及它们缺乏开源验证,攻击者是如何精确地找出并导航了这条复杂的攻击路径,令人费解。
入选理由
套利 MEV 机器人因其非开源的性质,通常被视为神秘的捕食者。理解这些 MEV 机器人的确切逻辑可能很困难。然而,大多数 MEV 机器人利用闪电贷来最大化资金的利用率,这为攻击者创造了机会。MEV 机器人 0xd61492 的黑客攻击是利用机器人与闪电贷提供者之间交互的一个真实案例。
此次事件的有趣之处在于:
- 首先,MEV 机器人模块的复杂回调函数中隐藏的漏洞。
- 其次,绕过了多合约 MEV 机器人系统的限制。
🧐 详细了解根本原因和攻击步骤。
#10:ThirdWeb 事件:可信模块之间的不兼容性暴露了漏洞
摘要
2023年12月5日,ThirdWeb 的智能合约被报告存在漏洞。该问题是 ERC-2771 和 Multicall 标准之间存在不兼容性。ERC-2771 定义了一个通过可信转发器接收元交易的接口,而 Multicall 允许在一个交易中批量调用多个函数。当一个由可信转发器转发的调用从 calldata 中检索实际调用者地址时,漏洞就会发生,而这个地址可以被攻击者操纵。尽管每个标准本身都能正常运行,但它们的组合使用可能会打破某些假设并导致意想不到的安全问题。
入选理由
ERC-2771 和 Multicall 标准都广泛应用于 OpenZeppelin 和 ThirdWeb 等流行的开发库中。开发人员通常会信任这些成熟的代码库,并在代码审计中忽略它们。这种疏忽可能会引入新的安全漏洞,即使单个模块本身并无缺陷。第三方库在软件安全中起着至关重要的作用,但这一点却常常被忽视。
🧐 详细了解根本原因和攻击步骤。
结论
在本篇博客文章中,我们概述了2023年十起重要的安全事件。正如那句常被引用的格言所说:“我们从历史中得到的教训是,我们并没有从历史中吸取教训。”这句话在安全事件的背景下尤其令人痛心。我们希望这篇博客以及后续的文章能够帮助社区更有效地从过去的事件中吸取教训,并在来年避免类似的错误。
作为一家全栈安全服务提供商,BlockSec 始终致力于为社区提供帮助。BlockSec 在 DeFi 协议安全方面采取了全面的方法。我们采用最先进的审计技术、自动化攻击防御工具和安全事件管理。这使我们成为那些旨在加强其安全态势并保护用户资产免受 2024 年 DeFi 格局中不断演变的威胁的协议的重要合作伙伴。
请继续关注本系列的更多博客文章。
阅读本系列的其余文章:
- #1:通过利用 Flashbots Relay 中的漏洞收割 MEV 机器人
- #2:Euler Finance 事件:2023 年最大规模的黑客攻击
- #3:KyberSwap 事件:精妙的舍入误差利用和极其精细的计算
- #4:Curve 事件:编译器错误导致无害源代码产生有缺陷的字节码
- #5:Platypus Finance:三次遇袭,幸运幸存
- #6:Hundred Finance 事件:催生了2023年针对易受攻击分叉协议的一系列精密相关攻击
- #7:ParaSpace 事件:与时间赛跑,阻止行业迄今为止最关键的攻击
- #8:SushiSwap 事件:一次尝试救援导致了一系列模仿攻击
- #9:MEV 机器人 0xd61492:从捕食者沦为闪电贷攻击的猎物
- #10:ThirdWeb 事件:可信模块之间的不兼容性暴露了漏洞



