Xpertians/ossbomer-schema

GitHub: Xpertians/ossbomer-schema

一个用于验证SPDX和CycloneDX格式的SBOM文件是否符合标准Schema的Python库,确保软件物料清单在进行深度分析前格式正确。

Stars: 0 | Forks: 0

# ossbomer-schema 针对 SPDX 和 CycloneDX 的 SBOM Schema 验证。 ossbomer-schema 是一个 Python 库,用于根据 SPDX 和 CycloneDX schema 验证软件物料清单。它确保 SBOM 在进行进一步分析之前,已正确格式化为 JSON 和 XML 格式。 ## 功能特性 * 支持 SPDX 3.0、SPDX 2.3 以及 CycloneDX 1.3–1.6 * 同时验证 JSON 和 XML 格式 * 使用本地 schema(无远程依赖问题) * 以人类可读和 JSON 格式输出结果,便于 API 集成 ## 用法 您还可以将 ossbomer-schema 作为 Python 库使用: ``` from ossbomer_schema.validator import SBOMSchemaValidator validator = SBOMSchemaValidator() ``` ### 验证 SPDX JSON ``` result = validator.validate_spdx_json("test_sbom.spdx.json") print(result) # "Valid" or error message ``` ### 验证 CycloneDX XML ``` result = validator.validate_cyclonedx_xml("test_sbom.cdx.xml") print(result) # "Valid" or error message ``` 📂 SBOM Schema 支持 | SBOM 格式 | 版本 | JSON | XML | | ----------- | ------- | ---- | --- | | SPDX | 2.3 | ✅ | 🚫 (无官方 schema) | | SPDX | 3.0 | ✅ | 🚫 (无官方 schema) | | CycloneDX | 1.3 | ✅ | ✅ | | CycloneDX | 1.4 | ✅ | ✅ | | CycloneDX | 1.5 | ✅ | ✅ | | CycloneDX | 1.6 | ✅ | ✅ | 注:SPDX 3.0 没有官方的 XML schema,因此无法对该版本进行 XML 验证。 ### 测试 使用以下命令运行测试套件: ``` $ python3 -m unittest discover tests $ python3 -m tests.test_schema ``` ## 许可证 本项目基于 MIT 许可证授权。 ## 未来改进 * 添加官方的 SPDX 3.0 XML 验证(可用时)。 * 扩展针对新版 CycloneDX 版本的 schema 验证。 * 与 ossbomer-conformance 集成,以进行法规合规性检查。 ## 有疑问? 欢迎提出 issue 或为项目做出贡献!🚀
标签:API集成, CycloneDX, DevSecOps, JSON格式, Python, SBOM, SBOM分析, Schema验证, SPDX, Svelte, XML格式, 上游代理, 可观测性, 安全合规, 数据校验, 无后门, 本地校验, 格式验证, 硬件无关, 组件安全分析, 网络代理, 跌倒检测, 软件物料清单, 逆向工具