本文档提供了一份智能合约审计准备清单,旨在帮助开发者在代码审计前进行自查,主要包括代码质量、测试覆盖率、安全工具使用、文档编写等方面,以确保代码的质量和安全性,从而更有效地进行审计。
public
/external
函数使用 NatSpec documentation。将此视为合约公共接口的一部分。unchecked
的使用。具体描述为什么对每个代码块不执行算术检查是安全的。最好是针对每个操作。external
的 public
函数都应该设为 external
。这不仅仅是 gas 的考虑,而且还减少了审计员的认知负担,因为它减少了可以调用该函数的可能上下文的数量。owner
不是恶意的,Chainlink 预言机不会谎报 token 价格,Chainlink 预言机将始终至少每 24 小时报告一次价格,owner
批准的所有 token 都是没有转移 hook 的符合 ERC20 标准的 token,并且永远不会有超过 30 个区块的链重组。” 这有助于你了解事情可能出错的方式,即使你的合约没有错误。优秀的审计师将能够帮助你了解你的假设是否现实。他们也可能能够指出你正在做出的你没有意识到的假设。[ ] 为审计员添加范围界定详细信息。Code4rena 准备中使用的表格在下面的可折叠部分中提供作为一个例子。 <details> <summary>审计范围界定详细信息</summary>
- 原文链接: github.com/nascentxyz/si...
- 登链社区 AI 助手,为大家转译优秀英文文章,如有翻译不通的地方,还请包涵~
如果觉得我的文章对您有用,请随意打赏。你的支持将鼓励我继续创作!