一种代码检测方法、装置、设备及存储介质制造方法及图纸

技术编号:35574984 阅读:12 留言:0更新日期:2022-11-12 15:59
本申请公开了一种代码检测方法、装置、设备及存储介质,涉及计算机技术领域,包括:确定待扫描代码数据,并基于所述待扫描代码数据创建扫描作业;将所述扫描作业与预设代码扫描规则组下发至集群节点,以便通过所述集群节点基于所述预设代码扫描规则组扫描所述扫描作业,并得到扫描结果;若所述扫描结果为扫描失败,则展示未通过扫描代码数据,以便修改所述未通过扫描代码数据,得到修改后数据;若所述修改后数据的所述扫描结果为扫描成功,则将所述修改后数据提交至代码库。本申请将扫描作业下发至集群节点,基于预设代码扫描规则组进行扫描,通过一种扫描工具与不同的扫描规则实现扫描全部代码,节省了人力与时间成本,提高了开发效率与安全性。发效率与安全性。发效率与安全性。

【技术实现步骤摘要】
一种代码检测方法、装置、设备及存储介质


[0001]本专利技术涉及计算机
,特别涉及一种代码检测方法、装置、设备及存储介质。

技术介绍

[0002]在现有的开源扫描服务中,自动扫描需要借助第三方定时任务启动才能实现;任务触发配置比较复杂,触发条件比较单一,不易于用户使用;不支持增量代码扫描,只能单一的对项目代码进行扫描,没有筛选代码文件功能;不支持定时自动构建作业;不支持扫描结果邮件推送功能;不支持分布式扫描,只能指定单个节点进行扫描,扫描耗时严重;扫描结束测试报告比较简陋,不能页面可视化修改和编辑;扫描规则不支持自定义;扫描编程语言单一、有限。以上是目前开源扫描工具的不足之处,造成用户在使用过程中,困难重重,安装配置复杂,需要结合多个第三方组件才能实现单一的效果,给用户造成很大的困扰。如果项目开发代码中涉及多种编程语言,可能在使用开源扫描工具时需要部署多种扫描工具,同时工作才能达到效果。大大降低了工作效率,影响用户使用。多种扫描工具之间扫描规则差异,也可能给项目代码带来安全隐患。

技术实现思路

[0003]有鉴于此,本专利技术的目的在于提供一种代码检测方法、装置、设备和存储介质,能够节省人力与时间成本,提高开发效率与安全性。其具体方案如下:
[0004]第一方面,本申请公开了一种代码检测方法,应用于智能代码扫描平台,包括:
[0005]确定待扫描代码数据,并基于所述待扫描代码数据创建扫描作业;
[0006]将所述扫描作业与预设代码扫描规则组下发至集群节点,以便通过所述集群节点基于所述预设代码扫描规则组扫描所述扫描作业,并得到扫描结果;
[0007]若所述扫描结果为扫描失败,则展示未通过扫描代码数据,以便修改所述未通过扫描代码数据,得到修改后数据;
[0008]若所述修改后数据的所述扫描结果为扫描成功,则将所述修改后数据提交至代码库。
[0009]可选的,所述基于所述待扫描代码数据创建扫描作业,包括:
[0010]基于所述待扫描代码数据创建实时扫描作业和/或离线扫描作业。
[0011]可选的,所述将所述扫描作业与预设代码扫描规则组下发至集群节点,包括:
[0012]若所述扫描作业为所述离线扫描作业,则从所述代码库中拉取与所述离线扫描作业对应的当前项目中所有分支合并后的第一目标代码信息;
[0013]将所述第一目标代码信息、所述离线扫描作业以及所述预设代码扫描规则组下发至所述集群节点;
[0014]或,若所述扫描作业为所述实时扫描作业,则从所述代码库中拉取满足预设触发条件的当前分支代码信息;
[0015]获取所述第一目标代码信息与所述当前分支代码信息之间的差异代码信息,以得到第二目标代码信息;
[0016]将所述第二目标代码信息、所述实时扫描作业以及所述预设代码扫描规则组下发至所述集群节点。
[0017]可选的,所述将所述扫描作业与预设代码扫描规则组下发至集群节点之前,还包括:
[0018]判断所述扫描作业对应的所述集群节点是否为初次使用;
[0019]若所述集群节点为初次使用,则添加所述集群节点,并且当利用所述集群节点的用户与密码与所述集群节点完成连接后,在所述集群节点上部署扫描器及对应的服务;
[0020]若所述集群节点不是初次使用,则直接确定所述集群节点。
[0021]可选的,所述将所述扫描作业与预设代码扫描规则组下发至集群节点,以便通过所述集群节点基于所述预设代码扫描规则组扫描所述扫描作业,并得到扫描结果,包括:
[0022]获取所述集群节点的目标信息;所述目标信息包含所述集群节点的数量以及集群节点性能;
[0023]基于所述目标信息划分所述扫描作业,以得到划分后扫描作业;
[0024]将所述划分后扫描作业与预设代码扫描规则组下发至对应的所述集群节点,以便通过所述集群节点上的所述扫描器并基于所述预设代码扫描规则组扫描所述扫描作业,并得到扫描结果。
[0025]可选的,所述将所述扫描作业与预设代码扫描规则组下发至集群节点之前,还包括:
[0026]设置规则管理器,在所述规则管理器中通过预设规则设置方式设置规则,并为所述规则设置对应的标签信息;所述预设规则设置方式包含创建、导入、导出、启用以及停用,所述规则包含所述预设代码扫描规则、预设扫描结果打分规则以及预设检索规则;
[0027]基于所述智能代码扫描平台的编程语言,获取与所述编程语言对应的所述规则,以得到所述预设代码扫描规则;
[0028]基于所述标签信息设置问题列表,以便显示所述扫描结果对应的不合规原因、问题等级、问题处理状态。
[0029]可选的,所述若所述扫描结果为扫描失败,则展示未通过扫描代码数据,以便修改所述未通过扫描代码数据,得到修改后数据,包括:
[0030]若所述扫描结果为扫描失败,则展示未通过扫描代码数据;
[0031]从所述问题列表中获取所述未通过扫描代码数据的所述不合规原因,以得到当前不合规原因;
[0032]批量对所述问题列表中的全部所述当前不合规原因对应的所述未通过扫描代码数据进行修改,以得到所述修改后数据;
[0033]判断所述不合规原因是否为违反编码规范问题;
[0034]若是并且所述未通过扫描代码数据满足当前预设编写规则,则将所述未通过扫描代码数据的所述问题处理状态更改为误判;
[0035]标记所述问题处理状态为误判的全部所述未通过扫描代码数据,并将误判对应的所述问题处理状态加入至白名单。
[0036]第二方面,本申请公开了一种代码检测装置,应用于智能代码扫描平台,包括:
[0037]作业创建模块,用于确定待扫描代码数据,并基于所述待扫描代码数据创建扫描作业;
[0038]扫描模块,用于将所述扫描作业与预设代码扫描规则组下发至集群节点,以便通过所述集群节点基于所述预设代码扫描规则组扫描所述扫描作业,并得到扫描结果;
[0039]代码修改模块,用于若所述扫描结果为扫描失败,则展示未通过扫描代码数据,以便修改所述未通过扫描代码数据,得到修改后数据;
[0040]代码提交模块,用于若所述修改后数据的所述扫描结果为扫描成功,则将所述修改后数据提交至代码库。
[0041]第三方面,本申请公开了一种电子设备,包括:
[0042]存储器,用于保存计算机程序;
[0043]处理器,用于执行所述计算机程序,以实现如前述公开的代码检测方法的步骤。
[0044]第四方面,本申请公开了一种计算机可读存储介质,用于存储计算机程序;其中,所述计算机程序被处理器执行时实现如前述公开的代码检测方法。
[0045]可见,本申请提供了一种代码检测方法,包括:确定待扫描代码数据,并基于所述待扫描代码数据创建扫描作业;将所述扫描作业与预设代码扫描规则组下发至集群节点,以便通过所述集群节点基于所述预设代码扫描规则组扫描所述扫描作业,并得到扫描结果;若所述扫描结本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种代码检测方法,其特征在于,应用于智能代码扫描平台,包括:确定待扫描代码数据,并基于所述待扫描代码数据创建扫描作业;将所述扫描作业与预设代码扫描规则组下发至集群节点,以便通过所述集群节点基于所述预设代码扫描规则组扫描所述扫描作业,并得到扫描结果;若所述扫描结果为扫描失败,则展示未通过扫描代码数据,以便修改所述未通过扫描代码数据,得到修改后数据;若所述修改后数据的所述扫描结果为扫描成功,则将所述修改后数据提交至代码库。2.根据权利要求1所述的代码检测方法,其特征在于,所述基于所述待扫描代码数据创建扫描作业,包括:基于所述待扫描代码数据创建实时扫描作业和/或离线扫描作业。3.根据权利要求2所述的代码检测方法,其特征在于,所述将所述扫描作业与预设代码扫描规则组下发至集群节点,包括:若所述扫描作业为所述离线扫描作业,则从所述代码库中拉取与所述离线扫描作业对应的当前项目中所有分支合并后的第一目标代码信息;将所述第一目标代码信息、所述离线扫描作业以及所述预设代码扫描规则组下发至所述集群节点;或,若所述扫描作业为所述实时扫描作业,则从所述代码库中拉取满足预设触发条件的当前分支代码信息;获取所述第一目标代码信息与所述当前分支代码信息之间的差异代码信息,以得到第二目标代码信息;将所述第二目标代码信息、所述实时扫描作业以及所述预设代码扫描规则组下发至所述集群节点。4.根据权利要求1所述的代码检测方法,其特征在于,所述将所述扫描作业与预设代码扫描规则组下发至集群节点之前,还包括:判断所述扫描作业对应的所述集群节点是否为初次使用;若所述集群节点为初次使用,则添加所述集群节点,并且当利用所述集群节点的用户与密码与所述集群节点完成连接后,在所述集群节点上部署扫描器及对应的服务;若所述集群节点不是初次使用,则直接确定所述集群节点。5.根据权利要求4所述的代码检测方法,其特征在于,所述将所述扫描作业与预设代码扫描规则组下发至集群节点,以便通过所述集群节点基于所述预设代码扫描规则组扫描所述扫描作业,并得到扫描结果,包括:获取所述集群节点的目标信息;所述目标信息包含所述集群节点的数量以及集群节点性能;基于所述目标信息划分所述扫描作业,以得到划分后扫描作业;将所述划分后扫描作业与预设代码扫描规则组下发至对应的所述集群节点,以便通过所述集群节点上的所述扫描器并基于所述预设代码扫描规则组扫描所述扫描作业,并得到...

【专利技术属性】
技术研发人员:汤高蒙
申请(专利权)人:济南浪潮数据技术有限公司
类型:发明
国别省市:

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

1