cyclonedx / cyclonedx-php-composer
从 PHP Composer 项目创建 CycloneDX 软件物料清单 (SBOM)
Requires
- php: ^8.1
- composer-plugin-api: ^2.3
- cyclonedx/cyclonedx-library: ^3.3
- package-url/packageurl-php: ^1.0
Requires (Dev)
- composer/composer: ^2.3.0
- roave/security-advisories: dev-latest
- v5.2.0
- v5.1.0
- v5.0.1
- v5.0.0
- 4.x-dev
- dev-master / 4.x-dev
- v4.2.3
- v4.2.2
- v4.2.1
- v4.2.0
- v4.1.1
- v4.1.0
- v4.0.2
- v4.0.1
- v4.0.0
- v4.0.0-RC2
- v4.0.0-RC1
- 3.x-dev
- v3.11.0
- v3.10.2
- v3.10.1
- v3.10.0
- v3.9.2
- v3.9.1
- v3.9.0
- v3.8.0
- v3.7.0
- v3.6.0
- v3.5.0
- v3.4.1
- v3.4.0
- v3.3.1
- v3.3.0
- v3.2.0
- v3.1.1
- v3.1.0
- v3.0.0
- 2.x-dev
- v2.1.1
- v2.1.0
- v2.0.3
- v2.0.2
- v2.0.1
- v2.0.0
- 1.x-dev
- v1.2.0
- v1.1.0
- v1.0.1
- v1.0.0
- dev-dependabot/composer/tools/php-cs-fixer/friendsofphp/php-cs-fixer-v3.64.0
- dev-dependabot/composer/tools/php-cs-fixer/friendsofphp/php-cs-fixer-v3.62.0
- dev-ci-php83
This package is auto-updated.
Last update: 2024-08-31 20:09:37 UTC
README
这是一个用于 PHP 的 Composer 插件,用于生成 CycloneDX 格式的软件物料清单 (SBOM)。
基于 OWASP 软件组件验证标准 的标准,此工具能够生成几乎通过 Level-2 的 SBOM 文档(仅需要在外部完成签名)。
生成的 SBOM 文档遵循 官方规范和标准,并且可能具有遵循 cdx:composer
命名空间分类法 的属性。
要求
- PHP
^8.1
- Composer
^2.3
然而,此插件有更早的版本可用,支持 PHP ^5.5||^7.0||^8.0
与 Composer ^1.0||^2.0
。
安装
作为全局 Composer 插件
composer global require cyclonedx/cyclonedx-php-composer
作为当前项目的开发依赖
composer require --dev cyclonedx/cyclonedx-php-composer
用法
安装成功后,将提供 Composer 命令 CycloneDX:make-sbom
。
$ composer CycloneDX:make-sbom --help Description: Generate a CycloneDX Bill of Materials from a PHP Composer project. Usage: CycloneDX:make-sbom [options] [--] [<composer-file>] Arguments: composer-file Path to Composer config file. [default: "composer.json" file in current working directory] Options: --output-format=OUTPUT-FORMAT Which output format to use. {choices: "JSON", "XML"} [default: "XML"] --output-file=OUTPUT-FILE Path to the output file. Set to "-" to write to STDOUT [default: "-"] --omit=OMIT Omit dependency types. {choices: "dev", "plugin"} (multiple values allowed) --spec-version=SPEC-VERSION Which version of CycloneDX spec to use. {choices: "1.1", "1.2", "1.3", "1.4", "1.5", "1.6"} [default: "1.5"] --output-reproducible|--no-output-reproducible Whether to go the extra mile and make the output reproducible. This might result in loss of time- and random-based-values. --validate|--no-validate Formal validate the resulting BOM. --mc-version=MC-VERSION Version of the main component. This will override auto-detection. -h, --help Display help for the given command. -q, --quiet Do not output any message -v|vv|vvv, --verbose Increase the verbosity of messages: 1 for normal output, 2 for more verbose output and 3 for debug
演示
有关 cyclonedx-php-composer 的演示,请参阅 演示项目。
工作原理
此工具利用 composer 自身来收集已安装 composer 包的证据。
在证据收集方面,实际安装配置优先于纯 lock 文件分析。
所需证据
- composer config/manifest 文件(例如
composer.json
文件) - 以下之一
- 实际的 composer 配置(在你的项目上运行
composer install [...]
后的结果) - 一个有效的 composer lock 文件(例如
composer.lock
文件)
- 实际的 composer 配置(在你的项目上运行
内部
此工具利用 CycloneDX PHP 库 来生成实际的数据结构,标准化/序列化它们并验证 SBOM 结果。
此工具不公开任何额外的 公共 API 或类 - 所有代码均标记为 @internal
,并在版本升级期间可能会无通知更改。
贡献
请随时提交问题、错误报告或拉取请求。
有关详细信息,请参阅 CONTRIBUTING 文件。
许可
在 Apache 2.0 许可证的条款下,授予修改和重新分发许可。
有关完整许可,请参阅 LICENSE 文件。