Skip to main content

Сведения об обновлениях для системы безопасности Dependabot

Dependabot может исправить уязвимые зависимости, создавая запросы на вытягивание с помощью обновлений системы безопасности.

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

Dependabot security updates можно использовать для всех репозиториев на GitHub.com.

Сведения о Dependabot security updates

Dependabot security updates упрощает исправление уязвимых зависимостей в репозитории. Если включить эту функцию, при возникновении оповещения Dependabot для уязвимой зависимости в графе зависимостей репозитория Dependabot автоматически пытается исправить проблему. Дополнительные сведения см. в разделе "[AUTOTITLE" и "Сведения об оповещениях Dependabot](/code-security/dependabot/dependabot-security-updates/configuring-dependabot-security-updates)".

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

Примечание. Если для репозитория включены Dependabot security updates, Dependabot автоматически попытается открыть запросы на вытягивание для разрешения всех открытых оповещений Dependabot с доступным исправлением. Если вы предпочитаете настраивать оповещения Dependabot открывает запросы на вытягивание, следует оставить Dependabot security updates отключен и создать правило автообъезда. Дополнительные сведения см. в разделе Настройка правил автоматической сортировки для определения приоритетов оповещений Dependabot.

GitHub может отправлять Dependabot alerts в репозитории, затронутые уязвимостью, раскрытой недавно опубликованной рекомендацией по безопасности GitHub. Дополнительные сведения см. в разделе Просмотр рекомендаций по безопасности в базе данных рекомендаций по GitHub.

Dependabot проверяет возможность обновления уязвимой зависимости до исправленной версии без нарушения графа зависимостей для репозитория. Затем Dependabot создает запрос на вытягивание, чтобы обновить зависимость до минимальной версии, которая включает исправление, и связывает запрос на вытягивание с оповещением Dependabot или сообщает об ошибке в оповещении. Дополнительные сведения см. в разделе Устранение ошибок Dependabot.

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

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

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

Когда Dependabot вызывает запросы на вытягивание, такие запросы могут быть предназначены для обновлений безопасности или версий:

  • Dependabot security updates  — это автоматизированные запросы на вытягивание, позволяющие обновлять зависимости с известными уязвимостями.
  • Dependabot version updates  — это автоматизированные запросы на вытягивание, позволяющие поддерживать зависимости в актуальном состоянии, даже если у них нет уязвимостей. Чтобы проверить состояние обновлений версии, откройте вкладку "Аналитика" в репозитории, а затем "График зависимостей" и Dependabot.

Запросы на вытягивание, открытые Dependabot, могут активировать рабочие процессы, выполняющие действия. Дополнительные сведения см. в разделе "Автоматизация Dependabot с помощью GitHub Actions".

По умолчанию Dependabot updates выполняются с помощью встроенного приложения Dependabot в GitHub. Вместо этого можно запустить Dependabot updates на GitHub Actions, чтобы воспользоваться преимуществами повышения производительности, а также повысить видимость и управление заданиями Dependabot updates. Дополнительные сведения см. в разделе "Сведения о зависимостях на GitHub Actions runners".

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

Сведения о запросах на вытягивание для обновлений системы безопасности

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

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

Примечание. Рекомендуется выполнять автоматизированные тесты и процессы принятия, чтобы проверки выполнялись до слияния запроса на вытягивание. Это особенно важно, если предлагаемая версия для обновления содержит дополнительные функциональные возможности или изменение, которое нарушает код проекта. Дополнительные сведения о непрерывной интеграции см. в разделе "Сведения о непрерывной интеграции".

Сведения о сгруппированных обновлениях системы безопасности

Чтобы уменьшить количество отображаемых запросов на вытягивание, можно включить сгруппированные обновления безопасности для группированных наборов зависимостей (на экосистему пакетов). Затем Dependabot создает один запрос на вытягивание для обновления как можно больше уязвимых зависимостей в группе для защиты версий одновременно.

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

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

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

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

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

Об оценке совместимости

Dependabot security updates могут включать оценки совместимости, которые позволяют узнать, может ли обновление зависимости привести к критическим изменениям в проекте. Они вычисляются на основе тестов непрерывной интеграции (CI) в других общедоступных репозиториях, где было создано такое же обновление для системы безопасности. Оценка совместимости обновления — это процент успешно выполненных тестов CI при обновлении конкретных версии зависимости.

О автоматической деактивации Dependabot updates

Сведения об уведомлениях для обновлений системы безопасности Dependabot

Вы можете отфильтровать уведомления по GitHub для отображения обновлений системы безопасности Dependabot. Дополнительные сведения см. в разделе Управление уведомлениями из папки "Входящие".