cs278/composer-audit

审计您的Composer依赖项以查找安全漏洞。

安装次数: 64,181

依赖者: 0

建议者: 0

安全: 0

星标: 7

关注者: 3

分支: 1

开放问题: 2

类型:composer-plugin

v1.2.0 2023-02-03 17:16 UTC

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和通告的超链接。