翻译修改自 @transmission11 的 The Solcurity Standard 最近在学 Solidity 智能合约安全,发现中文缺少这方面的资料,就翻译了 @transmission11 写的 Solcurity - Solidity 智能合约的安全和代码质量标准。它基于 BoringCrypto, Mudit Gupta, Runtime Verification, 和 ConsenSys Diligence 的工作,总结了审查合约时要注意的安全事项。之后 WTF Academy 会基于它添加新的安全事项。审查方法概览:阅读项目的文档、规范和白皮书,了解智能合约的用途。在查看代码之前,在脑海中构建一个期望中的合约架构模型。快速浏览一遍合约,感受项目结构,可以利用Surya这类工具。将项目架构与你脑海中的合约架构模型进行比较,检查不符合预期的部分。创建威胁模型并列出理论上的高级攻击向量。查看与价值交换相关的地方,尤其是transfer,transferFrom,send,call,delegatecall,和 selfdestruct。优先检查它们,确保安全。查看...