【技术实现步骤摘要】
软件成分分析方法、装置、终端设备以及存储介质
[0001]本申请涉及软件
,尤其涉及一种软件成分分析方法、装置、终端设备以及存储介质。
技术介绍
[0002]现代软件开发,开源组件的使用越来越多,绝大多数的软件开发中都或多或少地使用了各类开源的软件组件,各种便利的开源组件给开发人员带来了极大的便利。然而任何的便利,都会带来风险的一面,开源组件的广泛普及和使用带来的风险不容忽视:如开源组件的运维和管理风险、漏洞和数据安全风险、合规和知识产权风险等。针对此情况,当前市场上已经有很多软件成分分析工具(SCA工具)应运而生,通过软件成分分析技术可以分析项目应用中所含的第三方开源成分及其漏洞和许可的风险情况。
[0003]目前软件成分分析技术在源码分析方面上主要分为针对有包管理器和无包管理器两种,其中针对有包管理器的解析,目前一般使用命令解析或者直接解析配置文件来分析组件成分。这两种方法的效果有限,如果采用命令解析的方式分析组件成分,在解析时需要下载大量数据到本地库中,因此需要依赖于网络环境,并且解析速度慢,而如果采用解 ...
【技术保护点】
【技术特征摘要】
1.一种软件成分分析方法,其特征在于,所述软件成分分析方法包括:接收待检项目;基于预先缓存的本地库,执行包管理器的命令对所述待检项目进行第一命令解析;若所述第一命令解析失败,则解析所述待检项目的配置文件,确定所述待检项目的组件成分。2.根据权利要求1所述的软件成分分析方法,其特征在于,所述基于预先缓存的本地库,对所述待检项目进行第一命令解析的步骤之前还包括:确定第一命令解析所需的组件依赖数据;基于所述组件依赖数据构建预先缓存的本地库。3.根据权利要求2所述的软件成分分析方法,其特征在于,所述基于所述组件依赖数据构建预缓存本地库的步骤包括:从中央仓库中采集组件数据,生成开源组件版本知识库;基于所述开源组件版本知识库中的组件数据,筛选出符合要求的重要类型组件;从包管理器对应的镜像网站上下载所述重要类型组件的依赖数据到本地库中。4.根据权利要求3所述的软件成分分析方法,其特征在于,所述基于预缓存的本地库,执行包管理器的命令对所述待检项目进行第一命令解析的步骤之后还包括:若第一命令解析失败,则修改包管理器的解析逻辑;基于所述解析逻辑,结合内网本地镜像库,执行所述包管理器命令对待检项目进行第二命令解析,所述内网本地镜像库预先部署在中央库与本地库之间;所述若所述第一命令解析失败,则解析所述待检项目的配置文件,确定所述待检项目的组件成分的步骤包括:若所述第二命令解析失败,则解析所述待检项目的配置文件,确定所述待检项目的组件成分。5.根据权利要求4所述的软件成分分析方法,其特征在于,所述基于所述解析逻辑,结合内网本地镜像库,执行所述包管理器命令对待检项目进行第二命令解析的步...
【专利技术属性】
技术研发人员:汪杰,万振华,王颉,李华,董燕,
申请(专利权)人:深圳开源互联网安全技术有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。