#sbom #download #command-line #data #discover #validation #metadata

app sbom-cli

SBOM 数据的命令行工具

42 个版本

0.8.11 2024年7月29日
0.8.3 2024年6月24日
0.6.0-alpha.82024年2月23日
0.5.4 2023年10月27日

#668命令行工具

Download history 88/week @ 2024-04-15 471/week @ 2024-04-22 162/week @ 2024-04-29 580/week @ 2024-05-13 122/week @ 2024-05-20 12/week @ 2024-05-27 128/week @ 2024-06-03 2/week @ 2024-06-10 247/week @ 2024-06-17 156/week @ 2024-06-24 126/week @ 2024-07-01 309/week @ 2024-07-08 318/week @ 2024-07-15 30/week @ 2024-07-22 155/week @ 2024-07-29

816 每月下载量

Apache-2.0LGPL-2.0-or-later

215KB
5K SLoC

sbom

一个用于从命令行处理 SBOM 数据的工具。

此工具也可以作为库使用: https://crates.io/crates/csaf-walker

使用方法

Commands:
  parse     Parse advisories
  download  Like sync, but doesn't validate
  scan      Scan advisories
  discover  Discover advisories, just lists the URLs
  sync      Sync only what changed, and alidate
  report    Analyze (and report) the state of the data
  send      Walk a source and send validated/retrieved documents to a sink
  metadata  Discover provider metadata
  help      Print this message or the help of the given subcommand(s)

解析

解析 CSAF 文档,或尝试失败。

发现

发现一系列 URL,指向远程服务器上的 CSAF 文档。这将执行元数据的查找,并按行输出发现的文档的 URL。

示例

cargo run -- discover https://redhat.com

下载

发现并下载 CSAF 文档。

同步

发现、下载和验证 CSAF 文档。

这类似于 download 命令,但还会执行一些完整性验证(如摘要、签名)。但是,它不会验证文档的内容。

报告

发现、验证和验证 CSAF 文档。

这会发现并临时下载 CSAF 文档,执行内容验证和验证。

注意: 此命令最适合已下载的数据(运行 downloadreport 的组合)。

发送

发现、下载、验证并将 CSAF 文档发送到远程端点。

而不是将内容本地存储,它会将内容转发到远程端点。

元数据

从源尝试发现提供者元数据。显示生成的 JSON。

常见选项

来源

CSAF 工具可以从中发现和检索 CSAF 文档的两个服务:HTTP 和文件系统。此外,在下载 CSAF 文档时,该工具将内容写入文件系统,以便稍后用作文件系统源。

背后的想法是,可以将下载和处理文档的过程分开。

如果源字符串可以被解析为 https URL,则它必须指向提供者元数据。如果源字符串是 file URL,则需要指向由 syncdownload 创建的本地文件系统位置。否则,源必须是一个域名,将根据规范用于发现 CSAF 提供者元数据。

注意:当前不将文件系统存储结构视为 API。只能保证存储的内容可以通过同一版本的工具读取。此外,目前它不是一个可以直接作为新的 CSAF 仓库托管格式的格式。

签名验证

当进行签名验证时,签名算法可能会被认为是“太旧”。如果是这种情况,并且您仍然希望允许它们,则可以提供“策略日期”,该日期设置了默认的允许内容(也参见:https://docs.rs/sequoia-policy-config/latest/sequoia_policy_config/)。

具体来说,当遇到 GPG v3 签名时,也可以使用 -3 开关。

依赖项

~49–68MB
~1M SLoC