智能合约审计
2019-03-21 本文已影响0人
陌上尘飞123
记得看过一篇专业的研究报告,指出目前在以太坊中,有89%的智能合约代码都或多或少存在安全漏洞/隐患,这显然也是一个非常惊人的调查结果,对社区而言也是一个巨大的风险因素。随着智能合约的增多乃至未来可能的大规模发展,对合约代码的审计将不应该被忽视,会成为一个专门的领域。
智能合约审计到底是什么?
智能合约审计就是仔细研究代码的过程,在这里就是指在把Solidity合约部署到以太坊主网络中并使用之前发现错误、漏洞和风险;因为一旦发布,这些代码将无法再被修改。这个定义仅仅是为了讨论目的。
智能合约审计报告的结构
免责声明: 在这里你会说审计不是一个具有法律约束力的文件,它不保证任何东西。这只是一个讨论性质的文件。
审计概览和优良特性: 快速查看将被审计的智能合约并找到良好的实践。
对合约的攻击: 在本节中,你将讨论对合约的攻击以及会产生的结果。这只是为了验证它实际上是安全的。
合约中发现的严重漏洞: 可能严重损害合约完整性的关键问题。那些会允许攻击者窃取以太币的严重问题。
合约中发现的中等漏洞: 那些可能损害合约但危害有限的漏洞。比如一个允许人们修改随机变量的错误。
低严重性的漏洞: 这些问题并不会真正损害合约,并且可能已经存在于合约的已部署版本中。
逐行评注: 在这部分中,你将分析那些具有潜在改进可能的最重要的语句行。
审计总结: 你对合约的看法和关于审计的最终结论。
最后,审计不是验证代码安全的法律文件。没有人能100%确保代码不会在未来发生错误或产生漏洞。这仅仅是保证你的代码已被专家校订过,基本上是安全的。