System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本申请涉及数据处理,特别是涉及一种依赖库的检测方法、装置、计算机设备、计算机可读存储介质和计算机程序产品。
技术介绍
1、随着计算机的不断发展,引用外部组件或依赖库已经成为软件开发过程中一个普遍的做法,有效地帮助开发人员快速、准确地完成软件开发任务。然而,在确保软件系统安全性的过程中,关注外部组件和依赖库的安全性至关重要。特别是在网站(web)前端开发领域,复杂的依赖库构造原理使得检查其安全性变得异常困难。
2、在传统技术中,通常会进行依赖库与目标系统的兼容性检测,通过依赖库检测、库包调用函数检测以及外部函数测试用例来判断待检测软件与目标系统是否兼容。然而,这种方式仅可以检测出依赖库与目标系统的兼容性,无法从系统安全的角度去评估依赖库的安全性。
技术实现思路
1、基于此,有必要针对上述技术问题,提供一种能够依赖库的检测方法、装置、计算机设备、计算机可读存储介质和计算机程序产品。
2、第一方面,本申请提供了一种依赖库的检测方法,包括:
3、响应于对程序文本编译的触发操作,获取所述程序文本引用的依赖库信息;其中,所述依赖库信息包括多个依赖库以及各依赖库之间的依赖关系;
4、利用所述依赖库信息,建立所述程序文本的图模型,其中,所述图模型的节点对应于所述程序文本的依赖库;所述图模型的节点之间的连线对应于依赖库的依赖关系;
5、遍历所述图模型,并利用预设的检测策略集合,对所述图模型中的节点进行检测,确定问题节点所对应的目标依赖库;其
6、在其中一个实施例中,所述检测策略集合包括依赖库的标识信息以及对应的版本信息,所述利用预设的检测策略集合,对所述图模型中的节点进行检测,确定问题节点所对应的目标依赖库,包括:
7、利用所述检测策略集合对图模型的各个节点进行匹配;
8、在检测策略集合中匹配到所述节点对应的依赖库,且检测策略集合中不存在所述节点对应的依赖库的版本信息的情况下,将所述节点对应的依赖库确定为目标依赖库;
9、在检测策略集合中匹配到所述节点对应的依赖库,且检测策略集合中存在所述节点对应的依赖库的版本信息的情况下,利用所述检测策略集合对所述节点对应的依赖库的版本信息进行匹配;
10、在所述检测策略集合中匹配到所述节点对应的依赖库的版本信息的情况下,将所述节点对应的依赖库确定为目标依赖库。
11、在其中一个实施例中,所述利用所述依赖库信息,建立所述程序文本的图模型,包括:
12、利用所述各依赖库之间的依赖关系,确定各依赖库的等级;
13、将所述程序确定为根节点,并将根节点确定为当前节点,依次遍历所述依赖库信息中的各依赖库;
14、当遍历的依赖库等级属于当前节点等级的下一等级,则将遍历的依赖库对应的节点确定为当前节点的子节点,并将当前节点替换为所述遍历的依赖库对应的节点;
15、当遍历的依赖库等级不属于当前节点等级的下一等级,则将当前节点替换为所述当前节点的父节点,并继续遍历所述依赖库;
16、在所述依赖库集合中所有依赖库遍历完成后,将所述根节点、对应的后代节点和各节点之间的连线确定为目标图模型。
17、在其中一个实施例中,所述利用所述各依赖库的依赖关系,确定各依赖库的等级,包括:
18、依次遍历所述各依赖关系,得到所述程序到各依赖库之间的依赖关系;
19、根据所述程序到目标依赖库之间的依赖关系,确定所述各依赖库的等级。
20、在其中一个实施例中,所述遍历所述图模型,并利用预设的检测策略集合,对所述图模型中的节点进行检测,确定问题节点所对应的目标依赖库,包括:
21、遍历所述图模型,利用预设的检测策略集合,对图模型的各个节点进行匹配;
22、在所述检测策略集合中匹配到所述节点对应的依赖库的情况下,中断对所述节点的后代节点的遍历,并将所述节点对应的依赖库确定为目标依赖库。
23、在其中一个实施例中,所述检测策略集合包括错误依赖库信息、错误依赖库版本以及对应的改正策略;所述利用预设的检测策略集合,对所述图模型中的节点进行检测,确定问题节点所对应的目标依赖库,包括:
24、利用预设的检测策略集合,对图模型的各个节点进行匹配;
25、在所述检测策略集合中匹配到所述节点对应的依赖库的情况下,将所述节点对应的依赖库确定为目标依赖库;
26、从所述检测策略集合中匹配所述目标依赖库,得到对应的改正策略。
27、在其中一个实施例中,所述方法还包括:
28、根据所述图模型以及对应的目标依赖库,确定程序到目标依赖库之间的依赖关系。
29、第二方面,本申请还提供了一种依赖库的检测装置,包括:
30、依赖库获取模块,用于响应于对程序文本编译的触发操作,获取所述程序文本引用的依赖库信息;其中,所述依赖库信息包括多个依赖库以及各依赖库之间的依赖关系;
31、模型构建模块,用于利用所述依赖库信息,建立所述程序文本的图模型,其中,所述图模型的节点对应于所述程序文本的依赖库;所述图模型的节点之间的连线对应于依赖库的依赖关系;
32、依赖库检测模块,用于遍历所述图模型,并利用预设的检测策略集合,对所述图模型中的节点进行检测,确定问题节点所对应的目标依赖库;其中,所述检测策略集合包括各错误型依赖库集合。
33、在其中一个实施例中,所述依赖库检测模块,包括:
34、节点检测子模块,用于利用所述检测策略集合对图模型的各个节点进行匹配;
35、依赖库检测子模块,用于在检测策略集合中匹配到所述节点对应的依赖库,且检测策略集合中不存在所述节点对应的依赖库的版本信息的情况下,将所述节点对应的依赖库确定为目标依赖库;
36、所述依赖库检测子模块,还用于在检测策略集合中匹配到所述节点对应的依赖库,且检测策略集合中存在所述节点对应的依赖库的版本信息的情况下,利用所述检测策略集合对所述节点对应的依赖库的版本信息进行匹配;
37、所述依赖库检测子模块,还用于在所述检测策略集合中匹配到所述节点对应的依赖库的版本信息的情况下,将所述节点对应的依赖库确定为目标依赖库。
38、在其中一个实施例中,所述模型构建模块,包括:
39、等级确认子模块,用于利用所述各依赖库之间的依赖关系,确定各依赖库的等级;
40、图模型构建子模块,用于将所述程序确定为根节点,并将根节点确定为当前节点,依次遍历所述依赖库信息中的各依赖库;
41、所述图模型构建子模块,还用于当遍历的依赖库等级属于当前节点等级的下一等级,则将遍历的依赖库对应的节点确定为当前节点的子节点,并将当前节点替换为所述遍历的依赖库对应的节点;
42、所述图模型构建子模块,还用于当遍历的依赖库等级不属于当前节本文档来自技高网...
【技术保护点】
1.一种依赖库的检测方法,其特征在于,所述方法包括:
2.根据权利要求1所述的方法,其特征在于,所述检测策略集合包括依赖库的标识信息以及对应的版本信息,所述利用预设的检测策略集合,对所述图模型中的节点进行检测,确定问题节点所对应的目标依赖库,包括:
3.根据权利要求1所述的方法,其特征在于,所述利用所述依赖库信息,建立所述程序文本的图模型,包括:
4.根据权利要求3所述的方法,其特征在于,所述利用所述各依赖库的依赖关系,确定各依赖库的等级,包括:
5.根据权利要求1所述的方法,其特征在于,所述遍历所述图模型,并利用预设的检测策略集合,对所述图模型中的节点进行检测,确定问题节点所对应的目标依赖库,包括:
6.根据权利要求1所述的方法,其特征在于,所述检测策略集合包括错误依赖库信息、错误依赖库版本以及对应的改正策略;所述利用预设的检测策略集合,对所述图模型中的节点进行检测,确定问题节点所对应的目标依赖库,包括:
7.根据权利要求1所述的方法,其特征在于,所述方法还包括:
8.一种依赖库的检测装置,其特
9.根据权利要求8所述的装置,其特征在于,所述依赖库检测模块,包括:
10.根据权利要求8所述的装置,其特征在于,所述模型构建模块,包括:
11.根据权利要求10所述的装置,其特征在于,所述等级确认子模块,包括:
12.根据权利要求8所述的装置,其特征在于,所述依赖库检测模块,包括:
13.根据权利要求8所述的装置,其特征在于,所述依赖库检测模块,包括:
14.根据权利要求8所述的装置,其特征在于,所述装置还包括:
15.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至6中任一项所述的方法的步骤。
16.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至6中任一项所述的方法的步骤。
17.一种计算机程序产品,包括计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至6中任一项所述的方法的步骤。
...【技术特征摘要】
1.一种依赖库的检测方法,其特征在于,所述方法包括:
2.根据权利要求1所述的方法,其特征在于,所述检测策略集合包括依赖库的标识信息以及对应的版本信息,所述利用预设的检测策略集合,对所述图模型中的节点进行检测,确定问题节点所对应的目标依赖库,包括:
3.根据权利要求1所述的方法,其特征在于,所述利用所述依赖库信息,建立所述程序文本的图模型,包括:
4.根据权利要求3所述的方法,其特征在于,所述利用所述各依赖库的依赖关系,确定各依赖库的等级,包括:
5.根据权利要求1所述的方法,其特征在于,所述遍历所述图模型,并利用预设的检测策略集合,对所述图模型中的节点进行检测,确定问题节点所对应的目标依赖库,包括:
6.根据权利要求1所述的方法,其特征在于,所述检测策略集合包括错误依赖库信息、错误依赖库版本以及对应的改正策略;所述利用预设的检测策略集合,对所述图模型中的节点进行检测,确定问题节点所对应的目标依赖库,包括:
7.根据权利要求1所述的方法,其特征在于,所述方法还包括:
8.一种依赖库的检测...
【专利技术属性】
技术研发人员:吴曦,唐攀,郝学宇,胡炳华,杨杰,刘祎莹,
申请(专利权)人:中国建设银行股份有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。