Skip to main content
Мы публикуем частые обновления нашей документации, и перевод этой страницы, возможно, еще выполняется. Актуальные сведения см. в документации на английском языке.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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