本文由“灵踪安全”原创,授权“金色财经”独家首发,转载请著名出处。
审计机构在审计合约风险时,通常会对发现的每个风险进行评级,评级的目的是为了让项目方对风险引起重视并对需要处理的风险及时采取行动;让读者尤其是用户对项目的风险有所了解,以便对投资进行客观地评估和决策。
灵踪安全在审计报告中通常根据风险的危险程度和需要解决的紧急程度将风险分为四级,分别为:致命风险、高危风险、中度风险和低风险。
致命风险是所有风险中等级最高的、最危险的,它需要项目方即刻解决,不能拖延。
高危风险在危险程度上仅次于致命风险,它极有可能给项目带来严重问题,也需要项目方解决。
中度风险相较于高危风险等级又次一级,它有可能给项目带来潜在问题,最终还是要项目方解决。
低风险是所有风险中级别最低的,通常它表现为一些细节问题、警告信息等,暂时来说这个等级的问题可以不用解决,但项目方最后在未来某个新版本中解决这类问题。
灵踪安全在审计合约的过程中,对上述四个等级的风险都会进行严格的排查并密切和项目方合作,重点督促并要求项目方必须解决致命风险和高危风险,并对中度风险和低风险给出详实地反馈和改进计划,不过我们在审计报告中关于如何描述上述四个等级的风险经历了一个演变过程。
之所以我们在报告描述中有这个演变过程是和灵踪安全的审计方法及流程密切相关的。灵踪安全的审计过程不仅是我们的工程师自己审阅代码的过程,更是我们工程师与项目方深度交流,密切合作的过程。
灵踪安全会和每个合约项目方进行多个来回的交流及互动。每一次我们审完代码都会给项目方罗列所有的风险并给出整改建议。当项目方拿到我们的建议后需要对我们的建议给出反馈及修改结果。然后我们再对项目方修改过的合约进行重新审计。
通过这样递进、深入、多次地审计,最终我们才出具一份完整的报告。
在这个过程中,我们实际上审阅了项目方一路修订过程中的所有合约版本,并且会记录所有这些版本中出现的所有风险。
对此,在我们早期的报告中,我们会将审计过程中所有记录的风险无一例外地罗列,这其中就包括致命风险和高危风险。我们会要求所有被审计的项目方严格改进代码移除这两类风险,并会在所罗列的这两类风险后面备注项目方的改进方案和结果,项目方不消除这两类风险,我们是不会出具报告的。
但是我们发现很多读者在读这样描述的报告时会产生两个问题:
一是用户往往不注意看项目方对致命风险和高危风险的处理,误认为项目方的合约对存在的问题置之不理,由此判断项目为高风险。
二是当用户拿到这份冗长的报告时,没有耐心看完,如果不仔细读,看不出哪些问题是已经处理,哪些问题是待处理的,从而导致对项目产生更大的疑惑。
根据读者的上述反馈,我们逐步改进了报告的撰写方式如下:
一是对致命风险及高危风险不解决的项目,我们不出具报告;对中度风险和低风险无知悉、不反馈的项目我们不出具报告。
二是如果灵踪安全出具审计报告,只在报告中罗列中度风险和低风险,并且项目方要对这两类风险有所反馈和改进计划。
我们这么处理主要的原因就是希望简化报告内容、突出报告重点,让用户一目了然,直击要害。
所以在后期灵踪安全出具的审计报告中,读者通常只会看到中度风险和低风险的罗列而看不到致命风险和高危风险。
这并不表明合约从来没有致命风险和高危风险,而是表明即便有,项目方也在灵踪安全地督促和建议下修改去除了这两类不能出现在合约中的风险。
作者:
灵踪安全CEO 谭粤飞
美国弗吉尼亚理工大学(Virginia Tech, Blacksburg, VA, USA) 工业工程(Industrial Engineering) 硕士(Master)。曾任美国硅谷半导体公司 AIBT Inc(San Jose, CA, USA) 软件工程师,负责底层控制系统的开发、设备制程的程序实现、算法的设计,并负责与台积电的全面技术对接和交流。自2011至今,从事嵌入式,互联网及区块链技术的研究,深圳大学创业学院《区块链概论》课程教师,中山大学区块链与智能中心客座研究员,广东省金融创新研究会常务理事 。个人拥有4项区块链相关专利、3本出版著作。
关于灵踪安全:
灵踪安全科技有限公司是一家专注区块链生态安全的公司。灵踪安全科技主要通过“代码风险检测+逻辑风险检测“的一体化综合方案服务了诸多新兴知名项目。公司成立于2021年01月,团队由一支拥有丰富智能合约编程经验及网络安全经验的团队创建。
团队成员参与发起并提交了以太坊领域的多项标准草案,包括ERC-1646、ERC-2569、ERC-2794,其中ERC-2569 被以太坊团队正式收入。
团队参与了多项以太坊项目的发起及构建,包括区块链平台、DAO组织、链上数据存储、去中心化交易所等项目, 并参与了多个项目的安全审计工作,在此基础上基于团队丰富的经验构建了完善的漏洞追踪及安全防范系统。