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相结合,为跨现实项目的可扩展自动化分析奠定了基础。