Skip to main content

Настройка обновлений для системы безопасности Dependabot

Вы можете использовать Dependabot security updates или создаваемые вручную запросы на вытягивание, чтобы легко обновлять уязвимые зависимости.

Кто может использовать эту функцию?

Users with write access

Управление Dependabot security updates для репозиториев

Вы можете включить или отключить Dependabot security updates для всех подходящих репозиториев, принадлежащих личная учетная запись или организации. Дополнительные сведения см. в разделе [AUTOTITLE или Управление функциями безопасности и анализа](/organizations/keeping-your-organization-secure/managing-security-settings-for-your-organization/managing-security-and-analysis-settings-for-your-organization).

Вы также можете включить или отключить Dependabot security updates для отдельного репозитория.

Включение и отключение Dependabot security updates для отдельного репозитория

  1. На GitHubперейдите на главную страницу репозитория.

  2. Под именем репозитория щелкните Settings. Если вкладка "Параметры" не отображается, выберите раскрывающееся меню и нажмите кнопку "Параметры".

    Снимок экрана: заголовок репозитория с вкладками. Вкладка "Параметры" выделена темно-оранжевым контуром.

  3. В разделе "Безопасность" боковой панели щелкните Advanced Security.

  4. Справа от "Dependabot обновлений системы безопасности", нажмите кнопку "Включить ", чтобы включить функцию или отключить ее. Для общедоступных репозиториев кнопка отключена, если функция всегда включена.

Группирование данных Dependabot security updates в один запрос на вытягивание

Чтобы использовать сгруппированные обновления безопасности, необходимо сначала включить следующие функции:

  •         **Граф** зависимостей. Дополнительные сведения см. в разделе [AUTOTITLE](/code-security/supply-chain-security/understanding-your-software-supply-chain/configuring-the-dependency-graph).
    
  •         **Dependabot alerts**. Дополнительные сведения см. в разделе [AUTOTITLE](/code-security/dependabot/dependabot-alerts/configuring-dependabot-alerts).
    
  •         **Dependabot security updates**. Дополнительные сведения см. в разделе [AUTOTITLE](/code-security/dependabot/dependabot-security-updates/configuring-dependabot-security-updates).
    

Примечание.

При первом включении сгруппированных обновлений безопасности Dependabot немедленно попытается создать сгруппированные запросы на вытягивание. Вы можете заметитьDependabot закрывая старые запросы на вытягивание и открывая новые.

Вы можете включить сгруппированные запросы на вытягивание для Dependabot security updates одним или обоими способами.

  • Чтобы сгруппировать максимальное количество доступных обновлений безопасности в каталогах и каждой экосистеме, включите группирование в параметрах "Advanced Security" для репозитория, или в разделе "Глобальные параметры" в разделе Advanced Security для вашей организации.
  • Для более детального управления группировкой, например группирования по имени пакета, зависимостей разработки и рабочей среды, уровня SemVer или нескольких каталогов для каждой экосистемы, добавьте параметры dependabot.yml конфигурации в файл конфигурации в репозитории.

Примечание.

Если вы настроили правила группы для Dependabot security updates в dependabot.yml файле, все доступные обновления будут сгруппированы в соответствии с указанными правилами. Dependabot будет группировать только в этих каталогах, не настроенных в том dependabot.yml случае, если параметр для сгруппированных обновлений безопасности на уровне организации или репозитория также включен.

Включение или отключение группированных данных Dependabot security updates для отдельного репозитория

  1. На GitHubперейдите на главную страницу репозитория.

  2. Под именем репозитория щелкните Settings. Если вкладка "Параметры" не отображается, выберите раскрывающееся меню и нажмите кнопку "Параметры".

    Снимок экрана: заголовок репозитория с вкладками. Вкладка "Параметры" выделена темно-оранжевым контуром.

  3. В разделе "Безопасность" боковой панели щелкните Advanced Security.

  4. В разделе "Dependabot", справа от "Сгруппированные обновления безопасности", нажмите кнопку "Включить , чтобы включить функцию или отключить ее".

Включение или отключение группированных данных Dependabot security updates для организации

Вы можете включить группированные данные Dependabot security updates в один запрос на вытягивание. Дополнительные сведения см. в разделе Настройка глобальных параметров безопасности для организации.

Переопределение поведения по умолчанию с помощью файла конфигурации

Можно переопределить поведение по умолчанию Dependabot security updates путем добавления файла в репозиторий dependabot.yml . dependabot.yml С помощью файла можно иметь более детализированный контроль над группировкой и переопределить поведение по умолчанию параметров Dependabot security updates .

          `groups` Используйте параметр с ключом `applies-to: security-updates` для создания наборов зависимостей (на диспетчер пакетов), чтобы Dependabot одновременно открывал один запрос на вытягивание для обновления нескольких зависимостей. Группы можно определить по имени пакета (и `patterns` ключам), типу зависимостей (`exclude-patterns``dependency-type` ключу) и SemVer (ключу`update-types`).

Dependabot создает группы в порядке их отображения в dependabot.yml файле. Если обновление зависимости может принадлежать нескольким группам, оно назначается только первой группе, с которой она соответствует.

Если требуется только обновления системы безопасности и требуется исключить обновления версий, можно задать open-pull-requests-limit для 0 предотвращения обновлений версий для заданного.package-ecosystem

Дополнительные сведения о параметрах конфигурации, доступных для обновлений системы безопасности, см. в разделе Настройка запросов на вытягивание обновлений безопасности Dependabot.

YAML
# Example configuration file that:
#  - Has a private registry
#  - Ignores lodash dependency
#  - Disables version-updates
#  - Defines a group by package name, for security updates for golang dependencies

version: 2
registries:
  example:
    type: npm-registry
    url: https://example.com
    token: ${{secrets.NPM_TOKEN}}
updates:
  - package-ecosystem: "npm"
    directory: "/src/npm-project"
    schedule:
      interval: "daily"
    # For Lodash, ignore all updates
    ignore:
      - dependency-name: "lodash"
    # Disable version updates for npm dependencies
    open-pull-requests-limit: 0
    registries:
      - example
  - package-ecosystem: "gomod"
    groups:
      golang:
        applies-to: security-updates
        patterns:
          - "golang.org*"

Примечание.

Чтобы Dependabot использовать эту конфигурацию для обновлений системы безопасности, directory должен быть путь к файлам манифеста, и не следует указывать .target-branch

Дополнительные материалы

  •         [AUTOTITLE](/code-security/dependabot/dependabot-alerts/about-dependabot-alerts)
    
  •         [AUTOTITLE](/code-security/dependabot/dependabot-alerts/configuring-dependabot-alerts)
    
  •         [AUTOTITLE](/code-security/supply-chain-security/understanding-your-software-supply-chain/dependency-graph-supported-package-ecosystems#supported-package-ecosystems)