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 Security 扫描交易,并采用基于行为的检测引擎来检测恶意活动(如恶意合约或提案)。可以将其视为一名虚拟安全保安,观察金融交易的每一个步骤,寻找任何可疑行为。它从这些交易中提取行为模式,就像侦探分析线索一样,然后使用金融模型——类似于银行用于检测欺诈的模型——来识别潜在的攻击。
- 类似的系统包括 Hypernative 和 Hexagate 提供的产品。
- 此外,Ironblocks 的 Venn Security network 提供了一个去中心化基础设施,将来自多个来源的检测结果整合在一起。
运营监控
运营监控框架为 DeFi 协议实施运营安全提供了一种方式。例如,DeFi 协议需要了解管理员密钥变更,执行智能合约部署和升级,并自动扫描拉取请求(pull request)中的安全漏洞。
- OpenZeppelin Defender 提供了一个平台,使开发者能够安全地编写、部署和运营智能合约。
- BlockSec Phalcon Security 可以监控与合约升级、Safe 钱包交易创建、新的签名与执行、访问控制以及治理相关的风险。
- Forta Network 拥有一个基础设施,让用户构建自己的机器人来监控其协议,或订阅现有机器人以获取网络钓鱼或威胁警报。
攻击响应
该类别包括在攻击发生时触发的安全措施,包括攻击拦截、自动化操作、作战室、根因分析,以及攻击者资金流向追踪。

在攻击响应的五项措施中,攻击拦截尤为值得关注,因为它允许项目团队提前部署预防性措施,在攻击执行前成功将其拦截,从而将损失降至零。自动化响应平台也有助于减少攻击造成的损害。
建立作战室、进行根因分析以及追踪被盗资金,都是攻击发生后采取的反应性步骤。尽管这些策略可以减轻部分损害,并有助于在未来防止类似攻击,但损失可能已经发生,追回也可能面临挑战。此外,对项目声誉的损害以及由此导致的用户信心丧失可能是深远的。
风险无处不在,且往往超出控制范围,然而选择部署先发式防御措施是完全可以实现的,并且值得强烈推荐。
攻击拦截
在实践中对抗黑客攻击时,单靠攻击检测是不够的。这是因为,如果没有自动拦截攻击的能力,人工响应的速度是不够快的。在某些情况下(下表中的 KyberSwap、Gamma Strategies 和 Telcoin),协议采取人工行动需要几分钟甚至几个小时,这对于挽救协议中的资产而言已经太晚了。在最近对 Velocore 和 Rho 的黑客攻击中,整个 Linea 链和 Scroll 链分别被暂停,这引发了对 L2 链中心化程度的担忧。

攻击拦截是指自动防止黑客攻击的能力,需要两项关键技术:早期检测和自动抢先拦截攻击。
- 早期检测意味着系统能够在攻击交易在区块链上最终确认之前——具体而言,是在其仍处于内存池(mempool)待处理状态时——识别出攻击交易。
- 抢先拦截攻击是指在攻击交易之前将一笔交易置于链上以暂停协议,从而在攻击被执行之前有效地阻止它。
在此类别中,BlockSec Phalcon Security 是唯一具备这些关键技术的产品。当黑客发起攻击交易后,Phalcon Security 的攻击监控引擎能够立即检测到该交易,向用户发送攻击警报,并自动抢先执行以暂停协议,将损失降至零。其关键技术已经过实战检验,成功挽救了超过 2000 万美元的资产,涉及二十多次救援行动。
自动化操作
诸如 Phalcon Security、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:一个拥有超过 2600 名成员和近 200 名白帽黑客的 Web3 安全社区,旨在弥合 Web2 和 Web3 安全专业知识之间的差距。
- Solodit:一个整理来自各家 Web3 审计公司历史报告的平台,是智能合约审计人员的宝贵资源。
- Ethernaut:一个基于 Web3/Solidity 的游戏,玩家在其中识别以太坊合约漏洞,类似于 CTF 挑战。
结论
安全性仍然是 DeFi 生态系统面临的一个持续且严重的威胁,每年造成数十亿美元的损失。目前,大多数安全措施都是在上线前阶段实施的。然而,安全没有万能解药,应在 DeFi 协议的整个生命周期中采取不同的方法。我们期待行业能够采用上线后的安全解决方案,进行监控,更重要的是自动拦截攻击。我们期待生态系统中能够建立起以安全为先的文化,从而全面保护用户的资产。



