[发明专利]一种软件物料清单的生成方法、装置和计算机可读介质有效
申请号: | 202310727942.9 | 申请日: | 2023-06-19 |
公开(公告)号: | CN116483435B | 公开(公告)日: | 2023-09-01 |
发明(设计)人: | 贾巧娟;郭兴科;刘明;彭轼;田晓芸;靳晓雨;马大伟;卢卫涛;杜嘉祥;李志伟 | 申请(专利权)人: | 国网数字科技控股有限公司;国网电商科技有限公司 |
主分类号: | G06F8/74 | 分类号: | G06F8/74;G06F8/71 |
代理公司: | 北京集佳知识产权代理有限公司 11227 | 代理人: | 王洋 |
地址: | 100032 北京市西*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 软件 物料 清单 生成 方法 装置 计算机 可读 介质 | ||
1.一种软件物料清单的生成方法,其特征在于,包括:
获取目标软件对象的源代码和配置文件;
层级扫描所述源代码,确定所述目标软件对象的第一有效信息;
依据所述第一有效信息在组件信息库中进行组件匹配,所述组件信息库中至少包括第二有效信息和第一二进制组件文件对应的特征向量;
提取成功匹配到的所述第二有效信息作为第一依赖信息;
将所述源代码进行编译处理得到第二二进制组件文件,依据所述第二二进制组件文件与所述第一二进制组件文件进行同源分析,得到满足预设层级标准的第二依赖信息;
从所述配置文件中提取得到第三依赖信息,所述第三依赖信息为所述目标软件对象对应的更新补充信息;
依据所述第一依赖信息、所述第二依赖信息、所述第三依赖信息生成第四依赖信息,并根据所述第四依赖信息生成软件物料清单;
其中,在依据所述第一有效信息在组件信息库中进行组件匹配之前,还包括:
采集开源组件的源代码、第三二进制组件文件;
从所述源代码中提取得到所述第二有效信息;
将所述源代码进行编译后得到第四二进制组件文件,所述第一二进制组件文件包括所述第三二进制组件文件和所述第四二进制组件文件;
从所述第一二进制组件文件中提取得到特征向量;
依据所述源代码的所述第二有效信息以及所述第一二进制组件文件的特征向量生成所述组件信息库;
其中,所述层级扫描所述源代码,确定所述目标软件对象的第一有效信息,包括:
层级扫描所述源代码得到所述目标软件对象的特征文件;
解析所述特征文件得到所述第一有效信息,所述第一有效信息至少包括组件信息、许可证信息、文件信息;
其中,所述满足预设层级标准的第二依赖信息为与所述第二二进制组件文件对应的相同版本的组件的所述第二有效信息,所述相同版本的组件对应的第二有效信息至少包括组件版本和组件多层依赖关系。
2.根据权利要求1所述的方法,其特征在于,还包括:
在满足所述目标软件对象更新条件的情况下,循环上述步骤生成新的软件物料清单。
3.根据权利要求2所述的方法,其特征在于,所述目标软件对象的更新条件为所述目标软件对象的源代码发生变化、所述目标软件对象进行编译构建。
4.根据权利要求1所述的方法,其特征在于,所述依据所述第二二进制组件文件与所述第一二进制组件文件进行同源分析,得到满足预设层级标准的第二依赖信息,包括:
将所述第二二进制组件文件进行反编译,提取所述第二二进制组件文件对应的第二图数据特征;
通过图神经网络对所述第二图数据特征进行聚合,得到第二图嵌入表示向量;
依据第一图嵌入表示向量和所述第二图嵌入表示向量计算得到所述第一二进制组件文件对应组件和所述第二二进制组件文件对应组件之间的相似度,所述第一图嵌入表示向量为所述组件信息库中的所述第一二进制组件文件对应的特征向量;
依据预设的相似阈值判断所述第一二进制组件文件对应组件和所述第二二进制组件文件对应组件是否为同源组件;
提取判断为同源组件的所述第一二进制组件文件对应组件的组件信息作为满足预设层级标准的第二依赖信息。
5.根据权利要求1所述的方法,其特征在于,还包括:
依据所述软件物料清单进行风险问题分析,得到所述目标软件对象的追溯定位结果,所述风险问题分析至少包括漏洞风险分析、许可证风险分析。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于国网数字科技控股有限公司;国网电商科技有限公司,未经国网数字科技控股有限公司;国网电商科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202310727942.9/1.html,转载请声明来源钻瓜专利网。