CycloneDX/cyclonedx-php-library

GitHub: CycloneDX/cyclonedx-php-library

该库为 PHP 提供 OWASP CycloneDX 标准的数据模型、序列化器和验证器,使 PHP 应用能够生成和校验 SBOM 物料清单。

Stars: 13 | Forks: 0

# CycloneDX PHP 库 [![shield_packagist-version]][link_packagist] [![shield_rtfd]][link_rtfd] [![shield_gh-workflow-test]][link_gh-workflow-test] [![shield_coverage]][link_codacy] [![shield_shepherd]][link_shepherd] [![shield_ossf-best-practices]][link_ossf-best-practices] [![shield_license]][license_file] [![shield_website]][link_website] [![shield_slack]][link_slack] [![shield_groups]][link_discussion] [![shield_twitter-follow]][link_twitter] OWASP [CycloneDX][link_website] 是一个全栈物料清单 (BOM) 和系统透明度标准, 它提供对软件、服务、硬件和 AI 组件的深度可见性,从而实现高级的供应链安全并降低网络风险。 本包提供适用于 _PHP_ 的 _CycloneDX_ 功能。 ## 职责 * 提供 [_CycloneDX_][CycloneDX] 的通用 _php_ 实现。 * 为上述实现提供与 [_phpDoc3_](https://phpdoc.org/) 和 [_psalm_](https://psalm.dev/) 兼容的注解, 以便开发者和开发工具可以依赖它。 * 提供用于处理 _CycloneDX_ 的数据模型。 * 提供 JSON 和 XML normalizer,能够... * 支持所有内置的数据模型。 * 遵循任何注入的 [_CycloneDX_ 规范][CycloneDX-spec],并根据其生成有效输出。 * 能够为 JSON 和 XML 序列化准备数据结构。 * 序列化: * 提供 JSON 序列化器。 * 提供 XML 序列化器。 * 针对 _CycloneDX_ 规范的验证: * 提供 JSON 验证器。 * 提供 XML 验证器。 * 提供基于 [_composer_ 的自动加载](https://getcomposer.org/doc/01-basic-usage.md#autoloading) 以供下游使用。 ## 功能 * 用于以下用例的 Enums: * `ComponentType` * `ExternalReferenceType` * `HashAlgorithm` * `LicenseAcknowledgement` * 用于以下用例的数据模型: * `Bom` * `BomRef`, `BomRefRepository` * `Component`, `ComponentRepository`, `ComponentEvidence` * `ExternalReference`, `ExternalReferenceRepository` * `HashDictionary` * `LicenseExpression`, `NamedLicense`, `SpdxLicense`, `LicenseRepository` * `Metadata` * `Property`, `PropertyRepository` * `Tool`, `ToolRepository` * 用于以下用例的工具: * 为 `Bom.serialNumber` 生成有效的随机序列号 * 用于以下用例的工厂: * 根据任何许可证描述字符串创建数据模型 * 以下版本的 [_CycloneDX_ 规范][CycloneDX-spec] 实现: * `1.7` * `1.6` * `1.5` * `1.4` * `1.3` * `1.2` * `1.1` * 将数据模型转换为 JSON 结构的 Normalizer * 将数据模型转换为 XML 结构的 Normalizer * 将 `Bom` 数据模型转换为 JSON 字符串的序列化器 * 将 `Bom` 数据模型转换为 XML 字符串的序列化器 * 根据 _CycloneDX_ 规范检查 JSON 的验证器 * 根据 _CycloneDX_ 规范检查 XML 的验证器 ## 安装 通过 composer 安装: ``` composer require cyclonedx/cyclonedx-library ``` ## 用法 请参阅详细的[示例]。 ``` $bom = new \CycloneDX\Core\Models\Bom(); $bom->getComponents()->addItems( new \CycloneDX\Core\Models\Component( \CycloneDX\Core\Enums\ComponentType::Library, 'myComponent' ) ); ``` ## API 文档 我们提供了代码注解,以便当您在下游使用本库时,您的 IDE 和工具可以获取相关文档。 此外,还有托管在 [readthedocs][link_rtfd] 上的预渲染文档。 另外,我们还提供了一个配置好的 [_phpDoc3_](https://docs.phpdoc.org/guide/getting-started/index.html) 配置文件, 您可以使用它自行生成文档。 ## 冲突 由于本库是从 [cyclonedx-php-composer 的 `/src/Core` (346e6200fb2f5086061b15c2ee44f540893ce97d)](https://github.com/CycloneDX/cyclonedx-php-composer/tree/346e6200fb2f5086061b15c2ee44f540893ce97d/src/Core) 中分离出来的, 因此它与其原始来源 `cyclonedx/cyclonedx-php-composer:<3.5` 存在冲突。 ## 许可证 在 Apache 2.0 许可证的条款下,授予修改和重新分发的权限。 有关完整的许可证内容,请参见 [LICENSE][license_file] 文件。
标签:ffuf