Сведения о проверке зависимостей
Проверка зависимостей помогает разобраться в изменениях зависимостей и понять их влияние на безопасность в каждом запросе на вытягивание. Он обеспечивает понятную визуализацию изменений зависимостей с расширенным диффеном на вкладке "Измененные файлы" запроса на вытягивание. Функция проверки зависимостей позволяет получить следующую информацию:
- Добавленные, удаленные и обновленные зависимости, а также даты их выпуска.
- Количество проектов, в которых используются эти компоненты.
- Данные об уязвимостях для этих зависимостей.
Дополнительные сведения см. в разделе "Сведения о проверке зависимостей" и "Просмотр изменений зависимостей в запросе на включение внесенных изменений".
Сведения о настройке проверки зависимостей
Проверка зависимостей доступна во всех общедоступных репозиториях во всех продуктах, и ее нельзя отключить. Проверка зависимостей доступна в частных репозиториях, принадлежащих организациям, которые используют облако GitHub Enterprise и имеют лицензию на GitHub Advanced Security. Дополнительные сведения см. в документации по GitHub Enterprise Cloud.
Сведения о настройке
сканирует запросы на вытягивание, проверяет изменение зависимостей и создает ошибку, если какие-либо новые зависимости имеют известные уязвимости. Для этого действие использует конечную точку API, которая сравнивает зависимости между двумя редакциями и сообщает о любых различиях.
Дополнительные сведения об этом действии и конечной точке API см. в документации по dependency-review-action и разделе Проверка зависимостей в документации по API.
Доступны следующие параметры конфигурации.
| Параметр | Обязательно | Использование |
|---|---|---|
fail-on-severity | Необязательно | Определяет пороговое значение для уровня серьезности (low, moderate, high, critical).Действие завершится сбоем для любых запросов на вытягивание, которые добавляют уязвимости указанного уровня серьезности или выше. |
Важно. Параметры allow-licenses и deny-licenses являются взаимоисключающими.
Настройка
Существует два метода настройки :
- Встраивание параметров конфигурации в файл рабочего процесса.
- Ссылка на файл конфигурации в файле рабочего процесса.
Обратите внимание, что во всех примерах для действия (v3) используется короткий номер версии вместо номера выпуска semver (например, v3.0.8). Это гарантирует использование последней дополнительной версии действия.
Использование встроенной конфигурации для настройки
-
Добавьте новый рабочий процесс YAML в папку
.github/workflows.YAML name: 'Dependency Review' on: [pull_request] permissions: contents: read jobs: dependency-review: runs-on: ubuntu-latest steps: - name: 'Checkout Repository' uses: actions/checkout@v3 - name: Dependency Review uses: actions/dependency-review-action@v3 -
Укажите нужные параметры.
В этом примере файла показано, как можно использовать доступные параметры конфигурации.
YAML name: 'Dependency Review' on: [pull_request] permissions: contents: read jobs: dependency-review: runs-on: ubuntu-latest steps: - name: 'Checkout Repository' uses: actions/checkout@v3 - name: Dependency Review uses: actions/dependency-review-action@v3 with: # Possible values: "critical", "high", "moderate", "low" fail-on-severity: critical # You can only include one of these two options: `allow-licenses` and `deny-licences` # ([String]). Only allow these licenses (optional) # Possible values: Any `spdx_id` value(s) from https://docs.github.com/en/rest/licenses allow-licenses: GPL-3.0, BSD-3-Clause, MIT # ([String]). Block the pull request on these licenses (optional) # Possible values: Any `spdx_id` value(s) from https://docs.github.com/en/rest/licenses deny-licenses: LGPL-2.0, BSD-2-Clause # ([String]). Skip these GitHub Advisory Database IDs during detection (optional) # Possible values: Any valid GitHub Advisory Database ID from https://github.com/advisories allow-ghsas: GHSA-abcd-1234-5679, GHSA-efgh-1234-5679 # ([String]). Block pull requests that introduce vulnerabilities in the scopes that match this list (optional) # Possible values: "development", "runtime", "unknown" fail-on-scopes: development, runtime
Использование файла конфигурации для настройки
-
Добавьте новый рабочий процесс YAML в папку
.github/workflowsи используйтеconfig-file, чтобы указать, что используется файл конфигурации.YAML name: 'Dependency Review' on: [pull_request] permissions: contents: read jobs: dependency-review: runs-on: ubuntu-latest steps: - name: 'Checkout Repository' uses: actions/checkout@v3 - name: Dependency Review uses: actions/dependency-review-action@v3 with: # ([String]). Representing a path to a configuration file local to the repository or in an external repository. # Possible values: An absolute path to a local file or an external file. config-file: './.github/dependency-review-config.yml' # Syntax for an external file: OWNER/REPOSITORY/FILENAME@BRANCH config-file: 'github/octorepo/dependency-review-config.yml@main' # ([Token]) Use if your configuration file resides in a private external repository. # Possible values: Any GitHub token with read access to the private external repository. external-repo-token: 'ghp_123456789abcde' -
Создайте файл конфигурации по указанному пути.
В этом примере файла YAML показано, как можно использовать доступные параметры конфигурации.
YAML # Possible values: "critical", "high", "moderate", "low" fail-on-severity: critical # You can only include one of these two options: `allow-licenses` and `deny-licences` # ([String]). Only allow these licenses (optional) # Possible values: Any `spdx_id` value(s) from https://docs.github.com/en/rest/licenses allow-licenses: - GPL-3.0 - BSD-3-Clause - MIT # ([String]). Block the pull request on these licenses (optional) # Possible values: Any `spdx_id` value(s) from https://docs.github.com/en/rest/licenses deny-licenses: - LGPL-2.0 - BSD-2-Clause # ([String]). Skip these GitHub Advisory Database IDs during detection (optional) # Possible values: Any valid GitHub Advisory Database ID from https://github.com/advisories allow-ghsas: - GHSA-abcd-1234-5679 - GHSA-efgh-1234-5679 # ([String]). Block pull requests that introduce vulnerabilities in the scopes that match this list (optional) # Possible values: "development", "runtime", "unknown" fail-on-scopes: - development - runtimeДополнительные сведения о параметрах конфигурации см. в разделе
dependency-review-action.