跳转到主要内容

智能合约安全检查清单

智能合约
安全
solidity
中级
Trailofbits
2020年9月7日
5 分钟阅读

智能合约开发检查清单

以下是我们建议在编写智能合约时遵循的高级流程。

检查已知的安全问题:

  • 使用 斯莱瑟 (在新标签页中打开) 审查你的合约。它内置了 40 多种常见漏洞检测器。在每次签入新代码时运行它,并确保获得干净的报告(或使用分类模式来忽略某些问题)。
  • 使用 Crytic (在新标签页中打开) 审查你的合约。它能检查出 50 个斯莱瑟无法发现的问题。Crytic 还可以通过在 GitHub 的拉取请求 (Pull Request) 中轻松显示安全问题,帮助你的团队相互监督。

考虑合约的特殊功能:

直观地检查代码的关键安全特性:

记录关键的安全属性,并使用自动化测试生成器来评估它们:

最后,请注意自动化工具难以发现的问题:

  • 缺乏隐私:当你的交易在交易池中排队时,其他人都可以看到它们
  • 抢跑交易
  • 密码学操作
  • 与外部去中心化金融 (DeFi) 组件的风险交互

寻求帮助

以太坊办公时间 (在新标签页中打开)在每周二下午进行。这些为期 1 小时的一对一会议是一个好机会,你可以向我们提出任何关于安全的问题,使用我们的工具进行故障排除,并从专家那里获得关于你当前方法的反馈。我们将帮助你完成本指南。

加入我们的 Slack:Empire Hacking (在新标签页中打开)。如果你有任何问题,我们随时在 #crytic 和 #ethereum 频道为你解答。