本系列文章摘选自 OKX Web3 与 BlockSec 联合策划的《安全特刊 05》,旨在探讨 DeFi 用户和 DeFi 项目团队所面临的安全问题。
Q1:在初步评估 DeFi 项目的安全性和风险概况时,可以采用哪些标准或指标?
BlockSec 安全团队: 在投资 DeFi 项目之前,对项目进行全面的安全评估至关重要。特别是对于持有大量资本的参与者而言,必要的信息安全尽职调查可以在最大程度上确保资金安全。

首先,建议对项目的代码安全进行全面评估,包括项目是否由具有良好安全声誉的审计公司进行审计,是否有多家审计公司参与,以及最新的代码是否经过审计。一般来说,如果上线运行的代码经过多家信誉良好的安全公司审计,将大大降低安全攻击的风险。
其次,要看项目方是否部署了实时安全监控系统。安全审计确保了静态安全,无法解决项目上线后出现的动态安全问题。例如,如果项目方不当调整了项目的关键运营参数或新增了流动性池。如果项目方采取了一些实时的安全监控系统,其运营安全水平将高于未采取此类解决方案的协议。
第三,要评估项目方自动应急响应的能力,这一点经常被忽视。我们观察到,在许多安全事件中,项目方缺乏对关键功能的自动熔断机制。手动处理紧急情况已被证明效率低下,有时甚至无效。
第四,要仔细审查项目对外部依赖的依赖程度及其健壮性。DeFi 项目通常依赖第三方数据,如价格和流动性。因此,需要从外部依赖的数量、外部依赖项目的安全性以及是否存在对外部依赖异常数据的监控和实时处理等方面来评估项目的安全性。一般来说,依赖顶级项目且具有容错能力和对外部项目异常数据实时处理能力的项目会更安全。
第五,项目方是否拥有相对良好的社区治理结构至关重要。这包括项目方是否对重大事件设有社区投票机制,是否采用多重签名完成敏感操作,多签钱包是否引入了中立的社区参与,以及是否有社区安全委员会等。这些治理结构可以提高项目的透明度,并降低用户资金被“拉盘”的可能性。
最后,项目方的历史记录也非常重要。需要对项目团队和核心成员进行背景调查。如果项目方核心成员在过往项目中存在多次攻击或“拉盘”的记录,那么这类项目的安全风险将相对较高。
总而言之,在参与 DeFi 项目之前,用户,尤其是持有大量资本的用户,应做好尽职调查,从项目上线前的代码安全审计,到项目上线后的实时安全监控和自动响应能力建设,考察项目方的安全投入和安全性,并从外部依赖、治理结构、项目方历史等多个角度进行尽职调查,以确保投资项目资金的安全。
OKX Web3 钱包安全团队: 虽然 DeFi 项目的绝对安全无法保证,但用户可以通过考虑以下关键维度来衡量其安全性和风险概况。
- 项目技术安全:
- 1)检查项目是否由多家信誉良好且经验丰富的审计公司进行过审计。
- 2)审查审计报告中报告的问题数量和严重程度,并确保所有问题都已得到解决。
- 3)核实已部署的代码是否与审计过的版本相符。
- 开源代码:
- 1)确定项目的代码是否开源,允许社区和安全专家进行审查并可能发现安全问题。
- 2)调查开发团队的背景、他们在区块链和安全方面的经验,以及关于该团队的透明度和公开信息水平。
- 3)漏洞赏金:寻找是否存在漏洞赏金计划,以激励安全研究人员报告漏洞。
- 财务和经济安全:
- 1)锁仓资金:检查智能合约中锁仓的资金量,较高的金额可能表明对项目的信任度更高。
- 2)交易量和流动性:评估项目的交易量和流动性;较低的流动性可能会增加价格操纵的风险。
- 3)代币经济模型:评估代币经济学,包括代币分配、激励机制和通胀模型,并检查是否存在代币持有过于集中的情况。
- 运营和管理安全:
- 1)治理机制:了解项目的治理结构,是否具有去中心化治理,社区是否可以对重要决策进行投票。分析治理代币的分配和投票权集中度。
- 2)风险管理措施:确定项目是否采取了风险管理措施和应急计划,以应对潜在的安全威胁和经济攻击。此外,还需考虑项目的透明度和社区沟通,例如定期的进展报告、安全更新以及与社区的积极互动。
- 市场和社区认知:
- 1)社区参与度:评估项目的社区活跃度和用户基础;活跃的社区通常表明项目获得了广泛支持。
- 2)媒体和社交媒体情绪:分析项目在媒体和社交媒体上的反响,以了解用户和行业专家的观点。
- 3)合作伙伴和投资者:审查项目是否获得知名合作伙伴和投资者的支持,这可以为项目增加信誉,但不应是其安全性的唯一决定因素。
Q2:用户应如何审查审计报告和开源状态等信息?
BlockSec 安全团队: 对于已审计的项目,项目团队通常会通过官方渠道公开分享审计报告。这些审计报告通常可以在项目方的文档、GitHub 代码仓库和其他渠道找到。此外,需要验证审计报告的真实性,包括检查审计报告的数字签名,并联系审计公司进行二次确认。
那么,一旦用户拿到审计报告,该如何阅读呢?
首先,检查审计报告是否由具有高声誉的安全公司(如 BlockSec、OpenZeppelin、Trail of Bits 等领先的审计公司)审计。
其次,检查审计报告中提及的问题是否已修复,如果未修复,则评估项目的理由。区分有效和无效漏洞,因为不同公司的审计标准各不相同。优先关注有效发现,并考虑聘请自己的安全专家进行独立审查。
第三,确保审计报告的时间与最近的项目更新一致。验证审计是否涵盖了所有当前在线的代码,因为项目方通常由于成本限制而只审计部分代码。重点关注核心协议代码是否包含在审计范围内。
第四,确保审计报告的时间与最近的项目更新一致。验证审计是否涵盖了所有当前在线的代码,因为项目方通常由于成本限制而只审计部分代码。重点关注核心协议代码是否包含在审计范围内。
第五,确认项目的在线代码是否开源,并与审计报告一致。通常,审计是在 GitHub 代码上进行的,而不是部署的版本。如果部署的代码未开源或与审计过的代码存在显著差异,这种差异值得密切关注。
总之,阅读审计报告是一项高度专业化的任务,建议在此过程中引入独立的第三方安全专家提供咨询意见。
OKX Web3 钱包安全团队: 用户可以通过 OKLink 等官方或第三方平台访问 DeFi 项目的智能合约审计报告和开源状态。审查这些信息的常用步骤包括:
首先,查找官方公告或网站。大多数值得信赖的 DeFi 项目会在其官方网站上展示相关的文档信息。在项目的文档页面,“安全”、“审计”或“合约地址”等栏目下,通常会有审计报告的链接以及项目方部署的合约地址。除了项目方的官方网站,他们通常还会在 Medium、Twitter 等官方社交媒体上发布审计报告和已部署的合约地址信息。
其次,阅读完项目方的官方网站后,可以使用 OKLink 浏览器查询项目方提供的合约地址信息,并在“合约”栏目下查看该地址已部署合约的开源代码信息。
第三,在获取到项目方的审计报告和已部署合约的开源代码信息后,就可以开始阅读项目方的审计报告了。在阅读审计报告时,需要注意以下几点:
- 1)了解审计报告的结构,对审计报告的内容有一个整体概念。审计报告大致分为引言、发现的问题、解决方案和建议、审计结果。
- 2)在阅读引言时,我们需要关注审计报告的范围和目标。审计报告通常会标记审计文件的 GitHub Commit Id,我们需要比较审计报告中审计的文件是否与链上部署的开源代码一致。
- 3)在审查“发现的问题”、“解决方案和建议”以及“审计结果”时,确保项目团队已根据建议解决了漏洞,并进行了后续审计以确认所有问题均已解决。
- 4)比较多份报告。对于有多次审计的项目,比较这些报告以追踪项目的安全改进情况。
Q3:黑客攻击历史和漏洞赏金计划在评估 DeFi 项目安全性方面的重要性是什么?
OKX Web3 钱包安全团队: 黑客攻击历史和漏洞赏金计划为 DeFi 项目的安全评估提供了一定的参考价值,主要体现在以下几个方面:
首先,黑客攻击历史
- 1)揭示历史漏洞:攻击历史可以展示项目过去存在的具体安全漏洞,让用户了解哪些安全问题曾被利用,以及这些问题是否已得到彻底解决。
- 2)评估风险管理能力:项目如何应对历史安全事件,可以反映其风险管理和危机处理能力。一个响应积极、及时修复漏洞并赔偿受损用户的项目,通常被认为是更可靠、更成熟的投资选择。
- 3)项目声誉:频繁的安全问题可能会损害用户对项目的信任,但如果项目能够展示出从错误中学习并加强安全措施的能力,也可以建立其长期声誉。
其次,漏洞赏金计划
在 DeFi 和其他软件项目中实施漏洞赏金计划是提高安全性和发现潜在漏洞的重要策略。这些计划为项目安全评估带来了多方面的参考价值:
- 1)增强外部审计:漏洞赏金计划鼓励全球的安全研究人员参与项目的安全审计。这种“众包”的安全测试方式可以发现内部审计可能忽略的问题,从而增加发现和解决潜在漏洞的可能性。
- 2)验证安全措施的有效性:通过漏洞赏金计划,项目可以实际测试其安全措施的有效性。如果一个项目的漏洞赏金计划运行了很长时间但很少收到严重漏洞报告,这可能表明该项目相对成熟和安全。
- 3)持续的安全改进:漏洞赏金计划提供了一个持续改进的机制。随着新技术和攻击手段的出现,漏洞赏金计划有助于项目团队及时更新和加强其安全措施,以确保项目能够应对最新的安全挑战。
- 4)建立安全文化:项目是否存在漏洞赏金计划,以及该计划的严肃性和活跃程度,可以反映项目团队对安全的态度。活跃的漏洞赏金计划表明项目致力于建立扎实的安全文化。
- 5)增强社区和投资者的信心:漏洞赏金计划的存在和有效性可以向社区和潜在投资者证明项目对安全的重视。这不仅可以增强用户信任,还可能吸引更多投资,因为投资者倾向于选择那些表现出高度安全责任感的项目。




