百度360必应搜狗淘宝本站头条
当前位置:网站首页 > IT知识 > 正文

sbom-tool:一款高度可扩展且适合企业使用的SBOM工具

liuian 2024-12-26 15:05 30 浏览

SBOM 工具是一款高度可扩展且适合企业使用的工具,可为任何类型的工件创建 SPDX 2.2 兼容的 SBOM。该工具使用组件检测库来检测组件,并使用ClearlyDefined API 来填充这些组件的许可证信息。

下载与安装

适用于 Windows、Linux、macOS 的可执行文件

我们在GitHub Releases页面中分发该工具的可执行文件和 SBOM 文件。您可以手动下载二进制文件或使用下面的命令来获取适合您平台的最新版本的工具。

请查看CLI 参考文档以获取有关 CLI 工具的其他帮助。

包管理器

WinGet

winget install Microsoft.SbomTool

自制

笔记
此公式需要x86_64架构,目前不支持 ARM。有关详细信息,请参阅#223。

brew install sbom-tool

说明书下载

Windows(PowerShell)

Invoke-WebRequest -Uri "https://github.com/microsoft/sbom-tool/releases/latest/download/sbom-tool-win-x64.exe" -OutFile "sbom-tool.exe"

Linux(卷曲)

curl -Lo sbom-tool https://github.com/microsoft/sbom-tool/releases/latest/download/sbom-tool-linux-x64
chmod +x sbom-tool

macOS(卷曲)

curl -Lo sbom-tool https://github.com/microsoft/sbom-tool/releases/latest/download/sbom-tool-osx-x64
chmod +x sbom-tool

将 SBOM 工具构建为 docker 镜像

克隆此存储库并构建 docker 映像。

git clone https://github.com/microsoft/sbom-tool
cd sbom-tool
docker build . -t ms_sbom_tool

然后,您可以通过使用 docker 绑定挂载挂载要扫描的目录来正常使用该工具。

SBOM .NET 工具

sbom-tool 还可以使用以下命令作为 .NET 工具安装:

dotnet tool install --global Microsoft.Sbom.DotNetTool

SBOM API NuGet 包

请将 Microsoft GitHub NuGet 包注册表添加到您的 nuget.config 并进行身份验证。然后Microsoft.Sbom.Api使用这些说明将包安装到您的项目中

请查看API 参考文档以获取有关 SBOM 工具 C# Api 的其他帮助。

运行该工具

SBOM生成

为操作系统安装命令行工具后,请使用以下命令运行该工具:

sbom-tool generate -b <drop path> -bc <build components path> -pn <package name> -pv <package version> -ps <package supplier> -nsb <namespace uri base>

放置路径是所有要发送的文件所在的文件夹。所有这些文件都将被散列并添加到 SBOM 的文件部分。构建组件路径通常是您的源文件夹,工具将扫描此文件夹以搜索 *.csproj 或 package.json 等项目文件,以查看使用哪些组件来构建包。该工具使用组件检测来扫描组件和依赖项,访问其 Github 页面以获取有关支持组件的更多信息。包名称和版本代表 SBOM 正在描述的包。

每个 SBOM 都有一个唯一的命名空间,用于唯一标识 SBOM,我们为 SBOM 内的命名空间字段生成一个唯一标识符,但是我们需要一个对整个组织通用的基本 URI。例如,-nsb参数的示例值可以是https://companyName.com/teamName,那么生成器将创建类似于 的命名空间https://companyName.com/teamName/<packageName>/<packageVersion>/<new-guid>。在此处阅读有关文档命名空间字段的更多信息。

可以在此处找到该工具的可用 CLI 参数的更详细列表

将 SBOM 工具集成到您的 CI/CD 管道中。

您可以按照这些指南将 SBOM 工具集成到 CI/CD 管道中

  • 设置 GitHub Actions 以使用 SBOM 工具。
  • 设置 Azure DevOps Pipelines 以使用 SBOM 工具。

遥测

默认情况下,遥测数据将输出到您的输出文件路径,并且将是一个 JSON blob。没有数据提交给 Microsoft。

相关

项目地址:

https://github.com/microsoft/sbom-tool

相关推荐

10种常见的MySQL错误,你可中招?

【51CTO.com快译】如果未能对MySQL8进行恰当的配置,您非但可能遇到无法顺利访问、或调用MySQL的窘境,而且还可能给真实的应用生产环境带来巨大的影响。本文列举了十种MySQL...

MySQL主从如何保证数据一致性

MySQL主从(主备)搭建请点击基于Spring的数据库读写分离。MySQL主备基本原理假设主备切换前,我们的主库是节点A,节点B是节点A的备库,客户端的读写都是直接访问节点A,节点B只是将A的更新同...

MySQL低版本升级操作流程

(关注“数据库架构师”公众号,提升数据库技能,助力职业发展)0-升级背景MySQL5.5发布于2010年,至今已有十年历史,官方已经停止更新。2008年发布的MySQL5.1版本,在2018年...

MySQL数据库知识

MySQL是一种关系型数据库管理系统;那废话不多说,直接上自己以前学习整理文档:查看数据库命令:(1).查看存储过程状态:showprocedurestatus;(2).显示系统变量:show...

Mysql 8.4数据库安装、新建用户和数据库、表单

1、下载MySQL数据库yuminstall-ywgetperlnet-toolslibtirpc#安装wget和perl、net-tools、libtirpcwgethtt...

mysql8.0新功能介绍

MySQL8.0新特性集锦一、默认字符集由latin1变为utf8mb4在8.0版本之前,默认字符集为latin1,utf8指向的是utf8mb3,8.0版本默认字符集为utf8mb4,utf8默...

全网最详细解决Windows下Mysql数据库安装后忘记初始root 密码方法

一、准备重置root的初始化密码Win+R键启动命令输入窗口;输入cmd打开命令执行窗口;##界面如下##输入命令:netstopmysqld#此操作会停止当前运行的...

互联网大厂面试:MySQL使用grant授权后必须flush privilege吗

从我上大学时,数据库概论老师就告诉我,MySQL使用grant对用户授权之后,一定记得要用flushprivilege命令刷新缓存,这样才能使赋权命令生效。毕业工作以后,在很多的技术文档上,仍然可以...

# mysql 8.0 版本无法使用 sqlyog 等图形界面 登录 的解决方法

30万以下的理想L6来了##mysql8.0版本无法使用sqlyog等图形界面登录的解决方法当我们在cmd下登录mysql时正常时,用sqlyog等图形界面连接数据库时却...

MySQL触发器介绍

前言:在学习MySQL的过程中,可能你了解过触发器的概念,不清楚各位是否有详细的去学习过触发器,最近看了几篇关于触发器的文档,分享下MySQL触发器相关知识。1.触发器简介触发器即trigg...

管理员常用的MySQL命令汇总(一)

以下是管理员常用的MySQL命令:以管理员身份连接到MySQL:mysql-uroot-p创建新的MySQL用户:CREATEUSER'username'@'...

Linux(CentOS) 在线安装MySQL8.0和其他版本,修改root密码

一:安装MySQL数据库1),下载并安装MySQL官方的YumRepositorymysql官方仓库地址:https://dev.mysql.com/downloads/repo/yum/选择自...

解决 MySQL 8.0 一直拒绝 root 登录问题

Accessdeniedforuser'root'@'localhost'(usingpassword:YES)这个错误在网上搜一下,能看到非常多的此类...

大模型MCP之MYSQL安装

前言学习大模型的时候需要一个mysql,原因还是在公司使用电脑的时候不允许按照Docker-Desktop,我的宿主机其实是MAC,我习惯上还是在centsos上面安装,就发现这件过去很简单的事情居然...

MySQL ERROR 1396

ERROR1396(HY000):OperationCREATEUSERfailedfor'usera'@'%'问题描述mysql>create...