42 个版本
0.8.11 | 2024年7月29日 |
---|---|
0.8.3 | 2024年6月24日 |
0.6.0-alpha.8 | 2024年2月23日 |
0.5.4 | 2023年10月27日 |
#668 在 命令行工具
816 每月下载量
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 文档,执行内容验证和验证。
注意: 此命令最适合已下载的数据(运行 download
和 report
的组合)。
发送
发现、下载、验证并将 CSAF 文档发送到远程端点。
而不是将内容本地存储,它会将内容转发到远程端点。
元数据
从源尝试发现提供者元数据。显示生成的 JSON。
常见选项
来源
CSAF 工具可以从中发现和检索 CSAF 文档的两个服务:HTTP 和文件系统。此外,在下载 CSAF 文档时,该工具将内容写入文件系统,以便稍后用作文件系统源。
背后的想法是,可以将下载和处理文档的过程分开。
如果源字符串可以被解析为 https
URL,则它必须指向提供者元数据。如果源字符串是 file
URL,则需要指向由 sync
或 download
创建的本地文件系统位置。否则,源必须是一个域名,将根据规范用于发现 CSAF 提供者元数据。
注意:当前不将文件系统存储结构视为 API。只能保证存储的内容可以通过同一版本的工具读取。此外,目前它不是一个可以直接作为新的 CSAF 仓库托管格式的格式。
签名验证
当进行签名验证时,签名算法可能会被认为是“太旧”。如果是这种情况,并且您仍然希望允许它们,则可以提供“策略日期”,该日期设置了默认的允许内容(也参见:https://docs.rs/sequoia-policy-config/latest/sequoia_policy_config/)。
具体来说,当遇到 GPG v3 签名时,也可以使用 -3
开关。
依赖项
~49–68MB
~1M SLoC