Microsoft SBOM工具CLI使用完全指南

Microsoft SBOM工具CLI使用完全指南

【免费下载链接】sbom-tool The SBOM tool is a highly scalable and enterprise ready tool to create SPDX 2.2 compatible SBOMs for any variety of artifacts. 【免费下载链接】sbom-tool 项目地址: https://gitcode.com/gh_mirrors/sb/sbom-tool

什么是SBOM工具

SBOM(Software Bill of Materials,软件物料清单)工具是一款由微软开发的开源命令行工具,用于自动生成和验证符合SPDX 2.2/3.0标准的软件物料清单。该工具能够扫描项目文件和依赖项,生成详细的软件组件清单,帮助开发者和企业更好地管理软件供应链安全。

工具安装

SBOM工具提供跨平台支持,可根据不同操作系统下载对应的可执行文件:

操作系统可执行文件名生成的SBOM文件名
Windowssbom-tool-win-x64.exewin-x64-manifest.spdx.json
Linuxsbom-tool-linux-x64linux-x64-manifest.spdx.json
MacOSsbom-tool-osx-x64osx-x64-manifest.spdx.json

下载后无需安装,直接运行即可使用。

基础使用场景

生成SBOM文件

假设我们有一个.NET项目,项目源代码位于c:\Users\test\TestProject,构建输出在c:\outputDrop目录。

  1. 首先构建项目:
dotnet build --output c:\outputDrop
  1. 生成SBOM:
./sbom-tool-win-x64.exe generate \
  -b c:\outputDrop \                # 构建输出目录
  -bc c:\Users\test\TestProject \   # 项目源代码目录
  -pn TestProject \                # 项目名称
  -pv 1.0.0 \                      # 项目版本
  -ps MyCompany \                  # 项目供应商
  -nsb http://mycompany.com        # 命名空间基础URI

执行成功后,SBOM文件将默认生成在c:\outputDrop\_manifest\spdx_2.2\manifest.spdx.json路径。

参数说明

  • -b (BuildDropPath):必需参数,指定构建输出目录
  • -bc (BuildComponentPath):必需参数,指定项目源代码目录
  • -pn (PackageName):必需参数,指定项目名称
  • -pv (PackageVersion):必需参数,指定项目版本
  • -ps (PackageSupplier):必需参数,指定项目供应商
  • -nsb (NamespaceUriBase):必需参数,指定命名空间基础URI

高级使用技巧

自定义SBOM输出位置

默认情况下,SBOM文件会生成在构建输出目录的_manifest子目录下。如需指定其他位置:

./sbom-tool-win-x64.exe generate ... -m c:\sboms

SBOM将生成在c:\sboms\_manifest\spdx_2.2\manifest.spdx.json

启用详细日志

添加-V Verbose参数可获取详细日志输出:

./sbom-tool-win-x64.exe generate ... -V Verbose

扫描Docker镜像依赖

SBOM工具支持扫描Docker镜像中的依赖项:

./sbom-tool-win-x64.exe generate ... -di testImage:0.0.1

支持同时扫描多个镜像:

./sbom-tool-win-x64.exe generate ... -di testImage:0.0.1,ubuntu:1.9

排除特定目录扫描

使用-cd参数可以排除特定目录不被扫描:

./sbom-tool-win-x64.exe generate ... -cd "--DirectoryExclusionList **/bin/**"

支持多个排除规则:

./sbom-tool-win-x64.exe generate ... -cd "--DirectoryExclusionList **/bin/** --DirectoryExclusionList **/obj/**"

记录执行日志

将执行日志输出到指定文件:

./sbom-tool-win-x64.exe generate ... -t c:\telemetry

SBOM文件验证

生成SBOM后,可使用工具进行验证:

./sbom-tool-win-x64.exe validate \
  -b c:\outputDrop \                # 构建输出目录
  -o c:\validationOutputPath\output.json \  # 验证结果输出路径
  -mi SPDX:2.2                     # 指定SPDX版本

支持SPDX 2.2和3.0两种格式验证。

自定义SBOM位置验证

如果SBOM不在默认位置:

./sbom-tool-win-x64.exe validate ... -m c:\sboms\_manifest

常见问题解决

权限问题

如果遇到写入权限错误,建议:

  1. 检查目标目录权限设置
  2. 尝试将输出目录改为外部存储设备
  3. 联系系统管理员获取帮助

典型错误信息:

## [error]Encountered an error while generating the manifest.
## [error]Error details: Could not find file `c:\outputDrop\_manifest\spdx_2.2\manifest.spdx.json`.

参数缺失

确保所有必需参数都已提供,特别是-nsb命名空间基础URI参数。如果未提供,工具会生成一个默认的符合SPDX规范的URI。

最佳实践建议

  1. 将SBOM生成作为构建流程的一部分
  2. 为每个版本生成唯一的SBOM文件
  3. 将SBOM文件与构建产物一起存储
  4. 定期验证SBOM文件的完整性和准确性
  5. 使用有意义的命名空间URI,便于追踪

通过遵循这些指南,您可以充分利用SBOM工具来增强软件供应链的可视性和安全性。

【免费下载链接】sbom-tool The SBOM tool is a highly scalable and enterprise ready tool to create SPDX 2.2 compatible SBOMs for any variety of artifacts. 【免费下载链接】sbom-tool 项目地址: https://gitcode.com/gh_mirrors/sb/sbom-tool

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值