研发效能 京东为 openKylin 新增 SBOM 利器,保障软件供应链安全和可追溯性!

京东云开发者 · 2024年04月02日 · 1434 次阅读

京东作为 openKylin(开放麒麟)社区理事单位,在加入社区后,京东发起成立了 SBOM SIG 组。SBOM SIG 组负责推动和促进软件物料清单(SBOM)的发展和工具建设。近日,SBOM 工具已在 openKylin 社区完成开源,保障 openKylin 相关软件供应链安全和可追溯性。

SBOM 工具能解决哪些问题?
在当今软件供应链日益复杂的环境下,软件项目的管理和安全性成为了一个关键问题。为了帮助开发者们更好地管理和保证软件项目的安全性和可追溯性,本次向大家介绍一款功能强大的命令行工具——SBOM-TOOL(Software Bill of Materials Tool)。

SBOM-TOOL 是一款基于 Go 语言实现、无其他特殊依赖的开源项目,专门用于生成软件项目的物料清单(SBOM),并具备易扩展、易使用的特性。它通过多维度信息采集,为用户提供全面而准确的软件物料清单。

SBOM 工具有哪些特性?
帮开发者全面掌握软件的依赖情况
SBOM-TOOL 能够分析源代码、二进制制品,为项目提供完整的依赖信息,确保生成的物料清单尽可能详尽,支持多种语言和多种包管理器的依赖采集,可以准确获取工程构建的依赖组件信息。无论是使用 Java、Python、JavaScript 等语言,还是使用 Maven、NPM、pip 等包管理器,SBOM-TOOL 都能够轻松地采集依赖信息。

详尽的源代码指纹信息
SBOM-TOOL 通过采集源代码的仓库地址和版本信息,为开发者提供了项目的完整源代码信息,这有助于理解软件的构成和历史变更。
SBOM-TOOL 支持代码指纹的生成,通过使用 simhash 算法,能够为代码生成唯一标识,确保代码的溯源和完整性。这使得开发者们能够更加准确地追踪代码的来源和变更,从而提高软件供应链的可信度。
深入的构建环境与依赖分析
SBOM-TOOL 支持采集工程构建依赖环境信息,包括操作系统、内核、编译器、构建工具等,为项目提供全面的构建环境描述信息。这使得开发者们能够更好地了解项目在不同环境下的依赖情况,进而更快解决问题

强大的扩展能力
SBOM-TOOL 提供了强大的 SBOM 文档功能。它可以根据采集的 SBOM 片段组装完整的 SBOM 文档。同时,用户也可以通过命令行方式编辑 SBOM 文档内容,灵活地进行修改和定制。
支持规范格式转换,包括 XSPDX、SPDX 等规范,以及 JSON、TagValue 等格式,满足用户对不同格式的需求。
作为一个开源项目,SBOM-TOOL 允许社区贡献和定制,用户可以根据自己的需求对其进行扩展,支持更多的编程语言、包管理器、SBOM 文档规范,以适应特定的工作流程和环境。
友好的安装和使用体验
安装 SBOM-TOOL 非常便捷。您可以选择源码安装,通过下载源码并编译的方式进行安装。另外,SBOM-TOOL 还提供了二进制安装方式,您可以直接下载对应操作系统架构的二进制文件进行安装。

SBOM-TOOL 的使用也非常简单。通过一条命令,您就可以生成完整而准确的 SBOM 文档。以下是一个示例命令:

sbom-tool generate -m 4 -p ${project_path} -s ${src_path} -d ${dist_path} -o sbom.spdx.json -f spdx-json --ignore-dirs .git -n ${name} -v ${version} -u ${supplier} -b ${namespace}
欢迎加入
欢迎社区对 SBOM 工具感兴趣的开发者和爱好者加入 SBOM SIG 组,一起打造好用、易用的 SBOM-TOOL。 了解更多:https://developer.jdcloud.com/article/3719

技术交流,扫一扫

暂无回复。
需要 登录 后方可回复, 如果你还没有账号请点击这里 注册