主要观点:随着软件复杂度增加和监管标准严格,理解 Python 包的组件变得关键,当前 Python 包清单不包含非 Python 文件导致包内容描述不完整,新的 PEP 770 引入可选 SBOM 元数据字段以解决此问题,包括解决幻影依赖问题、强调 SBOM 的重要性、支持多种 SBOM 标准等。
关键信息:
- PEP 770 由 Seth Larson 发表,旨在使 Python 包更透明可测,符合全球标准,解决幻影依赖问题(非 Python 软件组件被遗漏)。
- SBOM 像软件包的详细成分列表,对检测依赖漏洞、确保合规等很重要,PEP 770 以不影响兼容性的方式添加 SBOM 支持到
pyproject.toml
文件。 - 支持多种 SBOM 标准,如 CycloneDX 和 SPDX,可让包兼容更多工具,目前 PEP 770 处于草案状态,仍在讨论中。
重要细节:
- Python 包清单不包含非 Python 文件导致包内容描述不全。
- PEP 770 新增可选
Sbom-File
元数据字段列出包中 SBOM 文档路径,包可包含零个或多个 SBOM,多种标准可共存。 - 如 Pillow 包包含 16 个共享对象库,常用 SCA 工具检测不到,若有 SBOM 可可靠识别。
- CycloneDX 和 SPDX 各有优势,PEP 770 允许包以任一种格式或两种格式包含 SBOM,目前仍在讨论是否选定单一标准。
- PEP 770 草案已收到反馈,部分人支持 Python 更具主见指定单一标准(倾向 CycloneDX),Larson 解释了不选定单一标准的原因。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。