一种软件物料清单库的构建方法、装置、设备及可读介质与流程

文档序号:35931260发布日期:2023-11-05 05:27阅读:38来源:国知局
一种软件物料清单库的构建方法、装置、设备及可读介质与流程

本发明涉及计算机领域,具体而言,涉及一种软件物料清单库的构建方法、装置、设备及可读介质。


背景技术:

1、在现有技术中,随着微服务、云计算等新技术的快速迭代,开源软件已成为业界主流形态,但开源时代的到来使得软件供应链越来越趋于复杂化和多样化,安全风险日益增加。在实际开发工作中,一方面,开发人员从源代码、配置文件、生成交付物等处提取所需信息按照需求要求的格式形成报告,但手动生成方法,既消耗人力,又容易出现遗漏、拼写错误等问题;此外由于软件升级变动频繁,导致最终提交报告与实际软件不一致,无法实时有效地追踪安全漏洞风险和许可合规性。另一方面,现有软件物料清单生成于构建部署阶段,未集成于软件生命周期中,无法有效更新识别具体安全风险的开源组件。因此,亟需一种软件物料清单库的构建方法,一方面利用软件物料清单库能够清楚描述各个开发阶段的开发代码程序中的软件成分,快速洞察安全风险,从源头全面把控开发软件的安全性,另一方面方便后期通过使用软件物料清单内容来可视化跟踪所使用的组件,协助开发人员管理依赖项、识别安全问题,实现整个软件生命周期中的软件物料清单的统一存储和管理。


技术实现思路

1、本发明的目的在于提供一种软件物料清单库的构建方法、装置、设备及可读介质,以改善上述问题。为了实现上述目的,本发明采取的技术方案如下:

2、第一方面,本申请提供了一种软件物料清单库的构建方法,本方法包括:

3、获取开源组件中的源代码、组件信息、安全漏洞信息和许可证信息;

4、对所述源代码和所述组件信息进行特征提取,得到开源组件库,并生成第一组件唯一标识;

5、对所述组件信息进行组件依赖关系提取,得到组件依赖关系库,并生成第二组件唯一标识;

6、对所述安全漏洞信息进行漏洞内容提取,得到安全漏洞库,并生成第三组件唯一标识;

7、对所述许可证信息进行许可证内容提取,得到许可证信息库,并生成第四组件唯一标识;

8、对所述开源组件库、所述组件依赖关系库、所述安全漏洞库和所述许可证信息库通过预设的软件物料清单创建模型进行构建,得到软件物料清单库,所述软件物料清单库与不同的组件唯一标识关联。

9、第二方面,本申请还提供了一种软件物料清单库的构建装置,本装置包括:

10、获取模块,用于获取开源组件中的源代码、组件信息、安全漏洞信息和许可证信息;

11、第一处理模块,用于对所述源代码和所述组件信息进行特征提取,得到开源组件库,并生成第一组件唯一标识;

12、第二处理模块,用于对所述组件信息进行组件依赖关系提取,得到组件依赖关系库,并生成第二组件唯一标识;

13、第三处理模块,用于对所述安全漏洞信息进行漏洞内容提取,得到安全漏洞库,并生成第三组件唯一标识;

14、第四处理模块,用于对所述许可证信息进行许可证内容提取,得到许可证信息库,并生成第四组件唯一标识;

15、创建模块,用于对所述开源组件库、所述组件依赖关系库、所述安全漏洞库和所述许可证信息库通过预设的软件物料清单创建模型进行构建,得到软件物料清单库,所述软件物料清单库与不同的组件唯一标识关联。

16、第三方面,本申请还提供了一种软件物料清单库的构建设备,包括:

17、存储器,用于存储计算机程序;

18、处理器,用于执行所述计算机程序时实现所述软件物料清单库的构建方法的步骤。

19、第四方面,本申请还提供了一种可读存储介质,所述可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现上述基于软件物料清单库的构建方法的步骤。

20、本发明的有益效果为:

21、本发明先通过构建所述开源组件库、所述组件依赖关系库、所述安全漏洞库和所述许可证信息库,之后通过不同的组件唯一标识与软件物料清单库进行关联,最后得到的软件物料清单库能够清楚描述各个开发阶段的开发代码程序中的软件成分,快速洞察安全风险,从源头全面把控开发软件的安全性;当将本软件物料清单库进行可视化应用时,后期通过使用软件物料清单内容来可视化跟踪所使用的组件,协助开发人员管理依赖项、识别安全问题,即对所述软件物料清单库通过预设的软件物料可视化模型进行处理,得到软件物料清单的可视化检测数据库,所述软件物料清单的可视化检测数据库包括全量软件物料清单管理数据库和软件开发生命周期检测数据库,此时本方法在软件物料清单的可视化检测数据库中进行扫描检测,实现开源组件版本、安全漏洞、许可证合规性的风险评估,开发人员根据评估结果更新修复存在漏洞和不合规的开源组件,将安全风险前置,实现整个软件生命周期中的软件物料清单的统一存储和管理。

22、本发明的其他特征和优点将在随后的说明书阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明实施例了解。本发明的目的和其他优点可通过在所写的说明书、权利要求书、以及附图中所特别指出的结构来实现和获得。



技术特征:

1.一种软件物料清单库的构建方法,其特征在于,包括:

2.根据权利要求1所述的软件物料清单库的构建方法,其特征在于, 对所述源代码和所述组件信息进行特征提取,得到开源组件库,并生成第一组件唯一标识,包括:

3.根据权利要求2所述的软件物料清单库的构建方法,其特征在于,对所述开源组件中的源代码进行特征提取,得到第一数据集,包括:

4.根据权利要求3所述的软件物料清单库的构建方法,其特征在于,对所述属性矩阵进行池化计算,得到代码属性图的图特征,包括:

5.根据权利要求1所述的软件物料清单库的构建方法,其特征在于,对所述开源组件库、所述组件依赖关系库、所述安全漏洞库和所述许可证信息库通过预设的软件物料清单创建模型进行构建,得到软件物料清单库,所述软件物料清单库与不同的组件唯一标识关联,包括:

6.根据权利要求1所述的软件物料清单库的构建方法,其特征在于,对所述开源组件库、所述组件依赖关系库、所述安全漏洞库和所述许可证信息库通过预设的软件物料清单创建模型进行构建,得到软件物料清单库之后,还包括:

7.根据权利要求6所述的软件物料清单库的构建方法,其特征在于,对所述软件开发生命周期检测数据库进行不同阶段的检测,得到软件开发生命周期的检测结果数据集,所述软件开发生命周期包括软件设计与开发阶段、软件测试阶段以及软件部署与维护阶段,其中在软件设计与开发阶段的检测包括:

8.一种软件物料清单库的构建装置,其特征在于,使用了权利要求1至7任意一项所述的软件物料清单库的构建方法,包括:

9.一种软件物料清单库的构建设备,其特征在于,包括:

10.一种可读介质,其特征在于,所述可读介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至7任一项所述软件物料清单库的构建方法步骤。


技术总结
本发明提供了一种软件物料清单库的构建方法、装置、设备及可读介质,涉及计算机领域,本方法包括:获取开源组件中的源代码、组件信息、安全漏洞信息和许可证信息;对源代码和组件信息进行特征提取,得到开源组件库;对组件信息进行组件依赖关系提取,得到组件依赖关系库;对安全漏洞信息进行漏洞内容提取,得到安全漏洞库;对许可证信息进行许可证内容提取,得到许可证信息库;对开源组件库、组件依赖关系库、安全漏洞库和许可证信息库通过预设的软件物料清单创建模型进行构建,得到软件物料清单库。本方法利用软件物料清单库能够清楚描述各个开发阶段的开发代码程序中的软件成分,实现整个软件生命周期中的软件物料清单的统一存储和管理。

技术研发人员:张明,郭兴科,贾巧娟,彭轼,刘明,田晓芸,靳晓雨,马大伟,卢卫涛,杜嘉祥,李志伟
受保护的技术使用者:国网电商科技有限公司
技术研发日:
技术公布日:2024/1/15
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1