[发明专利]软件成分分析方法、装置、终端设备以及存储介质在审
申请号: | 202211090715.1 | 申请日: | 2022-09-07 |
公开(公告)号: | CN115729555A | 公开(公告)日: | 2023-03-03 |
发明(设计)人: | 汪杰;万振华;王颉;李华;董燕 | 申请(专利权)人: | 深圳开源互联网安全技术有限公司 |
主分类号: | G06F8/41 | 分类号: | G06F8/41 |
代理公司: | 深圳市恒程创新知识产权代理有限公司 44542 | 代理人: | 李晶 |
地址: | 518000 广东省深圳市龙华区民治*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 软件 成分 分析 方法 装置 终端设备 以及 存储 介质 | ||
本发明公开了一种软件成分分析方法、装置、终端设备以及存储介质,其软件成分分析方法包括:通过接收待检项目;基于预先缓存的本地库,执行包管理器的命令对所述待检项目进行第一命令解析;若所述第一命令解析失败,则解析所述待检项目的配置文件,确定所述待检项目的组件成分。本发明解决了软件成分分析解析速度慢,解析准确度低的问题。
技术领域
本申请涉及软件技术领域,尤其涉及一种软件成分分析方法、装置、终端设备以及存储介质。
背景技术
现代软件开发,开源组件的使用越来越多,绝大多数的软件开发中都或多或少地使用了各类开源的软件组件,各种便利的开源组件给开发人员带来了极大的便利。然而任何的便利,都会带来风险的一面,开源组件的广泛普及和使用带来的风险不容忽视:如开源组件的运维和管理风险、漏洞和数据安全风险、合规和知识产权风险等。针对此情况,当前市场上已经有很多软件成分分析工具(SCA工具)应运而生,通过软件成分分析技术可以分析项目应用中所含的第三方开源成分及其漏洞和许可的风险情况。
目前软件成分分析技术在源码分析方面上主要分为针对有包管理器和无包管理器两种,其中针对有包管理器的解析,目前一般使用命令解析或者直接解析配置文件来分析组件成分。这两种方法的效果有限,如果采用命令解析的方式分析组件成分,在解析时需要下载大量数据到本地库中,因此需要依赖于网络环境,并且解析速度慢,而如果采用解析配置文件的方式分析组件成分,在解析时需要读取预先缓存的依赖信息,如果预先缓存的依赖信息不准确可能导致解析结果的不准确,解析准确度也低于命令解析的准确度。
因此,亟需解决软件成分分析速度慢,解析精度低的问题。
发明内容
本申请的主要目的在于提供一种软件成分分析方法、装置、终端设备以及存储介质,旨在解决软件成分分析速度慢、解析准确度低的问题,提升软件成分分析的解析速度和解析准确度。
为实现上述目的,本申请提供一种软件成分分析方法,所述软件成分分析方法包括:
接收待检项目;
基于预先缓存的本地库,执行包管理器的命令对所述待检项目进行第一命令解析;
若所述第一命令解析失败,则解析所述待检项目的配置文件,确定所述待检项目的组件成分。
可选地,所述基于预先缓存的本地库,对所述待检项目进行第一命令解析的步骤之前还包括:
确定第一命令解析所需的组件依赖数据;
基于所述组件依赖数据构建预先缓存的本地库。
可选地,所述基于所述组件依赖数据构建预缓存本地库的步骤包括:
从中央仓库中采集组件数据,生成开源组件版本知识库;
基于所述开源组件版本知识库中的组件数据,筛选出符合要求的重要类型组件;
从包管理器对应的镜像网站上下载所述重要类型组件的依赖数据到本地库中。
可选地,所述基于预缓存的本地库,执行包管理器的命令对所述待检项目进行第一命令解析的步骤之后还包括:
若第一命令解析失败,则修改包管理器的解析逻辑;
基于所述解析逻辑,结合内网本地镜像库,执行所述包管理器命令对待检项目进行第二命令解析,所述内网本地镜像库预先部署在中央库与本地库之间;
所述若所述第一命令解析失败,则解析所述待检项目的配置文件,确定所述待检项目的组件成分的步骤包括:
若所述第二命令解析失败,则解析所述待检项目的配置文件,确定所述待检项目的组件成分。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于深圳开源互联网安全技术有限公司,未经深圳开源互联网安全技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202211090715.1/2.html,转载请声明来源钻瓜专利网。