{"meta":{"title":"Настройка конфигурации действия проверки зависимостей","intro":"Узнайте, как добавить базовую настройку в конфигурацию действия проверки зависимостей.","product":"Безопасность и качество кода","breadcrumbs":[{"href":"/ru/code-security","title":"Безопасность и качество кода"},{"href":"/ru/code-security/tutorials","title":"Tutorials"},{"href":"/ru/code-security/tutorials/secure-your-dependencies","title":"Защита зависимостей"},{"href":"/ru/code-security/tutorials/secure-your-dependencies/customize-dependency-review-action","title":"Настройка действия проверки зависимостей"}],"documentType":"article"},"body":"# Настройка конфигурации действия проверки зависимостей\n\nУзнайте, как добавить базовую настройку в конфигурацию действия проверки зависимостей.\n\n## Introduction\n\nОн Действие проверки зависимостей сканирует ваши pull requests на предмет изменений зависимостей и выдает ошибку, если у новых зависимостей есть известные уязвимости. После установки, если выполнение рабочего процесса помечается как обязательное, запросы на вытягивание, вводящие известные уязвимые пакеты, будут заблокированы для объединения.\n\nВ этом руководстве показано, как добавить три очень распространенные настройки: сбой сборки на основе уровня серьезности уязвимостей, лицензии зависимостей и области.\n\n### Необходимые условия\n\nВ этом руководстве предполагается, что:\n\n* Граф зависимостей включен для репозитория. Дополнительные сведения см. в разделе [Включение графа зависимостей](/ru/code-security/how-tos/secure-your-supply-chain/secure-your-dependencies/enable-dependency-graph#enabling-the-dependency-graph-for-a-repository).\n* GitHub Actions включена для репозитория. Дополнительные сведения см. в разделе [Управление настройками GitHub Actions для репозитория](/ru/repositories/managing-your-repositorys-settings-and-features/enabling-features-for-your-repository/managing-github-actions-settings-for-a-repository).\n\n## Шаг 1. Добавление действия проверки зависимостей\n\nНа этом шаге мы добавим рабочий процесс проверки зависимостей в репозиторий.\n\n1. На GitHubперейдите на главную страницу репозитория.\n2. Под именем репозитория щелкните **<svg version=\"1.1\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" class=\"octicon octicon-play\" aria-label=\"play\" role=\"img\"><path d=\"M8 0a8 8 0 1 1 0 16A8 8 0 0 1 8 0ZM1.5 8a6.5 6.5 0 1 0 13 0 6.5 6.5 0 0 0-13 0Zm4.879-2.773 4.264 2.559a.25.25 0 0 1 0 .428l-4.264 2.559A.25.25 0 0 1 6 10.559V5.442a.25.25 0 0 1 .379-.215Z\"></path></svg> Actions**.\n\n   ![Снимок экрана: вкладки для репозитория github/docs. Вкладка \"Действия\" выделена оранжевым контуром.](/assets/images/help/repository/actions-tab-global-nav-update.png)\n3. В разделе «Начать с GitHub Actions» найдите категорию «Безопасность», затем нажмите **«Просмотреть всё**».\n4. Найдите \"Проверка зависимостей\", а затем нажмите кнопку **\"Настроить**\". Кроме того, выполните поиск по запросу \"Проверка зависимостей\" с помощью строки поиска.\n5. Это откроет файл рабочего процесса проверки GitHub Actions зависимости. `dependency-review.yml` Он должен содержать следующее:\n\n   ```yaml copy\n   name: 'Dependency review'\n   on:\n     pull_request:\n       branches: [ \"main\" ]\n\n   permissions:\n     contents: read\n\n   jobs:\n     dependency-review:\n       runs-on: ubuntu-latest\n       steps:\n         - name: 'Checkout repository'\n           uses: actions/checkout@v6\n         - name: 'Dependency Review'\n           uses: actions/dependency-review-action@v4\n   ```\n\n## Шаг 2. Изменение серьезности\n\nВы можете заблокировать код, содержащий уязвимые зависимости, когда-либо слияться, установив Действие проверки зависимостей требуемое значение. Однако следует отметить, что блокировка уязвимостей с низким риском может оказаться слишком ограничивающей в некоторых обстоятельствах. На этом шаге мы изменим серьезность уязвимости, которая приведет к сбою сборки с параметром `fail-on-severity` .\n\n1. `fail-on-severity` Добавьте параметр в конец `dependency-review.yml` файла:\n\n   ```yaml copy\n         - name: 'Dependency Review'\n           uses: actions/dependency-review-action@v4\n           with:\n             fail-on-severity: moderate\n   ```\n\n## Шаг 3. Добавление лицензий для блокировки\n\nУязвимости не являются единственной причиной, по которой может потребоваться заблокировать зависимость. Если у вашей организации есть ограничения на то, какие лицензии можно использовать, можно использовать проверку зависимостей для применения этих политик с `deny-licenses` помощью параметра. На этом шаге мы добавим настройку, которая будет прерывать сборку, если запрос на вытягивание представляет зависимость, содержащую лицензию LGPL-2.0 или BSD-2-Clause.\n\n1. `deny-licenses` Добавьте параметр в конец `dependency-review.yml` файла:\n\n   ```yaml copy\n         - name: 'Dependency Review'\n           uses: actions/dependency-review-action@v4\n           with:\n             fail-on-severity: moderate\n             deny-licenses: LGPL-2.0, BSD-2-Clause\n   ```\n\n## Шаг 4. Добавление областей\n\nНаконец, мы будем использовать `fail-on-scopes` этот параметр, чтобы предотвратить слияние уязвимых зависимостей с определенными средами развертывания, в этом случае среда разработки.\n\n1. `fail-on-scopes` Добавьте параметр в конец `dependency-review.yml` файла:\n\n   ```yaml copy\n         - name: 'Dependency Review'\n           uses: actions/dependency-review-action@v4\n           with:\n             fail-on-severity: moderate\n             deny-licenses: LGPL-2.0, BSD-2-Clause\n             fail-on-scopes: development\n   ```\n\n## Шаг 5. Проверка конфигурации\n\nТеперь `dependency-review.yml` файл должен выглядеть следующим образом:\n\n```yaml copy\n\nname: 'Dependency Review'\non: [pull_request]\n\npermissions:\n  contents: read\n\njobs:\n  dependency-review:\n    runs-on: ubuntu-latest\n    steps:\n      - name: 'Checkout Repository'\n        uses: actions/checkout@v6\n      - name: Dependency Review\n        uses: actions/dependency-review-action@v4\n        with:\n          fail-on-severity: moderate\n          deny-licenses: LGPL-2.0, BSD-2-Clause\n          fail-on-scopes: development\n```\n\nЭту конфигурацию можно использовать в качестве шаблона для собственных пользовательских конфигураций.\n\nДополнительные сведения обо всех возможных параметрах настройки см [. в документации по действию проверки зависимостей в README](https://github.com/actions/dependency-review-action/blob/main/README.md#configuration) .\n\n## Лучшие практики\n\nПри настройке конфигурации проверки зависимостей можно выполнить некоторые рекомендации.\n\n* Выберите списки блокировок по спискам разрешений. Более удобно компилировать список \"действительно плохих\" зависимостей, которые вы хотите заблокировать, чем создать включающий список всех библиотек, которые вы хотите разрешить.\n\n* Выберите блокировку лицензий вместо указания разрешенных лицензий. Существует множество лицензий, поэтому обычно это более удобно, чтобы исключить те, которые вы знаете, несовместимы с текущими лицензиями, чем для компиляции полного списка совместимых лицензий.\n\n* Выберите `fail-on-severity`. Сбой на основе серьезности уязвимости — это хороший способ сбалансировать потребность в безопасности с необходимостью создания низкой нагрузки для разработчиков.\n\n## Дополнительные материалы\n\n* [Настройка действия проверки зависимостей](/ru/code-security/how-tos/secure-your-supply-chain/manage-your-dependency-security/configure-dependency-review-action)\n* [Применение проверки зависимостей в организации](/ru/code-security/how-tos/secure-at-scale/configure-organization-security/configure-specific-tools/enforce-dependency-review)"}