一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种增量代码安全扫描方法和装置与流程

2021-12-03 23:00:00 来源:中国专利 TAG:


1.本发明涉及计算机数据处理技术领域,尤其涉及一种增量代码安全扫描方法和装置。


背景技术:

2.本部分旨在为权利要求书中陈述的本发明的实施方式提供背景或上下文。此处的描述不因为包括在本部分中就承认是现有技术。
3.软件产品,特别是互联网产品,发布前进行安全检查或扫描,是当下业界普遍的做法。通常,安全扫描需借助专业的安全扫描工具及平台,如checkmarx、某安全骑士等,这些工具通常将上传的源码进行扫描处理,以检测出其中的安全问题,并生成扫描结果报告。
4.然而,每次新版本发布都要上传产品的全部代码,会造成大量重复的扫描,通常情况下,相对于上个版本,新版本的代码变动量只占全量代码的一小部分,即本次的大部分代码在上次版本已经扫描过了,这样效率较低,带来了不必要的时间和资源浪费。因此,增量代码扫描是我们推荐的做法,也就是缩小每次扫描的范围,仅扫描相对于上个版本变化了的代码部分。然而,以人工方式识别增量代码和打包的效率较为低下,进而影响安全扫描的全面性。
5.因此,如何提供一种新的方案,其能够解决上述技术问题是本领域亟待解决的技术难题。


技术实现要素:

6.本发明实施例提供一种增量代码安全扫描方法,用户也无需记录上个版本的代码,自动化程度更高,可以大大提高增量扫描效率,实现增量代码文件的自动识别、获取、扫描及回传,该方法包括:
7.在输入端设置增量代码识别参数;
8.根据增量代码识别参数,在版本库中识别出增量代码文件目录;
9.根据增量代码文件目录,调用安全扫描平台,确定安全扫描结果;
10.将安全扫描结果回传至输入端。
11.本发明实施例还提供一种增量代码安全扫描装置,包括:
12.参数设置模块,用于在输入端设置增量代码识别参数;
13.增量代码识别模块,用于根据增量代码识别参数,在版本库中识别出增量代码文件目录;
14.安全扫描模块,用于根据增量代码文件目录,调用安全扫描平台,确定安全扫描结果;
15.安全扫描结果回传模块,用于将安全扫描结果回传至输入端。
16.本发明实施例还提供一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述一种增量代
码安全扫描方法。
17.本发明实施例还提供一种计算机可读存储介质,所述计算机可读存储介质存储有执行上述一种增量代码安全扫描方法的计算机程序。
18.本发明实施例提供的一种增量代码安全扫描方法和装置,包括:首先在输入端设置增量代码识别参数;然后根据增量代码识别参数,在版本库中识别出增量代码文件目录;接着根据增量代码文件目录,调用安全扫描平台,确定安全扫描结果;最后将安全扫描结果回传至输入端。本发明实现了增量代码扫描的全过程自动化,用户从输入端输入增量代码识别参数后,自动化的在源码版本库中进行增量代码识别并上传扫描,完成整个安全扫描整个过程,无需再次访问安全扫描平台,在输入端即可获取安全扫描结果,取代以往各个环节割裂的方式,用户也无需记录上个版本的代码,自动化程度更高,可以大大提高增量扫描效率,实现增量代码文件的自动识别、获取、扫描及安全扫描结果的回传。
附图说明
19.为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。在附图中:
20.图1为本发明实施例一种增量代码安全扫描方法示意图。
21.图2为本发明实施例一种增量代码安全扫描方法的流程图。
22.图3为本发明实施例一种增量代码安全扫描方法的增量代码识别过程示意图。
23.图4为本发明实施例一种增量代码安全扫描方法的代码安全扫描过程示意图。
24.图5为运行本发明实施的一种增量代码安全扫描方法的计算机装置示意图。
25.图6为本发明实施例一种增量代码安全扫描装置示意图。
具体实施方式
26.为使本发明实施例的目的、技术方案和优点更加清楚明白,下面结合附图对本发明实施例做进一步详细说明。在此,本发明的示意性实施例及其说明用于解释本发明,但并不作为对本发明的限定。
27.本发明属于大数据技术。图1为本发明实施例一种增量代码安全扫描方法示意图,如图1所示,本发明实施例提供一种增量代码安全扫描方法,用户也无需记录上个版本的代码,自动化程度更高,可以大大提高增量扫描效率,实现增量代码文件的自动识别、获取、扫描及回传,该方法包括:
28.步骤101:在输入端设置增量代码识别参数;
29.步骤102:根据增量代码识别参数,在版本库中识别出增量代码文件目录;
30.步骤103:根据增量代码文件目录,调用安全扫描平台,确定安全扫描结果;
31.步骤104:将安全扫描结果回传至输入端。
32.本发明实施例提供的一种增量代码安全扫描方法,包括:首先在输入端设置增量代码识别参数;然后根据增量代码识别参数,在版本库中识别出增量代码文件目录;接着根据增量代码文件目录,调用安全扫描平台,确定安全扫描结果;最后将安全扫描结果回传至
输入端。本发明实现了增量代码扫描的全过程自动化,用户从输入端输入增量代码识别参数后,自动化的在源码版本库中进行增量代码识别并上传扫描,完成整个安全扫描整个过程,无需再次访问安全扫描平台,在输入端即可获取安全扫描结果,取代以往各个环节割裂的方式,用户也无需记录上个版本的代码,自动化程度更高,可以大大提高增量扫描效率,实现增量代码文件的自动识别、获取、扫描及安全扫描结果的回传。
33.在本发明实施例中,安全扫描,是指对软件产品源码进行安全层面的代码扫描,目的是发现项目中的代码漏洞、开源软件漏洞等,以提升产品安全性和稳定性。增量代码,是指与上次版本或者基线版本对比产生差异的代码文件,称为增量代码。分支,是指对于代码版本库而言,一个库可以有多个分支,每个分支。例如,不同版本的源码对应不同的分支,以便于管理各个版本的源码。根据分支名可获取对应分支的代码。
34.除人工方式识别增量代码和打包的方式外,还提供一种两次版本文件对比的方案,为实现增量扫描,当前存在通过代码文件比对的方式实现增量代码识别的方案。即需要上传两次版本对应的源码,然后进行对比,识别出有差异的文件,随后执行扫描环节。这种方式也存在一定的弊端,首先是需要进行两版代码上传,而源码体积庞大,因此上传过程、两版代码比对识别出增量代码的过程比较缓慢,效率低,再者是需要用户自行存档旧版本源码,以供上传使用,较为繁琐,可用性不强。
35.因此为了解决上述问题,本发明实施例通过获取源码版本库变更记录,自动识别出产生变化的代码文件,并将其生成一个文件目录,上传至安全扫描平台,从而自动完成增量文件识别、上传、扫描的环节。实现增量扫描的自动化,即无需代码上传,程序直接在源码版本库中进行增量代码识别;用户也无需记录上个版本的代码,因此自动化程度更高,可以大大提高增量扫描效率。
36.图2为本发明实施例一种增量代码安全扫描方法的流程图,如图2所示,具体实施本发明实施例提供的一种增量代码安全扫描方法时,在一个实施例中,可以包括:
37.在输入端设置增量代码识别参数;
38.根据增量代码识别参数,在版本库中识别出增量代码文件目录;
39.根据增量代码文件目录,调用安全扫描平台,确定安全扫描结果;
40.将安全扫描结果回传至输入端。
41.本发明实现了增量代码扫描的全过程自动化,用户从输入端输入增量代码识别参数后,自动化的在源码版本库中进行增量代码识别并上传扫描,完成整个安全扫描整个过程,无需再次访问安全扫描平台,在输入端即可获取安全扫描结果,取代以往各个环节割裂的方式,用户也无需记录上个版本的代码,自动化程度更高,可以大大提高增量扫描效率,实现增量代码文件的自动识别、获取、扫描及安全扫描结果的回传。
42.具体实施本发明实施例提供的一种增量代码安全扫描方法时,在一个实施例中,前述的在输入端设置增量代码识别参数,包括:
43.在输入端设置包括起始时间、终止时间和分支参数的增量代码识别参数。
44.实施例中,用户可以在输入端对增量代码识别参数进行设置,主要包括起始时间startdate、终止时间enddate和分支参数turnk的设置。这三个参数限定了代码变动的时间范围和分支范围,以便后续启动增量扫描过程。
45.本发明实施例实现了全过程自动化,用户提供输入后,可以自动化识别增量代码
并上传扫描,完成整个安全扫描整个过程,并在本系统中获取结果(无需访问安全扫描工具),取代以往各个环节割裂的方式。
46.图3为本发明实施例一种增量代码安全扫描方法的增量代码识别过程示意图,如图3所示,具体实施本发明实施例提供的一种增量代码安全扫描方法时,在一个实施例中,前述的根据增量代码识别参数,在版本库中识别出增量代码文件目录,包括:
47.步骤301:根据分支参数,在版本库中检索出对应的代码分支;其中,代码分支,包括:软件产品的源码;
48.步骤302:根据起始时间和终止时间,对应的代码分支中获取起始时间至终止时间内最早和最晚的提交id,追溯到最早提交和最晚提交两次提交对应的版本标识;
49.步骤303:根据代码分支和最早提交和最晚提交两次提交对应的版本标识,利用命令行工具进行代码源码变更文件的识别获取,组成生成增量代码文件目录。
50.实施例中,增量代码的自动识别过程,主要包括:首先根据分支参数,在版本库中检索出对应的代码分支;其中,代码分支,包括:软件产品的源码;然后根据起始时间和终止时间,对应的代码分支中获取起始时间至终止时间内最早和最晚的提交id,追溯到最早提交和最晚提交两次提交对应的版本标识;最后根据代码分支和最早提交和最晚提交两次提交对应的版本标识,利用命令行工具进行代码源码变更文件的识别获取,组成生成增量代码文件目录。
51.在软件产品开发过程中,源码是托管在版本库中的,最常见的是svn和git。而这些版本库都能记录每次提交记录,即代码变更记录,而这些记录是可以通过版本库自带的命令行工具获取的,可以用于获取增量文件。这为本发明提供了技术基础。
52.在用户输入增量代码识别参数的基础上,增量代码识别过程自动检出版本库对应的代码分支,获取源码,获取从startdate至enddate这段时间内最早和最晚的提交id,即追溯到两次提交对应的版本标识,然后,进行变更文件识别和获取,并组织成一个单独的目录,输出为增量代码文件目录,作为下一安全扫描环节的输入。
53.本发明提供了自动化完成增量扫描的方法,将整个过程串联起来,增量代码识别、上次扫描、获取报告形成一个整体流水线。因此用户介入少,仅需指定时间段和代码分支即可,操作简单可行。识别准确率和速度高,对于增量代码的识别是基于代码库提交,这种方式显然比人工识别准确,比代码比对方式快速。本发明实现了增量代码扫描的全过程自动化,用户从输入端输入增量代码识别参数后,自动化的在源码版本库中进行增量代码识别并上传扫描,完成整个安全扫描整个过程,无需再次访问安全扫描平台,在输入端即可获取安全扫描结果,取代以往各个环节割裂的方式,用户也无需记录上个版本的代码,自动化程度更高,可以大大提高增量扫描效率,实现增量代码文件的自动识别、获取、扫描及安全扫描结果的回传。
54.图4为本发明实施例一种增量代码安全扫描方法的代码安全扫描过程示意图,如图4所示,具体实施本发明实施例提供的一种增量代码安全扫描方法时,在一个实施例中,前述的根据增量代码文件目录,调用安全扫描平台,确定安全扫描结果,包括:
55.步骤401:获取安全扫描平台的api接口;
56.步骤402:根据增量代码文件目录,利用api接口后台调用安全扫描平台,触发并执行扫描任务,确定安全扫描结果。
57.实施例中,对增量代码文件目录进行安全扫描的过程,主要包括:首先,获取安全扫描平台的api接口;然后,根据增量代码文件目录,利用api接口后台调用安全扫描平台,触发并执行扫描任务,确定安全扫描结果。
58.安全扫描工具一般提供api接口,可以实现后台调用。这为本发明自动化执行扫描提供了前提,即我们可以不通过登录扫描平台页面,而是可以通过api进行发起上传扫描。可以灵活对接第三方安全扫描平台。只要扫描工具可以提供满足要求的api(支持后台传输和扫描),就可以接入。本发明实现了增量代码扫描的全过程自动化,用户从输入端输入增量代码识别参数后,自动化的在源码版本库中进行增量代码识别并上传扫描,完成整个安全扫描整个过程,无需再次访问安全扫描平台,在输入端即可获取安全扫描结果,取代以往各个环节割裂的方式,用户也无需记录上个版本的代码,自动化程度更高,可以大大提高增量扫描效率,实现增量代码文件的自动识别、获取、扫描及安全扫描结果的回传。
59.具体实施本发明实施例提供的一种增量代码安全扫描方法时,在一个实施例中,前述的将安全扫描结果回传至输入端,包括:
60.在安全扫描平台确定安全扫描结果后,利用后台文件传输通道,将安全扫描结果回传至输入端,生成安全扫描报告文件。
61.实施例中,平台扫描任务结束后,报告回传模块获取这次扫描的结果,用户可查看和下载报告。可以将安全扫描的结果回传至输入端,用户不必去访问安全扫描平台,从而实现在输入端内部获取安全扫描结果。本发明实现了增量代码扫描的全过程自动化,用户从输入端输入增量代码识别参数后,自动化的在源码版本库中进行增量代码识别并上传扫描,完成整个安全扫描整个过程,无需再次访问安全扫描平台,在输入端即可获取安全扫描结果,取代以往各个环节割裂的方式,用户也无需记录上个版本的代码,自动化程度更高,可以大大提高增量扫描效率,实现增量代码文件的自动识别、获取、扫描及安全扫描结果的回传。
62.下面结合具体场景,对本发明实施例提供的一种增量代码安全扫描方法进行简要描述:
63.本发明针对如何快速准确识别出增量代码并进行自动化扫描,提出一种普适的自动化增量代码安全扫描方法。
64.本发明通过获取源码版本库变更记录,自动识别出产生变化的代码文件,并将其生成一个文件目录,上传至安全扫描平台,从而自动完成增量文件识别、上传、扫描的环节。
65.软件产品开发过程中,源码是托管在版本库中的,最常见的是svn和git。而这些版本库都能记录每次提交记录,即代码变更记录,而这些记录是可以通过版本库自带的命令行工具获取的,可以用于获取增量文件。这为本发明提供了技术基础。
66.当前第三方安全扫描工具大多提供api,可以实现后台调用。这为本发明自动化执行扫描提供了前提,即我们可以不通过登录扫描平台页面,而是可以通过api进行发起上传扫描。
67.本发明实现增量扫描的自动化,即无需代码上传,程序直接在源码版本库中进行增量代码识别;用户也无需记录上个版本的代码,因此自动化程度更高,可以大大提高增量扫描效率。
68.技术人员需要掌握版本库的基础命令和对接的第三方安全扫描平台api,才能开
发出本发明的几个模块:增量代码识别、上传扫描模块、报告回传模块等。
69.其中增量代码识别功能/模块是最重要的,只有完成正确的识别才能提取出增量代码,再进行后续环节。
70.本发明实施例还提供一种增量代码安全扫描方法的模块化实例,主要包括:
71.增量代码识别模块、上传扫描模块、报告回传模块。
72.这三个模块按照顺序执行,增量代码识别模块获取到代码库中的增量代码,上传扫描模块对接安全扫描工具或平台,将这些代码文件上传至安全扫描平台执行扫描,扫描结束后,报告回传模块自动获取结果。
73.用户输入:起止时间、分支。这三个参数限定了代码变动的时间范围和分支范围。系统启动增量扫描过程。
74.增量代码识别模块:在用户输入的基础上,增量代码识别过程自动检出版本库对应的代码分支(获取源码),获取从startdate至enddate这段时间内最早和最晚的提交id,即追溯到两次提交对应的版本标识。然后,进行变更文件识别和获取,并组织成一个单独的目录(增量代码文件目录),作为下一环节的输入。
75.上传扫描模块:接收到变更代码目录后,上传模块通过安全扫描平台提供的api,触发扫描任务。这个过程将增量代码上传至扫描平台并进行扫描。
76.报告回传模块:第三方平台扫描任务结束后,报告回传模块获取这次扫描的结果,用户可查看和下载报告。该模块可以将安全扫描的结果回传至本系统,用户不必去访问安全扫描平台,从而实现在本系统内部获取结果。
77.本发明的关键点,在于全过程自动化,用户提供输入后,可以自动化识别增量代码并上传扫描,完成整个安全扫描整个过程,并在本系统中获取结果(无需访问安全扫描工具),取代以往各个环节割裂的方式。实现增量代码文件的自动识别和获取。
78.本发明提供了自动化完成增量扫描的方法,将整个过程串联起来,增量代码识别、上次扫描、获取报告形成一个整体流水线。因此用户介入少,仅需指定时间段和代码分支即可,操作简单可行。识别准确率和速度高。本发明对于增量代码的识别是基于代码库提交,这种方式显然比人工识别准确,比代码比对方式快速。可以灵活对接第三方安全扫描平台。只要扫描工具可以提供满足要求的api,支持后台传输和扫描,就可以接入本系统。
79.图5为运行本发明实施的一种增量代码安全扫描方法的计算机装置示意图,如图5所示,本发明实施例还提供一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述一种增量代码安全扫描方法。
80.本发明实施例还提供一种计算机可读存储介质,所述计算机可读存储介质存储有执行实现上述一种增量代码安全扫描方法的计算机程序。
81.本发明实施例中还提供了一种增量代码安全扫描装置,如下面的实施例所述。由于该装置解决问题的原理与一种增量代码安全扫描方法相似,因此该装置的实施可以参见一种增量代码安全扫描方法的实施,重复之处不再赘述。
82.图6为本发明实施例一种增量代码安全扫描装置示意图,如图6所示,本发明实施例还提供一种增量代码安全扫描装置,具体实施时可以包括:
83.参数设置模块601,用于在输入端设置增量代码识别参数;
84.增量代码识别模块602,用于根据增量代码识别参数,在版本库中识别出增量代码文件目录;
85.安全扫描模块603,用于根据增量代码文件目录,调用安全扫描平台,确定安全扫描结果;
86.安全扫描结果回传模块604,用于将安全扫描结果回传至输入端。
87.具体实施本发明实施例提供的一种增量代码安全扫描装置时,在一个实施例中,前述的参数设置模块,具体用于:
88.在输入端设置包括起始时间、终止时间和分支参数的增量代码识别参数。
89.具体实施本发明实施例提供的一种增量代码安全扫描装置时,在一个实施例中,前述的增量代码识别模块,具体用于:
90.根据分支参数,在版本库中检索出对应的代码分支;其中,代码分支,包括:软件产品的源码;
91.根据起始时间和终止时间,对应的代码分支中获取起始时间至终止时间内最早和最晚的提交id,追溯到最早提交和最晚提交两次提交对应的版本标识;
92.根据代码分支和最早提交和最晚提交两次提交对应的版本标识,利用命令行工具进行代码源码变更文件的识别获取,组成生成增量代码文件目录。
93.具体实施本发明实施例提供的一种增量代码安全扫描装置时,在一个实施例中,前述的安全扫描模块,具体用于:
94.获取安全扫描平台的api接口;
95.根据增量代码文件目录,利用api接口后台调用安全扫描平台,触发并执行扫描任务,确定安全扫描结果。
96.具体实施本发明实施例提供的一种增量代码安全扫描装置时,在一个实施例中,前述的安全扫描结果回传模块,具体用于:
97.在安全扫描平台确定安全扫描结果后,利用后台文件传输通道,将安全扫描结果回传至输入端,生成安全扫描报告文件。
98.综上,本发明实施例提供的一种增量代码安全扫描方法和装置,包括:首先在输入端设置增量代码识别参数;然后根据增量代码识别参数,在版本库中识别出增量代码文件目录;接着根据增量代码文件目录,调用安全扫描平台,确定安全扫描结果;最后将安全扫描结果回传至输入端。本发明实现了增量代码扫描的全过程自动化,用户从输入端输入增量代码识别参数后,自动化的在源码版本库中进行增量代码识别并上传扫描,完成整个安全扫描整个过程,无需再次访问安全扫描平台,在输入端即可获取安全扫描结果,取代以往各个环节割裂的方式,用户也无需记录上个版本的代码,自动化程度更高,可以大大提高增量扫描效率,实现增量代码文件的自动识别、获取、扫描及回传。
99.本发明的关键点,在于全过程自动化,用户提供输入后,可以自动化识别增量代码并上传扫描,完成整个安全扫描整个过程,并在本系统中获取结果(无需访问安全扫描工具),取代以往各个环节割裂的方式。实现增量代码文件的自动识别和获取。
100.本发明提供了自动化完成增量扫描的方法,将整个过程串联起来,增量代码识别、上次扫描、获取报告形成一个整体流水线。因此用户介入少,仅需指定时间段和代码分支即可,操作简单可行。识别准确率和速度高。本发明对于增量代码的识别是基于代码库提交,
这种方式显然比人工识别准确,比代码比对方式快速。可以灵活对接第三方安全扫描平台。只要扫描工具可以提供满足要求的api,支持后台传输和扫描,就可以接入本系统。
101.本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd

rom、光学存储器等)上实施的计算机程序产品的形式。
102.本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
103.这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
104.这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
105.以上所述的具体实施例,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施例而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献