一种组件漏洞处理方法、装置、设备和存储介质制造方法及图纸

技术编号:39042919 阅读:15 留言:0更新日期:2023-10-10 11:55
本申请提供一种组件漏洞处理方法、装置、设备及存储介质,该方法包括:基于参与构建开源项目的第一源代码生成第一依赖关系树;基于深度优先搜索算法遍历第一依赖关系树,得到第一依赖关系树上的各条依赖链和各条依赖链上的组件信息;从第一组件清单中筛选出第二组件清单,并将第二组件清单包含的组件在第一依赖关系树上进行标记;获取第一依赖关系树上未被标记的组件关联的各条目标依赖链,以及各条目标依赖链上存在已被标记的组件的目标数量;基于目标数据和各条依赖链上的组件数量,对第一依赖关系树进行更新得到第二依赖关系树;基于第二依赖关系树进行组件漏洞处理。第二依赖关系树进行组件漏洞处理。第二依赖关系树进行组件漏洞处理。

【技术实现步骤摘要】
一种组件漏洞处理方法、装置、设备和存储介质


[0001]本申请实施例涉及金融科技(Fintech)的数据处理
,涉及但不限于一种组件漏洞处理方法、装置、设备和存储介质。

技术介绍

[0002]随着计算机计算的发展,越来越多的技术应用在金融领域,传统金融业正在逐步向金融科技(Fintech)转变,但由于金融行业的安全性、实时性要求,也对技术提出了更高的要求。
[0003]金融科技领域下,在软件开发中引入和使用开源组件,带来便利性的同时也会遭受潜在或已知的安全漏洞影响。在开源组件漏洞层出不穷的今天,业界内也逐渐开始重视开源组件安全治理。目前业内的开源漏洞处理主流方案,是通过扫描源代码或扫描物料包得到的扫描结果判断是否存在安全漏洞,然后,上述任一开源漏洞处理方法在扫描结果上存在一定的局限性。基于该扫描结果,至少存在漏洞处理准确率低的问题。

技术实现思路

[0004]本申请实施例提供一种组件漏洞处理方法、装置、设备和存储介质,以解决相关技术中基于扫描源代码或扫描物料包得到的扫描结果进行组件漏洞处理时,至少存在漏洞处理准确率低的问题。
[0005]本申请实施例的技术方案是这样实现的:
[0006]本申请实施例提供一种组件漏洞处理方法,包括:
[0007]基于参与构建开源项目的第一源代码生成第一依赖关系树;
[0008]基于深度优先搜索算法遍历所述第一依赖关系树,得到所述第一依赖关系树上的各条依赖链和所述各条依赖链上的组件信息;所述组件信息包括各条依赖链上的组件数量;
[0009]从第一组件清单中筛选出第二组件清单,并将所述第二组件清单包含的组件在所述第一依赖关系树上进行标记;所述第一组件清单是扫描物料包得到的组件清单,所述第二组件清单包含在所述第一依赖关系树上出现次数为第一次数的组件的清单;
[0010]获取所述第一依赖关系树上未被标记的组件关联的各条目标依赖链,以及所述各条目标依赖链上存在已被标记的组件的目标数量;
[0011]基于所述目标数据和所述各条依赖链上的组件数量,对所述第一依赖关系树进行更新得到第二依赖关系树;
[0012]基于所述第二依赖关系树进行组件漏洞处理。
[0013]一种组件漏洞处理装置,包括:
[0014]处理模块,用于基于参与构建开源项目的第一源代码生成第一依赖关系树;
[0015]所述处理模块,用于基于深度优先搜索算法遍历所述第一依赖关系树,得到所述第一依赖关系树上的各条依赖链和所述各条依赖链上的组件信息;所述组件信息包括各条
依赖链上的组件数量;
[0016]所述处理模块,用于从第一组件清单中筛选出第二组件清单,并将所述第二组件清单包含的组件在所述第一依赖关系树上进行标记;所述第一组件清单是扫描物料包得到的组件清单,所述第二组件清单包含在所述第一依赖关系树上出现次数为第一次数的组件的清单;
[0017]获取模块,用于获取所述第一依赖关系树上未被标记的组件关联的各条目标依赖链,以及所述各条目标依赖链上存在已被标记的组件的目标数量;
[0018]所述处理模块,用于基于所述目标数据和所述各条依赖链上的组件数量,对所述第一依赖关系树进行更新得到第二依赖关系树;
[0019]所述处理模块,用于基于所述第二依赖关系树进行组件漏洞处理。
[0020]一种组件漏洞处理设备,包括:
[0021]存储器,用于存储可执行指令;处理器,用于执行所述存储器中存储的可执行指令时,实现上述的方法。
[0022]一种计算机可读存储介质,存储有可执行指令,用于引起处理器执行时,实现上述的方法。
[0023]本申请实施例具有以下有益效果:
[0024]通过基于参与构建开源项目的第一源代码生成第一依赖关系树;基于深度优先搜索算法遍历第一依赖关系树,得到第一依赖关系树上的各条依赖链和各条依赖链上的组件信息;从第一组件清单中筛选出第二组件清单,并将第二组件清单包含的组件在第一依赖关系树上进行标记;获取第一依赖关系树上未被标记的组件关联的各条目标依赖链,以及各条目标依赖链上存在已被标记的组件的目标数量;基于目标数据和各条依赖链上的组件数量,对第一依赖关系树进行更新得到第二依赖关系树;基于第二依赖关系树进行组件漏洞处理;解决了基于扫描源代码或扫描物料包得到的扫描结果进行组件漏洞处理时,至少存在漏洞处理准确率低的问题,本申请基于实际参与构建开源项目的源代码扫描并生成准确性相对较高的组件依赖树、扫描物料包收集实际使用的组件清单,并将两种扫描得到的结果基于深度优先搜索算法进行整合,以得到的准确性较高的第二依赖关系树为基础,进行组件漏洞处理,可以提供优化到可行性高的修复建议。
附图说明
[0025]图1是本申请实施例提供的组件漏洞处理设备的一个可选的架构示意图;
[0026]图2是本申请实施例提供的组件漏洞处理方法的流程示意图;
[0027]图3是本申请实施例提供的得到比较完整且漏报率较低的组件依赖树的流程的示意图;
[0028]图4是本申请实施例提供的得到项目实际使用的组件依赖树的示意图;
[0029]图5是本申请实施例提供的修复建议的示意图。
具体实施方式
[0030]为了使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请作进一步地详细描述,所描述的实施例不应视为对本申请的限制,本领域普通技术人员在没有
做出创造性劳动前提下所获得的所有其它实施例,都属于本申请保护的范围。
[0031]在以下的描述中,涉及到“一些实施例”,其描述了所有可能实施例的子集,但是可以理解,“一些实施例”可以是所有可能实施例的相同子集或不同子集,并且可以在不冲突的情况下相互结合。除非另有定义,本申请实施例所使用的所有的技术和科学术语与属于本申请实施例的
的技术人员通常理解的含义相同。本申请实施例所使用的术语只是为了描述本申请实施例的目的,不是旨在限制本申请。
[0032]下面说明本申请实施例提供的组件漏洞处理设备的示例性应用,本申请实施例提供的组件漏洞处理设备可以实施为笔记本电脑,平板电脑,台式计算机,移动设备(例如,移动电话,便携式音乐播放器,个人数字助理,专用消息设备,便携式游戏设备),智能机器人等任意具有屏幕显示功能的组件漏洞处理设备例如组件漏洞处理终端,也可以实施为服务器。下面,将说明组件漏洞处理设备实施为组件漏洞处理设备时的示例性应用。
[0033]参见图1,图1是本申请实施例提供的组件漏洞处理设备100的结构示意图,图1所示的组件漏洞处理设备100包括:至少一个处理器110、至少一个网络接口120、用户接口130和存储器150。组件漏洞处理设备100中的各个组件通过总线系统140耦合在一起。可理解,总线系统140用于实现这些组件之间的连接通信。总线系统140除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。但是为了清楚说明起见,在图1中将各种总线都标为总线系统140。
...

【技术保护点】

【技术特征摘要】
1.一种组件漏洞处理方法,其特征在于,所述方法包括:基于参与构建开源项目的第一源代码生成第一依赖关系树;基于深度优先搜索算法遍历所述第一依赖关系树,得到所述第一依赖关系树上的各条依赖链和所述各条依赖链上的组件信息;所述组件信息包括各条依赖链上的组件数量;从第一组件清单中筛选出第二组件清单,并将所述第二组件清单包含的组件在所述第一依赖关系树上进行标记;所述第一组件清单是扫描物料包得到的组件清单,所述第二组件清单包含在所述第一依赖关系树上出现次数为第一次数的组件的清单;获取所述第一依赖关系树上未被标记的组件关联的各条目标依赖链,以及所述各条目标依赖链上存在已被标记的组件的目标数量;基于所述目标数据和所述各条依赖链上的组件数量,对所述第一依赖关系树进行更新得到第二依赖关系树;基于所述第二依赖关系树进行组件漏洞处理。2.根据权利要求1所述的方法,其特征在于,所述基于参与构建开源项目的第一源代码生成第一依赖关系树,包括:从所述开源项目的代码仓库中获取第二源代码;获取构建所述开源项目时执行的第一脚本;基于所述第一脚本从所述第二源代码中获取所述第一源代码;扫描所述第一源代码得到所述开源项目内各组件的依赖关系,并将所述各组件的依赖关系转化为所述第一依赖关系树。3.根据权利要求2所述的方法,其特征在于,所述扫描所述第一源代码得到所述开源项目内各组件的依赖关系,包括:扫描所述第二源代码得到所述开源项目内各组件的直接依赖关系;对所述各组件的直接依赖关系进行关联,生成全组件依赖关系;在所述全组件依赖关系中检索自研组件的依赖关系;基于所述自研组件的依赖关系和所述各组件的直接依赖关系,生成所述各组件的依赖关系。4.根据权利要求1所述的方法,其特征在于,所述基于所述目标数据和所述各条依赖链上的组件数量,对所述第一依赖关系树进行更新得到第二依赖关系树,包括:基于所述各条依赖链上的组件数量,按照组件数量从小到大进行排序,确定第一有效依赖链;确定所述第一有效依赖链上已被标记的组件的数量,并按照被标记的组件的数量从大到小进行排序,确定第二有效依赖链;在所述第二有效依赖链上去除重复组件的标记;在所述第二有效依赖链上删除未被标记的组件和所述未被标记的组件的子组件,得到所述第二依赖关系树。5.根据权利要求1所述的方法,其特征在于,所述基于所述第二...

【专利技术属性】
技术研发人员:余炯斌
申请(专利权)人:深圳前海微众银行股份有限公司
类型:发明
国别省市:

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

1