一种智能合约代码漏洞处理方法及装置制造方法及图纸

技术编号:32021838 阅读:11 留言:0更新日期:2022-01-22 18:42
一种智能合约代码漏洞处理方法及装置,该方法包括:在目标智能合约的合约代码满足漏洞扫描条件时,对合约代码执行安全扫描得到合约代码中包含的代码漏洞;确定与合约代码对应的漏洞列表中是否包含代码漏洞;其中,漏洞列表中的代码漏洞被标记了处理状态;处理状态包括触发对代码漏洞进行跟踪处理的第一类处理状态,和指示代码漏洞不需要进行跟踪处理的第二类处理状态;如果漏洞列表中包含代码漏洞,获取为代码漏洞标记的处理状态;校验处理状态是否为第一类处理状态;如果处理状态为第一类处理状态,通知与代码漏洞对应的处理方对代码漏洞进行处理,并在获取到处理方对代码漏洞的处理结果时,将代码漏洞的处理状态更新为第二类处理状态。处理状态。处理状态。

【技术实现步骤摘要】
一种智能合约代码漏洞处理方法及装置


[0001]本说明书涉及计算机应用领域,尤其涉及一种智能合约代码漏洞处理方法及装置。

技术介绍

[0002]互联网产业中的诸多业务均依赖于软件,因此软件的安全性至关重要;以区块链场景为例,其中许多基于区块链操作完成的转账、存证等业务均需要调用智能合约,而一旦智能合约代码中的逻辑漏洞被不法人士利用,就可能造成业务无法正常运行,导致资产损失等后果。
[0003]因此,在相关技术中,软件开发和维护人员可以对软件代码进行安全性漏洞扫描和修复,以期最终交付的软件代码中尽可能不含有安全性漏洞;但是,软件代码版本更迭过程中,上述安全性漏洞可能发生变化,软件开发和维护人员可能无法追踪处理所有的安全性漏洞,导致交付的软件产品实际并不安全,进而影响业务的稳定性。

技术实现思路

[0004]有鉴于此,本说明书公开了一种智能合约代码漏洞处理方法和装置。
[0005]根据本说明书实施例的第一方面,公开了一种智能合约代码漏洞处理方法,包括:
[0006]在目标智能合约的合约代码满足漏洞扫描条件时,对所述合约代码执行安全扫描得到所述合约代码中包含的代码漏洞;
[0007]确定与所述合约代码对应的漏洞列表中是否包含所述代码漏洞;其中,所述漏洞列表中的代码漏洞被标记了处理状态;所述处理状态包括触发对所述代码漏洞进行跟踪处理的第一类处理状态,和指示所述代码漏洞不需要进行跟踪处理的第二类处理状态;
[0008]如果所述漏洞列表中包含所述代码漏洞,获取为所述代码漏洞标记的处理状态;
[0009]校验所述处理状态是否为所述第一类处理状态;如果所述处理状态为所述第一类处理状态,通知与所述代码漏洞对应的处理方对所述代码漏洞进行处理,并在获取到所述处理方对所述代码漏洞的处理结果时,将所述代码漏洞的处理状态更新为所述第二类处理状态。
[0010]根据本说明书实施例的第二方面,公开了一种智能合约代码漏洞处理装置,包括:
[0011]扫描模块,在目标智能合约的合约代码满足漏洞扫描条件时,对所述合约代码执行安全扫描得到所述合约代码中包含的代码漏洞;
[0012]确定模块,确定与所述合约代码对应的漏洞列表中是否包含所述代码漏洞;其中,所述漏洞列表中的代码漏洞被标记了处理状态;所述处理状态包括触发对所述代码漏洞进行跟踪处理的第一类处理状态,和指示所述代码漏洞不需要进行跟踪处理的第二类处理状态;
[0013]获取模块,如果所述漏洞列表中包含所述代码漏洞,获取为所述代码漏洞标记的处理状态;
[0014]处理模块,校验所述处理状态是否为所述第一类处理状态;如果所述处理状态为所述第一类处理状态,通知与所述代码漏洞对应的处理方对所述代码漏洞进行处理,并在获取到所述处理方对所述代码漏洞的处理结果时,将所述代码漏洞的处理状态更新为所述第二类处理状态。
[0015]根据本说明书实施例的第三方面,公开了一种电子设备,包括:
[0016]处理器;
[0017]用于存储处理器可执行指令的存储器;
[0018]其中,所述处理器通过运行所述可执行指令以实现上述任意一种方法的步骤。
[0019]根据本说明书实施例的第四方面,公开了一种计算机可读存储介质,其上存储有计算机指令,该指令被处理器执行时实现上述任意一种方法的步骤。
[0020]在以上技术方案中,一方面,由于在与智能合约代码对应的漏洞扫描条件被满足的情况下,可以通过对智能合约代码进行安全扫描,得到智能合约代码中包含的代码漏洞,并通过所维护的漏洞列表,确定出智能合约代码中包含的已知的代码漏洞和未知的代码漏洞,因此,可以使开发人员和维护人员获知智能合约代码中包含的未知的代码漏洞。
[0021]另一方面,针对智能合约代码中包含的代码漏洞,可以根据所维护的漏洞列表中记录的为该代码漏洞标记的处理状态,在该代码漏洞的处理状态为触发进行跟踪处理的第一类处理状态时,对该代码漏洞进行跟踪处理,即通知对应的处理方对该代码漏洞进行处理,并在获取到对应的处理结果时,将该代码漏洞的处理状态更新为不需要进行跟踪处理的第二类处理状态,这样,可以使在智能合约代码中扫描得到的代码漏洞被跟踪处理,从而可以提高智能合约的安全性。
附图说明
[0022]此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本说明书的实施例,并与说明书文本一同用于解释原理。
[0023]图1是创建智能合约和调用智能合约的示意图;
[0024]图2是本说明书一示例性实施例示出的一种智能合约代码漏洞处理系统的示意图;
[0025]图3是本说明书一示例性实施例示出的一种智能合约代码漏洞处理方法的流程图;
[0026]图4是本说明书一示例性实施例示出的一种代码漏洞的处理状态的示意图;
[0027]图5是本说明书一示例性实施例示出的另一种智能合约代码漏洞处理方法的流程图;
[0028]图6是本说明书一示例性实施例示出的一种电子设备的硬件结构图;
[0029]图7是本说明书一示例性实施例示出的一种智能合约代码漏洞处理装置的框图。
具体实施方式
[0030]这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本说明书一个或多个实施例相一致的所有实施方式。相
反,它们仅是与如所附权利要求书中所详述的、本说明书一个或多个实施例的一些方面相一致的装置和方法的例子。
[0031]需要说明的是:在其他实施例中并不一定按照本说明书示出和描述的顺序来执行相应方法的步骤。在一些其他实施例中,其方法所包括的步骤可以比本说明书所描述的更多或更少。此外,本说明书中所描述的单个步骤,在其他实施例中可能被分解为多个步骤进行描述;而本说明书中所描述的多个步骤,在其他实施例中也可能被合并为单个步骤进行描述。
[0032]区块链技术,也被称之为分布式账本技术,是一种由若干台计算设备共同参与“记账”,共同维护一份完整的分布式数据库的新兴技术。区块链一般被划分为三种类型:公有链(Public Blockchain),私有链(Private Blockchain)和联盟链(Consortium Blockchain)。此外,还可以有上述多种类型的结合,比如私有链+联盟链、联盟链+公有链等。
[0033]在可编程的区块链中,可以通过面向用户提供智能合约(Smart contract)的功能,以支持用户在区块链网络中创建并调用一些复杂的逻辑。所谓智能合约是在区块链上可以被交易触发执行的程序。
[0034]在可编程的区块链中,每一个节点设备都可以搭载一个图灵完备的虚拟机作为智能合约的执行环境,通过它可以实现各种复杂的逻辑。
[0035]用户在区块链中发布和调用智能合约就是在虚拟机上运行的。实际上,虚拟机直接运行的是虚拟机代码(虚拟机字节码本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种智能合约代码漏洞处理方法,包括:在目标智能合约的合约代码满足漏洞扫描条件时,对所述合约代码执行安全扫描得到所述合约代码中包含的代码漏洞;确定与所述合约代码对应的漏洞列表中是否包含所述代码漏洞;其中,所述漏洞列表中的代码漏洞被标记了处理状态;所述处理状态包括触发对所述代码漏洞进行跟踪处理的第一类处理状态,和指示所述代码漏洞不需要进行跟踪处理的第二类处理状态;如果所述漏洞列表中包含所述代码漏洞,获取为所述代码漏洞标记的处理状态;校验所述处理状态是否为所述第一类处理状态;如果所述处理状态为所述第一类处理状态,通知与所述代码漏洞对应的处理方对所述代码漏洞进行处理,并在获取到所述处理方对所述代码漏洞的处理结果时,将所述代码漏洞的处理状态更新为所述第二类处理状态。2.根据权利要求1所述的方法,所述第一类处理状态包括待处理状态;所述方法还包括:如果所述漏洞列表中不包含所述代码漏洞,将所述代码漏洞添加至所述漏洞列表,并将所述代码漏洞标记为待处理状态。3.根据权利要求2所述的方法,所述第一类处理状态还包括新上报状态;将所述代码漏洞标记为待处理状态,包括:先将所述代码漏洞标记为新上报状态,以由安全管控方针对所述代码漏洞的进一步的处理进行确认;响应于所述安全管控方确认所述代码漏洞需要进一步的处理,再将所述代码漏洞由新上报状态更新为待处理状态。4.根据权利要求3所述的方法,所述第二类处理状态包括误报状态和忽略状态;所述方法还包括:响应于所述安全管控方确认所述代码漏洞为误报的代码漏洞,将所述代码漏洞由新上报状态更新为误报状态;响应于所述安全管控方确认所述代码漏洞为不需要进一步的处理,将所述代码漏洞由新上报状态更新为忽略状态。5.根据权利要求3所述的方法,所述第二类处理状态还包括关闭状态;所述方法还包括:获取所述漏洞列表中包含的新上报状态的目标代码漏洞;确定所述目标代码漏洞,是否包含在对所述合约代码执行安全扫描得到的所述代码漏洞之中;如果否,将所述目标代码漏洞由新上报状态更新为关闭状态。6.根据权利要求1所述的方法,所述第二类处理状态包括已修复状态;在获取到所述处理方对所述代码漏洞的处理结果时,将所述代码漏洞的处理状态更新为所述第二类处理状态,包括:在获取到所述处理方对所述代码漏洞的处理结果时,将所述代码漏洞...

【专利技术属性】
技术研发人员:马玉林紫嫣张立华曹冬冬
申请(专利权)人:蚂蚁区块链科技上海有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1