cs278 / composer-audit
审计您的Composer依赖项以查找安全漏洞。
v1.2.0
2023-02-03 17:16 UTC
Requires
- php: >= 7.1
- composer-plugin-api: ^1.1 || ^2
- symfony/yaml: ^4.4 || ^5 || ^6
Requires (Dev)
- composer/composer: ^1 || ^2@RC
- composer/semver: *
- cs278/mktemp: ^1
- symfony/filesystem: ^4.4 || ^5 || ^6
- symfony/phpunit-bridge: ^5.2
- symfony/process: ^4.4 || ^5 || ^6
Conflicts
- symfony/yaml: =4.4.27 || =4.4.28 || =5.2.12 || =5.2.13 || =5.3.4 || =5.3.5
This package is auto-updated.
Last update: 2024-09-07 16:23:58 UTC
README
审计您的Composer依赖项以查找安全漏洞,使用来自FriendsOfPHP/security-advisories的数据。兼容Composer 1和2。
此Composer插件允许您审计依赖项以查找安全漏洞,无需将锁文件发送到外部服务或使用封闭源代码软件。
注意,此命令与Composer ≥ 2.4中内置的audit
命令不同。
安装
此插件可以作为项目依赖项安装,或者“全局”安装,以便始终在您的机器上可用。
作为开发依赖项安装
composer require --dev cs278/composer-audit ^1
全局安装
composer global require cs278/composer-audit ^1
用法
审计依赖项
这将审计来自composer.lock
的所有锁定依赖项。
如果您的包没有composer.lock
文件(例如,因为它是一个库),则将验证位于vendor/composer/installed.json
中的已安装包。
composer security-audit
审计非开发依赖项
仅从composer.lock
审计生产依赖项,此选项仅在存在composer.lock
文件时适用。
composer security-audit --no-dev
更新安全漏洞数据库
您可以使用--update
选项强制更新安全漏洞数据库,如果没有提供此选项,则如果数据库不存在或超过一小时,则会下载数据库。例如
composer security-audit --update
配置
Composer Audit可以通过您的composer.json
文件中的extra
属性进行配置,所有配置都应该在composer-audit
键下提供。
{ ... "extra": { ... "composer-audit": { "option1": "super" }, ... }, ... }
忽略漏洞通告
目前只能通过CVE过滤通告,计划增加更多选项。
通过CVE忽略漏洞通告
您可以通过基于CVE引用进行过滤来忽略关于漏洞通告的警告,这在您决定风险可接受或不适用时非常有用,或者您无法升级包来解决问题。
{ ... "extra": { ... "composer-audit": { "ignore": [ {"type": "cve", "value": "CVE-2000-1234567"}, {"type": "cve", "value": "CVE-2000-7654321"} ] }, ... }, ... }
示例
# Require a vulnerable package composer require symfony/http-foundation 2.0.4 # Require Composer Audit composer require --dev cs278/composer-audit ^1 composer security-audit Found 9 advisories affecting 1 package(s). composer://symfony/http-foundation (2.0.4) * Request::getClientIp() when the trust proxy mode is enabled * CVE-2012-6431: Routes behind a firewall are accessible even when not logged in * CVE-2013-4752: Request::getHost() poisoning * CVE-2014-5244: Denial of service with a malicious HTTP Host header * CVE-2014-6061: Security issue when parsing the Authorization header * CVE-2015-2309: Unsafe methods in the Request class * CVE-2018-11386: Denial of service when using PDOSessionHandler * CVE-2018-14773: Remove support for legacy and risky HTTP headers * CVE-2019-18888: Prevent argument injection in a MimeTypeGuesser
如果可用,将渲染到适当的CVE和通告的超链接。