Dependabot alerts сообщает, когда код зависит от небезопасного пакета. Часто программное обеспечение создается с помощью пакетов с открытым исходным кодом из большого количества источников. Сложные связи между этими зависимостями и легкостью, с которой злоумышленники могут вставлять вредоносные программы в вышестоящий код, означают, что вы можете неузнавательно использовать зависимости, которые имеют недостатки безопасности, также известные как уязвимости.
Если ваш код зависит от пакета с уязвимостью системы безопасности, это может вызвать ряд проблем для вашего проекта или его пользователей. Использование уязвимого пакета делает вас обратимой целью для злоумышленников, желающих использовать систему. Например, они могут стремиться получить доступ к коду и данным от ваших клиентов или участников. Вы должны обновиться до безопасной версии пакета как можно скорее. Если код использует вредоносные программы, необходимо заменить пакет безопасным вариантом.
Dependabot не создает Dependabot alerts для вредоносных программ. Дополнительные сведения см. в разделе «Сведения о базе данных GitHub Advisory».
Общие сведения о различных функциях, предлагаемых Dependabot и инструкции по началу работы см. в разделе "Краткое руководство по зависимостям".
Выявление небезопасных зависимостей
Dependabot выполняет сканирование ветвь по умолчанию репозитория для обнаружения небезопасных зависимостей и отправляет Dependabot alerts при следующих случаях:
-
В GitHub Advisory Database добавляется новая рекомендация. Дополнительные сведения см. в разделе "Просмотр рекомендаций по безопасности в базе данных рекомендаций по 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
GitHub обнаруживает уязвимые зависимости в общедоступных репозиториях и отображает граф зависимостей, но не создает Dependabot alerts по умолчанию. Владельцы репозитория или пользователи с правами администратора могут включить Dependabot alerts для общедоступных репозиториев. Владельцы частных репозиториев или пользователи с правами администратора могут включить Dependabot alerts путем включения графа зависимостей и Dependabot alerts для своих репозиториев.
Можно включить или отключить Dependabot alerts для всех репозиториев, принадлежащих вашей организации или учетной записи. Дополнительные сведения см. в разделе «Настройка оповещений Dependabot».
Сведения о требованиях к доступу для действий, связанных с Dependabot alerts, см. в разделе "Роли репозиториев для организации".
GitHub сразу начинает создавать граф зависимостей и генерирует оповещения для всех небезопасных зависимостей сразу после их выявления. Обычно граф заполняется в течение нескольких минут, но при наличии репозиториев с большим количеством зависимостей это может занять больше времени. Дополнительные сведения см. в разделе «Управление параметрами безопасности и анализа для репозитория».
Когда GitHub идентифицирует уязвимую зависимость, мы создадим оповещение Dependabot и отображаем его на вкладке "Безопасность" для репозитория и в граф зависимостей репозитория. Оповещение содержит ссылку на затронутый файл в проекте, а также сведения об исправленной версии.
GitHub также может уведомлять пользователей о затронутых репозиториях о новых оповещениях в соответствии с их предпочтениями уведомления. Если Dependabot впервые включена, GitHub не отправляет уведомления для всех уязвимых зависимостей, обнаруженных в репозитории, только для новых уязвимых зависимостей, определенных после включения Dependabot . Дополнительные сведения см. в разделе "Настройка уведомлений для оповещений Dependabot".
Если вы включили Dependabot security updates для репозитория, оповещение также может содержать ссылку на запрос на вытягивание, чтобы обновить манифест или файл блокировки до минимальной версии, которая устраняет уязвимость. Дополнительные сведения см. в разделе Сведения об обновлениях для системы безопасности Dependabot.
Кроме того, можно использовать Правила автообработки зависимостей для управления оповещениями в масштабе, чтобы можно было автоматически закрыть или отклонить оповещения, а также указать, для каких оповещений требуется Dependabot для открытия запросов на вытягивание. Сведения о различных типах правил автоматической сортировки и о том, разрешены ли репозитории, см. в разделе "Сведения о правилах автообработки Dependabot".
Warning
не утверждают, чтобы перехватывать все уязвимости. Мы активно поддерживаем GitHub Advisory Database и создаем оповещения с самыми актуальными сведениями. Но мы не можем обнаружить все вредоносные программы или сообщить вам обо всех известных зависимостях за гарантированный интервал времени. Эти функции не заменяют выполняемую человеком проверку каждой зависимости на наличие потенциальных уязвимостей или любых других проблем, поэтому рекомендуется консультироваться со специалистами службы безопасности или при необходимости проводить тщательный анализ зависимостей.
Доступ к Dependabot alerts
Все оповещения, влияющие на определенный проект на вкладке "Безопасность** репозитория" или в граф зависимостей репозитория**. Дополнительные сведения см. в разделе «Просмотр и обновление оповещений Dependabot».
По умолчанию мы уведомляем людей с разрешениями на запись, обслуживание или администратор в затронутых репозиториях о новых Dependabot alerts. GitHub никогда публично не раскрывает небезопасные уязвимости для каких-либо репозиториев. Вы также можете сделать Dependabot alerts видимыми для дополнительных пользователей или команд, работающих с репозиториями, которыми вы владеете или в которых имеете разрешения администратора. Дополнительные сведения см. в разделе «Управление параметрами безопасности и анализа для репозитория».
Чтобы получать уведомления о Dependabot alerts в репозиториях, необходимо просмотреть эти репозитории и подписаться на получение уведомлений "Все действия" или настроить пользовательские параметры для включения оповещений системы безопасности. Дополнительные сведения см. в разделе Настройка уведомлений. Вы можете выбрать способ доставки уведомлений, а также интервал отправки уведомлений. Дополнительные сведения см. в разделе "Настройка уведомлений для оповещений Dependabot".
Вы также можете просмотреть все Dependabot alerts, соответствующие определенной рекомендации, в GitHub Advisory Database. Дополнительные сведения см. в разделе Просмотр рекомендаций по безопасности в базе данных рекомендаций по GitHub.