区块链行业的智能合约安全审计,是安全行业之中的蓝海。目前,许多的大小公司都在研发这方面的系统,通过市场上的系统试用以及分析,笔者认为市场上已有的系统,多少有不足或偏差。
那么该如何做好智能合约的自动化安全审计呢?笔者认为,首选先应该满足最基本的四个需求:
1、自动化
要求对智能合约的安全审计,要全自动,或者至少是半自动的,即上传合约源代码或提供智能合约的token地址,即可由系统,自动化进行合约的安全扫描。并且能够按需要配置为周期调度(如每月,半年)自动进行调度审计。
2、准确性
要求对智能合约的安全审计,误报率低。
3、高效率
要求对智能合约的安全审计必须是高效的,即要求审计的时间不能太长,越快越好。
4、无风险
要求对智能合约的安全审计不会破坏或修改原有的合约的功能。
只有做到了以上4点,才是一个基本合格的智能合约自动化审计系统。
除此之外,如果要做的更加的专业,更出色,还需要满足下面的四个需求:
第一、系统具有智能合约的当前标准规范管理。这样一来,使用者可以在系统上传,下载标准规范进行参考。如果说审计出来的安全问题,能与标准规范相对应,并定位到标准规范是最好的,但是当对智能合约安全审计的标准规范不细或缺乏,做到这一点太难了。
第二、系统的使用操作体验要好,简单举例:
(1)可以采用向导式,引导用户熟悉系统的功能操作。
(2)具备用户自定义合约的行业分类以及所属厂商分类等。
(3)审计出来的安全问题,能定位到行列,并至少能提供此安全问题的修正安全,当然,有自动化修正更好,具备自动化修正功能,相应提供保留原内容的版本,以便可进行回退和比较。
第三、易扩展,当前,区块链的平台技术以及安全专家针对区块链智能合约发现的安全问题的check list是不断演进的,系统应很好的解决这方面的需求,就需要系统有一个很好的易扩展的设计要求。
第四、对安全审计结果报告展现丰富,能导出PDF,EXCEL,WORD,HTML 格式是必需的,报告的展现应有图表,表格元素的体现,当然,要做好这点,需要你对系统的使用方(用户)有更多的了解,针对用户做些定制他们关注的报告就更出彩了;报告出彩的功能还可以是报告中有审计历史对比趋势分析等。