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

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

SBOM工具能解决哪些问题?

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

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

SBOM工具有哪些特性?

  1. 帮开发者全面掌握软件的依赖情况

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

  1. 详尽的源代码指纹信息
  • SBOM-TOOL通过采集源代码的仓库地址和版本信息,为开发者提供了项目的完整源代码信息,这有助于理解软件的构成和历史变更。
  • SBOM-TOOL支持代码指纹的生成,通过使用simhash算法,能够为代码生成唯一标识,确保代码的溯源和完整性。这使得开发者们能够更加准确地追踪代码的来源和变更,从而提高软件供应链的可信度。
  1. 深入的构建环境与依赖分析

SBOM-TOOL支持采集工程构建依赖环境信息,包括操作系统、内核、编译器、构建工具等,为项目提供全面的构建环境描述信息。这使得开发者们能够更好地了解项目在不同环境下的依赖情况,进而更快解决问题

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

安装SBOM-TOOL非常便捷。您可以选择源码安装,通过下载源码并编译的方式进行安装。另外,SBOM-TOOL还提供了二进制安装方式,您可以直接下载对应操作系统架构的二进制文件进行安装。

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

bash 复制代码
sbom-tool generate -m 4 -p ${project_path} -s ${src_path} -d ${dist_path} -o sbom.sp

技术交流可以扫一扫

相关推荐
IT_陈寒2 小时前
Python开发者必知的5大性能陷阱:90%的人都踩过的坑!
前端·人工智能·后端
流浪克拉玛依3 小时前
Go Web 服务限流器实战:从原理到压测验证 --使用 Gin 框架 + Uber Ratelimit / 官方限流器,并通过 Vegeta 进行性能剖析
后端
孟沐3 小时前
保姆级教程:手写三层架构 vs MyBatis-Plus
后端
星浩AI3 小时前
让模型自己写 Skills——从素材到自动生成工作流
人工智能·后端·agent
华仔啊5 小时前
为啥不用 MP 的 saveOrUpdateBatch?MySQL 一条 SQL 批量增改才是最优解
java·后端
武子康6 小时前
大数据-242 离线数仓 - DataX 实战:MySQL 全量/增量导入 HDFS + Hive 分区(离线数仓 ODS
大数据·后端·apache hive
砍材农夫6 小时前
TCP和UDP区别
后端
千寻girling7 小时前
一份不可多得的 《 Django 》 零基础入门教程
后端·python·面试
千寻girling7 小时前
Python 是用来做 AI 人工智能 的 , 不适合开发 Web 网站 | 《Web框架》
人工智能·后端·算法
贾铭7 小时前
如何实现一个网页版的剪映(三)使用fabric.js绘制时间轴
前端·后端