智能合约安全测试指南
由于智能合约的漏洞,在去中心化应用的世界中,利用和攻击一直都很普遍,可以从各种来源看到,例如:
- https://rekt.news/
- https://defiyield.app/rekt-database
与可以轻松打补丁的传统软件不同,大多数智能合约在部署后不能修改,允许在部署后修改智能合约的逻辑可能会为外部和内部参与者的攻击提供机会。因此,在智能合约的开发中,安全性即使不是最重要的,也是优先项。
对于智能合约开发人员来说,知道如何安全地实现智能合约,并测试常见的陷阱和风险是很重要的。对于安全专业人员来说,有一个清晰的检查表可以帮助标准化测试方法,防止常见风险被忽视。基于这些原因,智能合约安全测试指南(SCSTG)应运而生。
SCSTG是一个基于风险的指南,供智能合约安全专业人员和开发人员在智能合约安全测试时参考。介绍不同类别智能合约安全问题的特征和验证流程,并举例说明易受攻击的合约或功能,以及从根源上解决或降低风险的解决方案。
风险分为以下9类:
- 架构和设计
实现安全的智能合约需要适当的架构和设计。这个测试类别涉及到编译器的使用、智能合约调用体系架构的设计以及角色和权限的设计。