本系列文章摘选自 OKX Web3 和 BlockSec 联合策划的“安全专刊 05”,旨在探讨 DeFi 用户和 DeFi 项目团队面临的安全挑战。
Q1:DeFi 项目面临哪些类型的风险,又该如何应对?
BlockSec 安全团队:DeFi 项目面临的风险主要有代码安全风险、运营安全风险、外部依赖风险等几种。
首先,代码安全风险是指 DeFi 项目在代码层面存在的潜在漏洞。对于 DeFi 项目而言,智能合约是其业务逻辑的核心(前端和后端处理逻辑属于传统软件开发,相对成熟),是我们关注和讨论的重点,包括:
- 1)首先,从开发角度,需要遵循行业内公认的智能合约安全开发实践,例如使用 Checks-Effects-Interactions 模式来防止重入攻击;同时,通用功能应使用可靠的第三方库来实现,避免“重复造轮子”带来的未知风险。
- 2)其次,充分的内部测试必不可少。测试是软件开发的重要环节,有助于发现许多问题。然而,对于 DeFi 项目来说,仅在本地测试不足以暴露问题;需要在接近实际部署的环境中进行进一步测试。
- 3)最后,测试完成后,寻求声誉良好的第三方审计服务。尽管审计不能保证 100% 没有问题,但系统性的审计能够极大地帮助项目团队发现常见的安全问题,这些问题通常是开发人员不熟悉或由于思维方式不同而难以触及的领域。当然,鉴于审计公司在专业知识和关注点上各有不同,如果预算允许,建议在实际操作中引入两家或多家审计公司。
其次,运营安全风险则发生在项目上线后,可能包括在严格的开发、测试和审计之后仍然存在的潜在代码漏洞,以及私钥泄露、系统参数配置错误等上线后的挑战。这些都可能导致严重后果和巨大损失。为缓解这些风险,我们推荐采取以下策略:
- 1)建立健全的私钥管理体系,如使用可靠的硬件钱包或基于 MPC 的钱包解决方案。
- 2)实时监控运行状态,以便及时发现特权操作和项目安全状态。
- 3)构建风险的自动化响应机制,例如使用 BlockSec Phalcon,在遇到攻击时可自动执行阻断操作,防止进一步损失。
- 4)避免特权操作的单点风险,例如使用多签钱包 Safe{Wallet} 来执行特权操作。
第三,外部依赖风险是指项目所依赖的外部组件带来的风险,例如依赖其他 DeFi 协议提供的价格预言机,但如果预言机出现问题,则会导致价格计算失误。为应对外部依赖风险,我们建议:
- 1)选择可靠的外部合作伙伴,如行业内公认的顶尖协议。
- 2)监控运行状态,这与运营安全风险类似,但此处监控的对象是外部依赖。
- 3)构建风险的自动化响应机制,与运营安全风险类似,但响应方式可能有所不同,例如切换到备用依赖项,而不是直接暂停整个协议。
此外,对于希望构建监控能力的项目方,我们还提供一些监控方面的建议:
- 1)准确设置监控点:确定协议哪些关键状态(变量)需要监控以及在何处监控,这是构建监控能力的第一步。然而,要全面覆盖所有监控点非常困难,尤其是在攻击监控方面,建议使用经过实战检验的外部专业第三方攻击检测引擎。
BlockSec Phalcon 是全球唯一具有实战记录的攻击监控和阻断平台,已在超过 20 次白帽救援行动中挽回超过 2000 万美元的资产。点击下方了解更多 👇
- 2)确保监控的精准度和及时性:监控的精准度意味着极低的误报(FP)和漏报(FN)。一个不准确的监控系统基本上是无法使用的;及时性是响应的前提(例如,能否在可疑合约部署前或攻击交易上链前检测到),否则只能用于事后分析,这就对监控系统的性能和稳定性提出了高要求。
- 3)需要具备自动化响应能力:基于精准实时的监控,可以构建自动化响应,包括暂停协议以阻断攻击等。这里需要一个可定制且可靠的自动化响应框架,以支持根据项目方的需求灵活定制响应策略,并自动触发执行。
总的来说,监控能力的构建需要专业外部安全供应商的参与。
OKX Web3 Wallet 安全团队:DeFi 项目团队面临的风险多种多样,主要包括以下几类:
- 1)技术风险:主要包括智能合约漏洞和网络攻击。防护措施包括采用安全的开发实践、聘请专业的第三方审计公司进行全面的智能合约审计、设立漏洞赏金计划以激励白帽黑客发现漏洞,以及隔离资产以提高资金安全性。
- 2)市场风险:主要包括价格波动、流动性风险、市场操纵和可组合性风险。防护措施包括使用稳定币和风险对冲来应对价格波动;利用流动性挖矿和动态费用机制来应对流动性风险;严格审查 DeFi 协议支持的资产类型,并使用去中心化预言机以防范市场操纵;持续创新和优化协议功能以应对竞争风险。
- 3)运营风险:主要包括人为错误和治理机制风险。防护措施包括建立严格的内部控制和操作流程以减少人为错误;使用自动化工具提高操作效率;设计健壮的治理机制以平衡去中心化和安全性,例如引入投票延迟和多签机制。同时,监控已上线的项目,并制定应急预案,以便在出现异常时迅速采取行动,最大限度地减少损失。
- 4)监管风险:主要包括法律合规要求以及反洗钱(AML)/了解你的客户(KYC)义务。防护措施包括聘请法律顾问以确保项目符合法律法规要求,建立透明的合规政策,并积极实施 AML 和 KYC 措施以增强与用户和监管机构的信任。
Q2:DeFi 项目应如何评估和选择声誉良好的审计公司?
BlockSec 安全团队:以下是一些简单的标准供参考:
- 1)是否审计过知名项目:这表明该审计公司得到了这些知名项目的认可。
- 2)被审计项目是否遭受过攻击:理论上,审计不能保证 100% 安全,但实践经验表明,大多数由声誉良好的审计公司审计过的项目并未遭受过攻击。
- 3)通过历史报告评估审计质量:审计报告是衡量审计公司专业性的重要标志,特别是当同一审计项目和审计范围可以进行比较时。关注点应放在发现漏洞的数量和质量(严重程度),以及项目方是否通常接受这些发现。
- 4)专业人员构成:审计公司的员工构成,包括他们的教育背景和专业背景,系统性的教育和行业经验,对于保证审计质量非常有帮助。



