mxr576/ddqg-composer-audit

Drupal 依赖质量网关 Composer 审计插件

安装数: 8,658

依赖者: 3

建议者: 0

安全: 0

星标: 8

关注者: 2

分支: 0

开放问题: 8

类型:composer-plugin

1.2.0 2024-04-23 20:14 UTC

This package is auto-updated.

Last update: 2024-09-22 19:47:06 UTC


README

该项目扩展了 composer audit 命令,引入了来自 mxr576/ddqg 项目的“建议”,该项目的目标是帮助运行在安全和高品质 Drupal 依赖项上的 Drupal 项目。

Family Guy, Consuela says: No, no, no low-quality dependencies

查看 mxr576/composer-audit-changes 的“替代” composer audit 命令,因为它可以帮助在现有项目上采用此包,这些项目已经积累了技术债务。

安装

$ composer require --dev mxr576/ddqg-composer-audit

示例输出

$ composer audit
+-------------------+----------------------------------------------------------------------------------+
| Package           | drupal/apigee_edge                                                               |
| CVE               | DDQG-D10-incompatible-drupal-apigee_edge                                         |
| Title             | The installed "2.0.7.0" version is not compatible with Drupal 10. (Reported by D |
|                   | rupal Dependency Quality Gate.)                                                  |
| URL               | https://www.drupal.org/project/apigee_edge                                       |
| Affected versions | 2.0.7.0                                                                          |
| Reported at       | 2023-05-07T13:49:57+00:00                                                        |
+-------------------+----------------------------------------------------------------------------------+
+-------------------+----------------------------------------------------------------------------------+
| Package           | drupal/apigee_edge                                                               |
| CVE               | DDQG-insecure-drupal-apigee_edge                                                 |
| Title             | The installed "2.0.7.0" version is insecure. (Reported by Drupal Dependency Qual |
|                   | ity Gate.)                                                                       |
| URL               | https://www.drupal.org/project/apigee_edge                                       |
| Affected versions | >=1.0.0,<1.27.0|>=2.0.0,<2.0.8                                                   |
| Reported at       | 2023-05-07T13:49:57+00:00                                                        |
+-------------------+----------------------------------------------------------------------------------+
+-------------------+----------------------------------------------------------------------------------+
| Package           | drupal/core                                                                      |
| CVE               | DDQG-insecure-drupal-core                                                        |
| Title             | The installed "9.4.0.0" version is insecure. (Reported by Drupal Dependency Qual |
|                   | ity Gate.)                                                                       |
| URL               | https://www.drupal.org/project/core                                              |
| Affected versions | >=9.4.0,<9.4.14|>=9.5.0,<9.5.8|>=10.0.0,<10.0.8                                  |
| Reported at       | 2023-05-07T13:49:57+00:00                                                        |
+-------------------+----------------------------------------------------------------------------------+
+-------------------+----------------------------------------------------------------------------------+
| Package           | drupal/feeds                                                                     |
| CVE               | DDQG-unsupported-drupal-feeds-3.0.0.0-beta3                                      |
| Title             | The installed "3.0.0.0-beta3" version is unsupported. (Reported by Drupal Depend |
|                   | ency Quality Gate.)                                                              |
| URL               | https://www.drupal.org/project/feeds                                             |
| Affected versions | 2.x-dev|3.0.0-alpha1|3.0.0-alpha2|3.0.0-alpha3|3.0.0-alpha4|3.0.0-alpha5|3.0.0-a |
|                   | lpha6|3.0.0-alpha7|3.0.0-alpha8|3.0.0-alpha9|3.0.0-alpha10|3.0.0-alpha11|3.0.0-b |
|                   | eta1|3.0.0-beta2|3.0.0-beta3|3.x-dev                                             |
| Reported at       | 2023-05-07T13:49:57+00:00                                                        |
+-------------------+----------------------------------------------------------------------------------+
+-------------------+----------------------------------------------------------------------------------+
| Package           | drupal/variationcache                                                            |
| CVE               | DDQG-deprecated-drupal-variationcache-1.2.0.0                                    |
| Title             | The installed "1.2.0.0" version is deprecated. (Reported by Drupal Dependency Qu |
|                   | ality Gate.)                                                                     |
| URL               | https://www.drupal.org/project/variationcache                                    |
| Affected versions | *                                                                                |
| Reported at       | 2024-01-08T12:15:20+00:00                                                        |
+-------------------+----------------------------------------------------------------------------------+

配置

质量保证可能感觉痛苦,但它却是专业软件开发的重要部分。此项目的目标是引起对项目中依赖质量问题的关注。出于这些原因,它故意提供了最少的退出选项。

忽略使用中弃用或不受支持的包版本警告

警告

此功能已 弃用,并将从 2.0.0 版本中删除。Composer 内置的 audit ignore 功能已取代它。

在项目的根 composer.json 中,在 extra 属性下,添加如下定义

        "ddqg-composer-audit": {
            "ignore-deprecated-versions": {
                "vendor/package": "an_explicit_version_string",
                "drupal/swiftmailer": "2.4.0"
            }
            "ignore-unsupported-versions": {
                "vendor/package": "an_explicit_version_string",
                "drupal/tamper": "1.0.0-alpha3"
            }
        }

另一种选择是在 DDQG_COMPOSER_AUDIT_IGNORE_DEPRECATED_VERSIONSDDQG_COMPOSER_AUDIT_IGNORE_UNSUPPORTED_VERSIONS 环境变量中定义逗号分隔的忽略规则,例如,DDQG_COMPOSER_AUDIT_IGNORE_DEPRECATED_VERSIONS=drupal/swiftmailer:2.4.0,vendor/package:1.x-devDDQG_COMPOSER_AUDIT_IGNORE_UNSUPPORTED_VERSIONS=drupal/tamper:1.0.0-alpha3,vendor/package:1.x-dev

环境变量比 composer.json 中的配置具有更高的优先级;如果已定义,则项目根 composer.json 中的定义将完全忽略。

注意:关于被忽略的弃用或不支持的包的警告仍然会在 STDERR 上显示。

不支持在定义中版本范围是一个有意识的决定,因为(再次)目标是使依赖质量问题持续可见,而不是将其掩盖。

检查 Drupal 10 兼容性

对于仍在运行 Drupal 9 的项目。当此功能启用时,composer audit 还可以检查安装的包依赖项版本是否也与 Drupal 10 兼容。这可以使 Drupal 10 升级更加轻松。

默认情况下禁用此功能,可以通过以下方式启用

        "ddqg-composer-audit": {
            "check-d10-compatibility": true
        }

或通过设置环境变量 DDQG_COMPOSER_AUDIT_CHECK_D10_COMPATIBILITY=true

这是一个季节性功能,将在 Drupal 9 EOL 后删除。

集成

常见问题解答

Drupal Packagist 已经提供了包建议,为什么我应该关心此插件?

此功能仅在 2023 年 9 月 21 日之后的 Drupal Packagist 上可用。通过 Drupal Packagist 的安全建议数据仅包含基于已发布安全建议的信息;它不包含标记为 “不安全” 的发布,但此 Composer 插件包含。