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

Сведения о безопасности цепочки поставок

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

Сведения о безопасности цепочки поставок на GitHub

Благодаря все возрастающему использованию открытого кода большинство проектов опирается на сотни зависимостей с открытым кодом. Это создает проблему безопасности: что, если зависимости, которые вы используете, имеют уязвимости? Вы можете подвергнуть пользователей риску атаки через цепочку поставок. Одной из самых важных вещей, которые вы можете применить для защиты цепочки поставок, является исправление уязвимых зависимостей.

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

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

В GitHub Enterprise Server существуют следующие возможности цепочки поставок.

  • Граф зависимостей
  • Проверка зависимостей
  • Dependabot alerts - Dependabot updates
    • Dependabot security updates
    • Dependabot version updates

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

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

  • Проверка зависимостей использует граф зависимостей для определения изменений зависимостей и помогает понять влияние этих изменений на безопасность при проверке запросов на вытягивание.
  • Dependabot сопоставляет данные о зависимостях, предоставленные графом зависимостей, со списком рекомендаций, опубликованным в GitHub Advisory Database, сканирует ваши зависимости и создает Dependabot alerts при обнаружении потенциальной уязвимости.
  • Dependabot security updates использует граф зависимостей и Dependabot alerts для обновления зависимостей с известными уязвимостями в репозитории.

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

Рекомендации по обеспечению безопасности сквозной цепочки поставок, включая защиту личных учетных записей, кода и процессов сборки, см. в разделе Защита сквозной цепочки поставок.

Обзор возможностей

Что такое граф зависимостей

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

  • Граф зависимостей содержит сведения о ваших прямых и транзитивных зависимостях.
  • Граф зависимостей автоматически обновляется, когда вы отправляете в GitHub фиксацию, которая изменяет или добавляет поддерживаемый файл манифеста или блокировки в ветвь по умолчанию, а также когда кто-либо отправляет в репозиторий изменение одной из ваших зависимостей.
  • Чтобы просмотреть граф зависимостей, откройте главную страницу репозитория в GitHub Enterprise Server и перейдите на вкладку Аналитика.

Дополнительные сведения о графе зависимостей см. в разделе Сведения о графе зависимостей.

Что такое проверка зависимостей

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

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

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

Что такое Dependabot

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

Термин "Dependabot" охватывает следующие признаки:

  • Dependabot alerts — отображаемые уведомления на вкладке Безопасность для репозитория и в графе зависимостей репозитория. Оповещение содержит ссылку на затронутый файл в проекте, а также сведения об исправленной версии.
  • Dependabot updates:
    • Dependabot security updates — инициированные обновления ваших зависимостей до безопасной версии при срабатывании оповещения.
    • Dependabot version updates — запланированные обновления до последней версии для поддержания ваших зависимостей в актуальном состоянии.

Dependabot security updates и Dependabot version updates требуют выполнения GitHub Actions на GitHub Enterprise Server. Dependabot alerts не требуют GitHub Actions. Дополнительные сведения см. в разделе Включение Dependabot для вашего предприятия.

Что такое оповещения Dependabot

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

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

Дополнительные сведения см. в статье "Сведения о Dependabot alerts".

Что такое обновления Dependabot

Существует два типа Dependabot updates: обновления системы безопасности и обновления версий Dependabot. Dependabot создает автоматические запросы на вытягивание для обновления ваших зависимостей в обоих случаях, но есть несколько различий.

Dependabot security updates:

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

Dependabot version updates:

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

Дополнительные сведения об Dependabot updates см. в разделах Сведения об Dependabot security updates и Сведения об Dependabot version updates.

Доступность функций

  • Граф зависимостей и Dependabot alerts  — не включены по умолчанию. Обе возможности настраиваются на уровне предприятия владельцем предприятия. Дополнительные сведения см. в разделах Включение графа зависимостей для предприятия и Включение Dependabot для предприятия.
  • Проверка зависимостей доступна, если граф зависимостей включен для your GitHub Enterprise Server instance и Advanced Security включен для организации или репозитория. Дополнительные сведения см. в разделе Сведения о GitHub Advanced Security.
  • Dependabot security updates  — не включены по умолчанию. Вы можете включить Dependabot security updates для любого репозитория, использующего Dependabot alerts и граф зависимостей. Сведения о включении обновлений системы безопасности см. в разделе Настройка Dependabot security updates.
  • Dependabot version updates  — не включены по умолчанию. Включать Dependabot version updates могут пользователи с разрешениями на запись в репозитории. Сведения о включении обновлений версии см. в разделе Настройка Dependabot version updates.