Dependabot alerts сообщает, когда код зависит от небезопасного пакета. Часто программное обеспечение создается с помощью пакетов с открытым исходным кодом из большого количества источников. Сложные связи между этими зависимостями и легкостью, с которой злоумышленники могут вставлять вредоносные программы в вышестоящий код, означают, что вы можете неузнавательно использовать зависимости, которые имеют недостатки безопасности, также известные как уязвимости.
Если ваш код зависит от пакета с уязвимостью системы безопасности, это может вызвать ряд проблем для вашего проекта или его пользователей. Использование уязвимого пакета делает вас обратимой целью для злоумышленников, желающих использовать систему. Например, они могут стремиться получить доступ к коду и данным от ваших клиентов или участников. Вы должны обновиться до безопасной версии пакета как можно скорее. Если код использует вредоносные программы, необходимо заменить пакет безопасным вариантом.
Dependabot не создает Dependabot alerts для вредоносных программ. Дополнительные сведения см. в разделе Сведения о базе данных GitHub Advisory.
Общие сведения о различных функциях, предлагаемых Dependabot и инструкции по началу работы см. в разделе "Краткое руководство по зависимостям".
Выявление небезопасных зависимостей
Dependabot выполняет сканирование ветвь по умолчанию репозитория для обнаружения небезопасных зависимостей и отправляет Dependabot alerts при следующих случаях:
-
Новые консультативные данные синхронизируются с GitHub каждый час от GitHub.com. Дополнительные сведения см. в разделе Просмотр рекомендаций по безопасности в базе данных рекомендаций по GitHub.
Note
Только рекомендации, которые были проверены GitHub активируют Dependabot alerts.
-
Изменился граф зависимостей для репозитория. Например, когда участник отправляет фиксацию для изменения пакетов или версий, она зависит от . Дополнительные сведения см. в разделе Сведения о графе зависимостей.
Note
Dependabot не сканирует архивные репозитории.
Кроме того, GitHub позволяет просматривать любые зависимости, добавляемые, обновляемые или удаляемые в запросе на вытягивание к ветви по умолчанию в репозитории, а также помечать любые изменения, которые могут снизить уровень безопасности проекта. Это позволяет обнаружить и устранить уязвимые зависимости до того, как они попадут в базу кода. Дополнительные сведения см. в разделе Проверка изменений зависимостей в запросе на вытягивание.
Так как Dependabot alerts полагаются на граф зависимостей, экосистемы, поддерживаемые Dependabot alerts совпадают с теми, которые поддерживаются граф зависимостей. Список этих экосистем см. в разделе "Поддерживаемые экосистемы пакетов графа зависимостей".
Note
Важно обеспечить актуальность манифеста и блокировки файлов. Если граф зависимостей не отражает в точности текущие зависимости и версии, вы можете пропустить оповещения для используемых небезопасных зависимостей. Вы также можете получать оповещения о зависимостях, которые больше не используются.
Dependabot создает только Dependabot alerts для уязвимых данных GitHub Actions, использующих семантическое управление версиями. Вы не получите оповещения для уязвимого действия, использующего управление версиями SHA. Если вы используете GitHub Actions с управление версиями SHA, рекомендуется включить Dependabot version updates для репозитория или организации, чтобы сохранить действия, которые вы использовали до последних версий.
Настройка Dependabot alerts
Владельцы предприятия должны включить Dependabot alerts для ваш экземпляр GitHub Enterprise Server, прежде чем использовать эту функцию. Дополнительные сведения см. в разделе Включение Dependabot для предприятия.
Когда GitHub Enterprise Server идентифицирует уязвимую зависимость, мы создадим оповещение Dependabot и отображаем его на вкладке "Безопасность" для репозитория и в граф зависимостей репозитория. Оповещение содержит ссылку на затронутый файл в проекте, а также сведения об исправленной версии.
GitHub Enterprise Server также может уведомлять пользователей о затронутых репозиториях о новых оповещениях в соответствии с их предпочтениями уведомления. Дополнительные сведения см. в разделе "Настройка уведомлений для оповещений Dependabot".
Если вы включили Dependabot security updates для репозитория, оповещение также может содержать ссылку на запрос на вытягивание, чтобы обновить манифест или файл блокировки до минимальной версии, которая устраняет уязвимость. Дополнительные сведения см. в разделе Сведения об обновлениях для системы безопасности Dependabot.
Warning
не утверждают, чтобы перехватывать все уязвимости. Мы активно поддерживаем GitHub Advisory Database и создаем оповещения с самыми актуальными сведениями. Но мы не можем обнаружить все вредоносные программы или сообщить вам обо всех известных зависимостях за гарантированный интервал времени. Эти функции не заменяют выполняемую человеком проверку каждой зависимости на наличие потенциальных уязвимостей или любых других проблем, поэтому рекомендуется консультироваться со специалистами службы безопасности или при необходимости проводить тщательный анализ зависимостей.
Доступ к Dependabot alerts
Все оповещения, влияющие на определенный проект в граф зависимостей репозитория**. Дополнительные сведения см. в разделе Просмотр и обновление оповещений Dependabot.
По умолчанию мы уведомляем людей с разрешениями на запись, обслуживание или администратор в затронутых репозиториях о новых Dependabot alerts.
Чтобы получать уведомления о Dependabot alerts в репозиториях, необходимо просмотреть эти репозитории и подписаться на получение уведомлений "Все действия" или настроить пользовательские параметры для включения оповещений системы безопасности. Дополнительные сведения см. в разделе Настройка уведомлений. Вы можете выбрать способ доставки уведомлений, а также интервал отправки уведомлений. Дополнительные сведения см. в разделе "Настройка уведомлений для оповещений Dependabot".
Вы также можете просмотреть все Dependabot alerts, соответствующие определенной рекомендации, в GitHub Advisory Database. Дополнительные сведения см. в разделе Просмотр рекомендаций по безопасности в базе данных рекомендаций по GitHub.