Skip to main content

Python 模块的 SBOM 生成器

项目描述

SBOM4Python

SBOM4Python 是一个免费的开源工具,可为已安装的 Python 模块生成 SBOM(软件材料清单),格式包括 SPDXCycloneDX。它识别所有明确定义(通常通过 requirements.txt 文件)或隐式定义为隐藏依赖项的依赖组件。

它旨在用作持续集成系统的一部分,以维护 SBOM 的准确记录,并支持后续审计需求以确定是否使用了特定组件(和版本)。

安装

要安装使用以下命令:

pip install sbom4python

或者,只需克隆 repo 并使用以下命令安装依赖项:

pip install -U -r requirements.txt

该工具需要 Python 3 (3.7+)。建议使用虚拟 python 环境,尤其是在使用不同版本的 python 时。virtualenv是一个用于设置虚拟 Python 环境的工具,它允许您在单个环境中设置该工具的所有依赖项,或者设置不同的环境以使用不同版本的 Python 进行测试。

用法

usage: sbom4python [-h] [-m MODULE] [--exclude-license] [-d]
                   [--sbom {spdx,cyclonedx}] [--format {tag,json}]
                   [-o OUTPUT_FILE] [-g GRAPH] [-V]
optional arguments:
  -h, --help            show this help message and exit
  -V, --version         show program's version number and exit

Input:
  -m MODULE, --module MODULE
                        identity of python module
  --exclude-license     suppress detecting the license of components

Output:
  -d, --debug           add debug information
  --sbom {spdx,cyclonedx}
                        specify type of software bill of materials (sbom) to
                        generate (default: spdx)
  --format {tag,json,xml}
                        specify format of software bill of materials (sbom) (default: tag)
  -o OUTPUT_FILE, --output-file OUTPUT_FILE
                        output filename (default: output to stdout)
  -g GRAPH, --graph GRAPH
                        filename for dependency graph

手术

--module选项用于标识 Python 模块。

--sbom选项用于指定生成的 SBOM 的格式(默认为 SPDX)。该--format选项可用于指定 SBOM 的格式(默认为 SPDX SBOM 的标记值格式)。SPDX 和 CycloneDX SBOM 均支持 JSON 格式),CycloneDX SBOM 支持 XML 格式。

--output-file选项用于控制工具生成的输出的目的地。默认是向控制台报告,但可以存储在文件中(使用--output-file选项指定)。

该工具尝试确定每个模块的许可证。这可以使用--exclude-license选项来抑制,在这种情况下,所有许可证都报告为“NOASSERTION”。

--graph选项用于生成 SBOM 中组件的依赖关系图。图形文件的格式与GraphViz应用程序使用 的DOT 语言兼容。

执照

根据 Apache 2.0 许可证获得许可。

限制

该工具旨在支持软件开发和安全审计功能。然而,该工具的实用性取决于提供给该工具的 SBOM 数据。不幸的是,该工具无法确定此类 SBOM 文件的有效性或完整性;因此,提醒该工具的用户,他们应该断言提供给该工具的任何数据的质量。

反馈和贡献

可以通过 GitHub 问题提出错误和功能请求。

项目详情


下载文件

下载适用于您平台的文件。如果您不确定要选择哪个,请了解有关安装包的更多信息。

内置分布

sbom4python-0.2.0-py2.py3-none-any.whl (42.7 kB 查看哈希

已上传 py2 py3