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