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

Проверка изменений зависимостей в запросе на вытягивание

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

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

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

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

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

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

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

Дополнительные сведения об этом действии и конечной точке API см. в документации по dependency-review-action и разделе Проверка зависимостей в документации по API.

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

Проверка зависимостей в запросе на вытягивание

  1. Под именем репозитория щелкните Запросы на вытягивание. Выбор вкладки "Проблемы и запросы на вытягивание" 1. В списке запросов на вытягивание выберите запрос на вытягивание, который вы хотите просмотреть. 1. В запросе на вытягивание щелкните Файлы изменены. Вкладка "Измененные файлы" запроса на вытягивание

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

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

    Примечание. Расширенные различия при проверке зависимостей недоступны для зафиксированных статических файлов JavaScript, таких как jquery.js.

  3. Справа от заголовка файла манифеста или блокировок откройте проверку зависимостей, нажав кнопку расширенных различий  .

    Кнопка расширенных различий

  4. Проверьте зависимости, перечисленные в проверке зависимостей.

    Предупреждения об уязвимостях при проверке зависимостей

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

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

    Помимо этого, включаются следующие сведения:

    • версия или диапазон версий новой, обновленной или удаленной зависимости;
    • для определенной версии зависимости:
      • возраст этого выпуска зависимости;
      • количество проектов, зависящих от этого программного обеспечения; эти сведения берутся из графа зависимостей; проверка количества зависимых проектов может помочь избежать случайного добавления неправильной зависимости;
      • лицензия, используемая этой зависимостью, если эта информация доступна. Она полезна, если вы хотите избежать использования в проекте кода с определенными лицензиями.

    Если зависимость имеет известную уязвимость, в предупреждающее сообщение включаются следующие сведения:

    • краткое описание уязвимости;
    • идентификационный номер CVE (распространенные уязвимости) или GitHub Security Advisories (GHSA); щелкнув этот идентификатор, можно узнать больше об уязвимости;
    • степень серьезности уязвимости;
    • версия зависимости, в которой уязвимость была устранена. Если вы проверяете запрос на вытягивание для кого-либо, то можете попросить участника обновить зависимость до исправленной версии или более позднего выпуска.
  5. Кроме того, может потребоваться просмотреть отличия от источника, так как в файле манифеста или блокировок могут быть изменения, не затрагивающие зависимости, или зависимости, которые не могут быть проанализированы GitHub и поэтому не включаются в проверку зависимостей.

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

    Кнопка отличий от источника