Skip to main content

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

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

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

Проверка зависимостей доступна для следующих типов репозитория:

  • Общедоступные репозитории для GitHub.com
  • Репозитории, принадлежащие организации для GitHub Team с GitHub Code Security включено

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

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

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

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

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

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

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

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

  1. В поле имени репозитория щелкните Запросы на вытягивание.

    Снимок экрана: главная страница репозитория. На горизонтальной панели навигации вкладка с меткой "Запросы на вытягивание" выделена темно-оранжевым цветом.

  2. В списке запросов на вытягивание выберите запрос на вытягивание, который вы хотите просмотреть.

  3. В запросе на вытягивание щелкните Files изменены.

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

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

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

Примечание.

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

  1. Чтобы отобразить проверку зависимостей, щелкните правой части заголовка для файла манифеста или блокировки.

    Снимок экрана: вкладка "Измененные файлы" запроса на вытягивание. Кнопка для отображения форматированного диффа, помеченная значком файла, описана в темно-оранжевый цвет.

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

    Снимок экрана: предупреждения об уязвимостях в проверке зависимостей для запроса на вытягивание.

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

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

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

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

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

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

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

    Снимок экрана: вкладка "Измененные файлы" запроса на вытягивание. Кнопка для отображения исходного диффа, показанная значком кода, описывается оранжевым цветом.