大多数加密项目在安全性方面的做法是反向的:他们先构建,后安全。 让我们深入探讨每个项目在进行审计之前应该实施的内容和原因,使用安全金字塔的类比。
2/8 一级 (基础):代码审查 这一层级以最低的成本提供最大的影响。 团队需要通过适当的 git 工作流程实施同行评审,避免 "全栈英雄" 综合症,即一个人处理所有事务。 多双眼睛审视代码比单靠审计能更有效地防止漏洞。
3/8 第二层级:单元测试 在任何审计之前,确保测试覆盖率达到90-100%。使用与实现不同的语言编写测试,以避免复制逻辑错误。 测试边缘情况,而不仅仅是正常路径——尤其是在区块链中,代码更难以更新。
5/8 第四层:模糊测试 圣杯:基于属性的模糊测试,针对复杂协议的不变性,指导模糊测试以针对特定代码路径,以及与参考实现的差异测试。 模糊测试是发现复杂边缘案例的最佳工具。
6/8 金字塔的上方是审计。这也是因为其有效性完全依赖于基础。 跳过下层的项目通常在审计中会看到20个以上的关键问题。 实施所有4个层级的项目通常最多只会看到1-2个关键问题。
遵循这些最佳实践的7/8团队能够发现那些本会被忽视的关键问题。 这降低了审计成本,并使整体上能够交付更安全的协议。 安全是一种从一开始就构建的方式,而不仅仅是一个最终的外包复选框。
2.03K