VDGraph:基于图论的SBOM与SCA数据洞察挖掘技术

本文提出VDGraph方法,通过图论技术整合软件物料清单(SBOM)和软件成分分析(SCA)数据,构建依赖与漏洞关系图谱。研究使用CycloneDX和OSV-Scanner工具对21个Java项目进行分析,发现高危漏洞主要存在于三级及以上依赖层级,揭示了漏洞在复杂传递依赖中的传播模式。

VDGraph:基于图论的方法解锁SBOM和SCA数据洞察

现代软件供应链的高度复杂性需要诸如软件物料清单(SBOM)等工具来管理组件依赖关系,以及软件成分分析(SCA)工具来识别漏洞。虽然SBOM和SCA工具之间存在有限的集成,但对复杂依赖-漏洞关系的统一视图仍然难以实现。

本文介绍了VDGraph,一种基于知识图谱的新方法,将漏洞和依赖数据整合为整体视图。VDGraph将SBOM和SCA输出整合为软件项目依赖和漏洞的图表示。我们提供了VDGraph理论特性的形式化描述和分析,并提出了管理SBOM和SCA数据之间可能冲突的解决方案。

我们进一步介绍并评估了VDGraph的概念验证实现,使用了两种流行的SBOM和SCA工具,即CycloneDX Maven插件和Google的OSV-Scanner。我们将VDGraph应用于21个流行的Java项目。通过在图结构上制定适当的查询,我们发现了集中风险点(即通过众多依赖路径可达的高严重性漏洞组件)的存在。

我们进一步表明,漏洞主要出现在三个依赖层级或更深的深度,表明直接或次级依赖表现出较低的漏洞密度且往往更安全。因此,VDGraph贡献了一种图论方法,提高了对漏洞如何通过复杂的传递依赖传播的可见性。

此外,我们的实现将开放的SBOM和SCA标准与Neo4j相结合,为跨现实项目的可扩展自动化分析奠定了基础。

comments powered by Disqus
使用 Hugo 构建
主题 StackJimmy 设计