Сведения о проверке зависимостей
Проверка зависимостей помогает разобраться в изменениях зависимостей и понять их влияние на безопасность в каждом запросе на вытягивание. Она обеспечивает понятную визуализацию изменений зависимостей с широкими возможностями различия на вкладке "Измененные файлы" запроса на вытягивание. Функция проверки зависимостей позволяет получить следующую информацию:
- Добавленные, удаленные и обновленные зависимости, а также даты их выпуска.
- Количество проектов, в которых используются эти компоненты.
- Данные об уязвимостях для этих зависимостей.
Дополнительные сведения см. в разделе "Сведения о проверке зависимостей" и "Просмотр изменений зависимостей в запросе на включение внесенных изменений".
Сведения о настройке проверки зависимостей
Проверка зависимостей доступна во всех общедоступных репозиториях во всех продуктах, и ее нельзя отключить. Проверка зависимостей доступна в частных репозиториях, принадлежащих организациям, которые используют облако 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-licenses` # ([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-licenses` # ([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
.