TL;DR
- 安全仍然是 DeFi 中一个至关重要且持续存在的挑战,每年造成数十亿美元的损失。
- DeFi 协议的安全措施应贯穿其整个生命周期,确保从发布前到发布后的内在和运营方面的安全。实施预防性策略和应急计划以减轻潜在攻击至关重要。
- 以代码审计为核心的发布前安全已成为社区共识。然而,尽管出现了发布后安全解决方案(例如攻击监控和阻止),但社区尚未充分认识到它们的重要性。
- 持续改进安全实践并转向以安全为先的文化对于保护用户资产和增强生态系统信任至关重要。

引言
随着 DeFi 持续颠覆金融格局,安全仍然是该生态系统中的一个重大担忧,每年造成数十亿美元的损失。
根据 Chainalysis 的数据,2023 年 DeFi 黑客攻击造成了超过 11 亿美元的损失。尽管与 2022 年相比有所下降,但 2023 年的 DeFi 黑客攻击出现了多种新趋势。例如,像 Curve 和 KyberSwap 这样运行多年且声誉良好的协议也遭到黑客攻击。此外,针对基础设施漏洞的复杂黑客攻击,例如 Flashbots relay 也暴露了出来。
根据 Security Incident Dashboard 的数据,2024 年上半年发生了五十多起造成超过 10 万美元损失的黑客攻击事件。

安全是 DeFi 应用蓬勃发展和大规模采用的关键因素。这是因为 DeFi 协议管理着数十亿美元的用户资产,任何针对这些协议的黑客攻击都可能导致受影响用户遭受重大损失。尽管在某些情况下,被黑客窃取的资金可以(部分)追回(例如 Euler 安全事件),但我们不能每次都指望这一点。每一次攻击都会侵蚀人们对 DeFi 的信心。
尽管已经提出了多种方法来增强 DeFi 安全,但仍有很大的改进空间。
- 从积极的方面来看,代码审计已成为保障安全性的社区共识。大多数协议在发布前都会进行代码审计,这有助于减少智能合约漏洞造成的攻击面。
- 然而,仅凭代码审计远远不足以解决所有安全问题。它无法防止因智能合约升级、配置更改和不同协议之间的运行时依赖性而引入的漏洞造成的黑客攻击。
由于这些限制,更多主动的解决方案,如操作监控或攻击检测系统已经出现并被一些协议采用。
在本博客中,我们将通过追踪协议在不同阶段的安全历程,从发布前阶段到运营阶段,再到攻击响应,来探讨 DeFi 安全格局。我们将详细阐述各种安全措施,并重点介绍每个阶段的主要供应商(产品),讨论它们的优缺点。 我们希望我们的见解能帮助社区更好地理解现状,更重要的是,能激发未来的创新解决方案。
DeFi 安全格局
DeFi 协议的安全措施必须涵盖其整个生命周期,从发布前阶段到发布后阶段,确保协议的内在和运营安全。此外,必须制定预防措施和应急计划来应对潜在的攻击。为了帮助读者理解可用的解决方案,我们将 DeFi 安全供应商(产品)分为以下几类。
发布前安全
该类别包括在协议发布前进行的安全性措施,包括代码审计、形式化验证和安全测试。

代码审计服务和竞赛
代码审计是社区中一项被广泛接受的保障协议安全的实践。在此过程中,代码将由安全公司以半自动方式进行审查,即自动扫描代码中的常见漏洞,并手动审查代码中的复杂漏洞。代表性公司包括 OpenZeppelin、ChainSecurity、BlockSec 等。
此外,还有审计竞赛平台,它们与安全审计公司在审计方式上有所不同。这些平台发起审计竞赛,邀请社区中的安全研究人员进行审计竞赛,并将奖励分发给发现协议中问题的人。当然,平台在评估严重性、分配奖励的算法以及让安全研究人员参与的标准方面可能存在一些细微差异。此类平台包括 Code4rena、SHERLOCK、Cantina 和 Secure3。
代码审计(和竞赛)是协议安全的第一道防线。然而,它存在实际限制,这解释了为什么许多由信誉良好的公司审计过的协议仍然遭到黑客攻击。
- 首先,静态代码审计无法完全评估因协议依赖性引起的安全问题,尤其是在 DeFi 协议的组合性方面。
- 其次,一些问题的安全影响在代码审计期间被低估了。例如,精度损失是一个常见问题,可能会被审计员和协议双方忽略。直到 Hundred Finance 和 Channels Finance 事件发生后,社区才充分认识到其安全影响。
- 最后但同样重要的是,高质量的代码审计仍然是一种声望高且稀缺的资源,需要精通安全、金融和计算机科学的多学科人才。目前很少有大学能够持续、大规模地提供此类人才。因此,协议可能会被不具备资质的公司审计。
形式化验证
“形式化验证 是使用数学的正式方法,证明或证伪系统在特定正式规范或属性下的正确性。”由于它可以证明系统的正确性,因此形式化验证已被应用于 DeFi 协议。具体来说,它可以确保 DeFi 协议的行为符合正式规范。用于 DeFi 协议的形式化验证产品的代表是 Certora 开发的 Prover。开发人员提供规则(规范),Prover 会将结果与规则进行比较,通过探索所有可能的程序状态来识别错误。
形式化验证最前景的方面是它在数学上证明了 DeFi 协议的正确性。然而,在实践中,它仍然存在一些限制,阻碍了其广泛采用。
- 首先,规范应由开发人员提供,这要求开发人员拥有协议预期行为的完善文档。考虑到大多数开发人员不是该领域的专家,这并不容易。
- 其次,协议的频繁升级可能需要更新规范和重新评估协议。有些协议可能无法承担时间和精力。
尽管如此,协议,特别是那些尚未经过实战检验且管理着大量用户资产的新协议,应该进行形式化验证。然而,提高形式化验证的可用性和增加采用率仍然是一个持续的挑战。
安全测试
安全测试是指使用测试用例查找协议中错误的过程。与在数学上证明协议正确性的形式化验证相比,安全测试通常使用具体输入而不是形式化验证中的符号输入,因此效率更高但正确性较低。
- Foundry 是智能合约最受欢迎的开发和测试框架之一。开发人员可以在 Foundry 中运行测试。它还提供了对 DeFi 协议进行模糊测试、不变式测试和差分测试的功能。
- 其他安全测试工具包括 Tenderly 和 Hardhat。
发布后安全
该类别包括协议发布(或上线主网)后进行的安全性措施,包括赏金漏洞、攻击检测和操作监控。

赏金漏洞
赏金漏洞计划在协议和安全研究人员之间建立桥梁。基本概念是通过奖励激励研究人员报告零日漏洞。具体来说,协议可以在赏金平台上列出其赏金,详细说明赏金范围和报告错误的奖励金额。 Immunefi 是一个代表性的 Web3 赏金平台。
攻击检测
攻击检测平台扫描交易以定位恶意交易。具体来说,这些平台会审查与协议交互的交易是否存在恶意行为。如果发生此类交易,将触发警报。
- 例如,BlockSec Phalcon 扫描交易并使用基于行为的检测引擎来检测恶意活动(例如恶意合约或提案)。将其想象成一个虚拟保安,观察金融交易的每一步,寻找任何可疑行为。它就像侦探分析线索一样,从这些交易中提取行为模式,然后使用金融模型——类似于银行用于检测欺诈的模型——来识别潜在的攻击。
- 类似的系统包括 Hypernative 和 Hexagate 提供的产品。
- 此外,Ironblocks 的 Venn Security network 提供了一个去中心化基础设施,将来自多个来源的检测结果结合起来。
操作监控
操作监控框架为 DeFi 协议提供了实现操作安全的方法。例如,DeFi 协议需要知道管理员密钥更改、执行智能合约部署和升级,并自动扫描拉取请求以发现安全漏洞。
- OpenZeppelin Defender 提供了一个平台,允许开发人员安全地编写、部署和操作智能合约。
- BlockSec Phalcon 可以监控与合约升级、Safe 钱包交易创建、新签名和执行、访问控制以及治理相关的风险。
- Forta Network 拥有一个基础设施,允许用户 构建自己的机器人 来监控他们的协议,或者 订阅现有机器人 以获取网络钓鱼或威胁警报。
攻击响应
该类别包括在发生攻击时触发的安全措施,包括攻击阻止、自动操作、战情室、根本原因分析和攻击者资金流追踪。

在攻击响应的五项措施中,攻击阻止尤其值得注意,因为它允许项目团队提前部署预防措施,成功阻止攻击的执行,并将损失降至零。自动响应平台也有助于减少攻击造成的损害。
建立战情室、进行根本原因分析和追踪被盗资金是在攻击发生后采取的被动措施。虽然这些策略可以缓解一些损害并有助于防止未来发生类似攻击,但损失可能已经发生,并且难以追回。此外,对项目声誉的损害以及由此导致的信任丧失可能是深远的。
风险无处不在,而且往往无法控制,但选择部署先发制人的防御措施是完全可行的,并且强烈推荐。
攻击阻止
在实际应对黑客攻击时,攻击检测是不够的。这是因为,如果没有自动阻止黑客的能力,手动响应速度不够快。在某些情况下(如下表所示的 KyberSwap、Gamma Strategies 和 Telcoin),协议需要几分钟甚至几个小时才能采取手动行动,这已经太晚了,无法挽救协议中的资产。在最近对 Velocore 和 Rho 的黑客攻击中,Linea 和 Scroll 的整个链被暂停,这引发了对 L2 链中心化的担忧。

攻击阻止是自动阻止黑客的能力,需要两种关键技术:早期检测和自动抢跑攻击。
- 早期检测是指系统在攻击交易在区块链上最终确定之前就识别出它们,特别是在它们仍在内存池中等待时。
- 抢跑攻击是指在攻击交易之前将一笔交易放到链上,以暂停协议,从而有效地在攻击执行前阻止它。
在此类别中,BlockSec Phalcon 是唯一拥有这些关键技术的产品。在黑客发起攻击交易后,Phalcon 的攻击监控引擎可以立即检测到该交易,向用户发送攻击警报,并自动抢跑以暂停协议,将损失降至零。其关键技术已在超过 20 次挽救超过 2000 万美元的事件中得到实战检验。
自动操作
Phalcon、Hexagate 和 Hypernative 等平台在发生攻击时也可以自动响应。
订阅这些平台后,用户可以为各种协议风险设置监控和响应措施。如果交易满足监控规则,系统将自动启动用户预设的响应操作(例如暂停协议),从而减少损失。
然而,一些平台没有攻击检测引擎,系统无法直接识别攻击交易并通知用户。相反,它要求用户自定义在什么条件下可以将交易视为攻击。由于攻击交易的特征非常复杂,而用户(通常是合约开发者)可能没有足够的安全知识,这对他们来说可能相当具有挑战性。
战情室
当协议遭受攻击时,需要建立战情室。这有助于协议了解情况,在社区中分享情报,并利用资源进行进一步行动。这通常涉及来自不同视角的专家。
SEAL 911 是一个项目,“在紧急情况下,使用户、开发人员和安全研究人员能够方便地与一小群高度信任的安全专业人员联系。”可以从 SEAL 911 Telegram Bot 访问。如果项目遭受黑客攻击,可以建立战情室来协助协议。
根本原因分析
发生攻击时,协议需要了解根本原因,例如智能合约中的漏洞以及如何被利用。这需要一些有用的工具来分析攻击交易。 Phalcon Explorer、OpenChain 和 Tenderly 可用于此目的。
资金流追踪
资金流追踪是为了追踪攻击者的初始资金和区块链上的攻击利润,以定位相关的地址和实体。如果资产流入中心化实体(例如中心化交易所和其他机构级实体),可以联系执法部门协助冻结资金。
该类别中有几家公司和工具,包括 Chainalysis、TRM Labs、ARKHAM、ELLIPTIC、MetaSleuth 等。
- 例如,BlockSec 开发的 MetaSleuth 可以自动追踪跨链资金,并带有丰富的钱包地址标签。
- ARKHAM 有一个社区,协议可以在其中为调查设置赏金,激励社区帮助追踪攻击者的资金。
安全教育资源
信息灵通的头脑构建更强大的防御。除了上面提到的安全供应商和产品之外,DeFi 安全还有另一个关键组成部分:教育平台。

这些平台为 DeFi 从业者和用户提供了宝贵的资源,以了解安全洞察、提高意识和培养安全技能。它们在 DeFi 安全的进步中发挥着至关重要的作用。我们对这些教育平台表示赞赏,并列出一些值得关注的例子。
- SΞCURΞUM:一个专注于以太坊安全的 Discord 社区。它还每月举办一次智能合约安全测验,“Secureum RACE”。
- Security Incidents Dashboard:该平台收集所有造成超过 10 万美元损失的攻击事件,详细说明损失、受影响的链、漏洞、根本原因和 PoC。
- Rekt:被称为 DeFi 新闻的“暗网”,Rekt 提供对生态系统内漏洞、黑客攻击和诈骗的深入分析。
- RugDoc:一个 DeFi 安全性和教育社区,评估项目风险。它还有一个名为 RugDocWiKi 的平台,介绍 DeFi 生态系统和技术。
- DeFiHackLabs:一个 Web3 安全社区,拥有超过 2600 名成员和近 200 名白帽黑客,旨在弥合 Web2 和 Web3 安全专业知识的差距。
- Solodit:一个汇集了来自各种 Web3 审计公司的历史报告的平台,是智能合约审计员的宝贵资源。
- Ethernaut:一款基于 Web3/Solidity 的游戏,玩家识别以太坊合约漏洞,类似于 CTF 挑战。
结论
安全仍然是 DeFi 生态系统面临的持续和严重威胁,每年造成数十亿美元的损失。目前,大多数安全措施都在发布前阶段进行。然而,安全没有万能药,不同的方法应在 DeFi 协议的整个生命周期中进行。我们期望行业将采用发布后安全解决方案,进行监控,更重要的是,自动阻止攻击。我们预计将建立以安全为先的文化,以全面保护用户资产。



