【技术实现步骤摘要】
一种软件物料清单构建方法、装置、设备及介质
[0001]本专利技术涉及软件工程
,尤其涉及一种软件物料清单构建方法
、
装置
、
设备及介质
。
技术介绍
[0002]现代软件系统的结构和功能日趋复杂,软件开发越来越呈现出模块化的趋势,使得开发实践中外部组件的使用频率和应用范围不断提升
。
当前软件开发实践的趋势导致了现代软件系统涉及的供应链展现出错综复杂和动态变化的特点
。
而缺乏对这些系统的组成和功能的系统可见性,极大地增加了网络安全风险,同时也增加了开发
、
采购和维护的成本
。
软件物料清单
(Software Bill of Materials,SBOM)
是正式的
、
机器可读的软件组件和依赖项清单,其中包含有关这些组件的信息及其层次关系
。
软件物料清单在供应链安全和漏洞管理上发挥着积极的作用,并以此影响和激励改善整个软件生态系统健康的良好实践
。 ...
【技术保护点】
【技术特征摘要】
1.
一种软件物料清单构建方法,其特征在于,包括:根据抽象语法树,确定外部组件依赖项集;其中,所述抽象语法树基于对项目源代码解析后得到;根据所述外部组件依赖项集中外部组件依赖项信息,构建初始外部组件树;根据所述初始外部组件树中组件节点的节点权重,对所述初始外部组件树进行剪枝,得到目标外部组件树;根据所述目标外部组件树和包管理器配置文件,构建软件物料清单
。2.
根据权利要求1所述的方法,其特征在于,所述根据抽象语法树,确定外部组件依赖项集,包括:从所述抽象语法树中提取导入信息和调用信息;根据所述导入信息和所述调用信息,确定外部组件依赖项集
。3.
根据权利要求2所述的方法,其特征在于,所述根据所述导入信息和所述调用信息,确定外部组件依赖项集,包括:根据所述导入信息,确定项目依赖项集;根据所述调用信息,确定内部依赖项集和原生依赖项集;从所述项目依赖项集中去除所述内部依赖项集和所述原生依赖项集,得到外部组件依赖项集
。4.
根据权利要求1所述的方法,其特征在于,所述根据所述外部组件依赖项集中外部组件依赖项信息,构建初始外部组件树,包括:根据所述外部组件依赖项信息中组件名称信息,基于分隔符确定外部组件分支;根据所述外部组件分支,构建初始外部组件树
。5.
根据权利要求1所述的方法,其特征在于,所述根据所述外部组件依赖项集中外部组件依赖项信息,构建初始外部组件树之后,还包括:根据所述初始外部组件树,从所述抽象语法树中确定所述初始外部组件树中组件节点的节点权重
。6.
根据权利要求1所述的方法,其特征在于,所述根据所述外部组件依赖项集中外部组件依赖项信息,构建初始外部组件树之后,还包括:根据所述初始外部组件...
【专利技术属性】
技术研发人员:孔祥龙,卓航毅,张帆,杜加玉,郭威,黄炜,
申请(专利权)人:网络通信与安全紫金山实验室,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。