Skip to main content

Сведения о проверке зависимостей

Проверка зависимостей позволяет перехватывать небезопасные зависимости до того, как они попадут в среду выполнения, и получать сведения о лицензиях, зависимых элементах и сроке существования зависимостей.

Проверка зависимостей доступна для принадлежащих организациям репозиториев в GitHub Enterprise Server. Для этой функции требуется лицензия на GitHub Advanced Security. Дополнительные сведения см. в разделе Сведения о GitHub Advanced Security.

Сведения о проверке зависимостей

Проверка зависимостей помогает разобраться в изменениях зависимостей и понять их влияние на безопасность в каждом запросе на вытягивание. Он обеспечивает понятную визуализацию изменений зависимостей с расширенным диффеном на вкладке "Измененные файлы" запроса на вытягивание. Функция проверки зависимостей позволяет получить следующую информацию:

  • Добавленные, удаленные и обновленные зависимости, а также даты их выпуска.
  • Количество проектов, в которых используются эти компоненты.
  • Данные об уязвимостях для этих зависимостей.

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

Иногда может потребоваться просто обновить версию одной зависимости в манифесте и создать запрос на вытягивание. Однако если обновленная версия этой прямой зависимости также имеет обновленные зависимости, запрос на вытягивание может иметь больше изменений, чем ожидалось. Проверка зависимостей для каждого файла манифеста и блокировки позволяет легко узнать, что изменилось, и содержат ли какие-либо из новых версий зависимостей известные уязвимости.

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

Дополнительную информацию о настройке зависимостей см. в разделе Сведения о настройке зависимостей.

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

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

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

Включение проверки зависимостей

Функция проверки зависимостей становится доступной при включении графа зависимостей. Дополнительные сведения см. в разделе Включение графа зависимостей для предприятия.

Принудительное применение проверки зависимостей

Это действие доступно для всех репозиториев, для которых включено GitHub Advanced Security.

Владельцы предприятия и пользователи с правами администратора к репозиторию могут добавить dependency review action в свое предприятие и репозиторий соответственно.

dependency review action в репозитории можно использовать для принудительного применения проверок зависимостей в запросах на вытягивание. Это действие проверяет наличие уязвимых версий зависимостей, представленных изменениями версии пакета в запросах на вытягивание, и предупреждает о связанных с ними уязвимостях системы безопасности. Это позволяет лучше отслеживать изменения в запросе на вытягивание и предотвращать добавление уязвимостей в репозиторий. Дополнительные сведения см. на веб-сайте dependency-review-action.

Пример действия проверки зависимостей

По умолчанию проверка dependency review action завершится ошибкой при обнаружении уязвимых пакетов. Ошибка проверки блокирует объединение запроса на вытягивание, если владелец репозитория потребовал обязательную проверку зависимостей. Дополнительные сведения см. в разделе Сведения о защищенных ветвях.

Это действие использует REST API проверки зависимостей для получения различий зависимостей между базовой фиксацией и головной фиксацией. API проверки зависимостей можно использовать для получения различий изменений зависимостей, включая данные об уязвимостях, между любыми двумя фиксациями в репозитории. Дополнительные сведения см. в разделе Обзор зависимостей.

Вы можете настроить dependency review action в соответствии со своими потребностями. Например, можно указать уровень серьезности, при котором действие будет завершаться сбоем. Дополнительные сведения см. в статье Настройка проверки зависимостей.