Любой пользователь с правами администратора в репозитории может создать рекомендации по безопасности.
Любой пользователь с разрешениями администратора в репозитории также имеет разрешения администратора для всех рекомендаций по безопасности в этом репозитории. Пользователи с разрешениями администратора для рекомендаций по безопасности могут добавлять участников совместной работы, а участники совместной работы имеют разрешения на запись в рекомендации по безопасности.
Примечание. Если вы занимаетесь исследованиями в сфере безопасности, обратитесь напрямую к специалистам по поддержке, чтобы попросить их создать рекомендации по безопасности или выдать CVE от вашего имени в репозиториях, которые вы не администрируете. Однако если для репозитория включена частная отчетность vulnerabiliy, вы можете самостоятельно сообщить об уязвимости в частном порядке . Дополнительные сведения см. в разделе Конфиденциальное сообщение об уязвимости системы безопасности.
Сведения о рекомендациях по безопасности репозитория
Раскрытие уязвимостей — это область, в которой очень важно сотрудничество между специалистами, сообщающими об уязвимостях, такими как исследователи по безопасности и специалисты по поддержке проектов. Обе стороны должны работать как одна команда с того момента, когда обнаружена потенциально вредная уязвимость безопасности, и до тех пор, пока уязвимость не будет раскрыта миру (в идеале — с доступным исправлением). Как правило, когда кто-то сообщает специалисту-специалисту об уязвимости системы безопасности в частном порядке, специалист по поддержке разрабатывает исправление, проверяет его и уведомляет пользователей о проекте или пакете. Дополнительные сведения см. в разделе Сведения о скоординированном раскрытии информации об уязвимостях безопасности.
Рекомендации по безопасности репозитория позволяют обслуживателям репозитория в частном порядке обсуждать и устранять уязвимость системы безопасности в проекте. После совместной работы над исправлением разработчики репозиториев могут публиковать рекомендации по безопасности, чтобы сообщить об уязвимости системы безопасности сообществу проекта. Публикуя рекомендации по безопасности, разработчики репозитория упрощают для сообщества обновление зависимостей пакетов и ознакомление с последствиями уязвимостей системы безопасности.
С помощью рекомендаций по безопасности репозитория вы можете:
- Создать черновик рекомендации по безопасности и с его помощью в частном порядке обсудить влияние уязвимости на проект. Дополнительные сведения см. в разделе Создание рекомендаций по безопасности репозитория.
- Осуществляйте закрытую совместную работу для устранения уязвимости во временной частной вилке.
- Опубликовать рекомендацию по безопасности, чтобы уведомить сообщество об уязвимости после выпуска исправления. Дополнительные сведения см. в разделе Публикация рекомендаций по безопасности репозитория.
Вы также можете использовать рекомендации по безопасности репозитория для повторной публикации сведений об уязвимости безопасности, которые вы уже раскрыли в другом месте, скопировав и вставив сведения об уязвимости в новые рекомендации по безопасности.
Вы также можете использовать REST API для создания, перечисления и обновления рекомендаций по безопасности репозитория. Дополнительные сведения см. в разделе Рекомендации по безопасности репозитория в документации по REST API.
Вы можете поблагодарить лиц, которые внесли свой вклад в создание рекомендации по безопасности. Дополнительные сведения см. в разделе Изменение рекомендаций по безопасности репозитория.
Вы можете создать политику безопасности, чтобы предоставить пользователям инструкции о том, как сообщать об уязвимостях системы безопасности в проекте. Дополнительные сведения см. в разделе Добавление политики безопасности в репозиторий.
Если вы создали рекомендацию по безопасности в репозитории, она останется в репозитории. Мы публикуем рекомендации по безопасности для всех экосистем, поддерживаемых схемой зависимостей, в GitHub Advisory Database в github.com/advisories. Любой пользователь может отправить изменение для рекомендации, опубликованной в GitHub Advisory Database. Дополнительные сведения см. в разделе Изменение рекомендаций по безопасности в базе данных рекомендаций по GitHub.
Если рекомендация по безопасности относится к npm, мы также опубликуем ее в рекомендациях по безопасности для npm. Дополнительные сведения см. в разделе npmjs.com/advisories.
Вы также можете присоединить GitHub Security Lab для просмотра тем, связанных с безопасностью, и внести свой вклад в средства безопасности и проекты.
Идентификационные номера CVE
GitHub Security Advisories основаны на списке распространенных уязвимостей (CVE). Форма рекомендаций по безопасности для GitHub — это стандартная форма, соответствующая формату описания CVE.
GitHub — это центр нумерации CVE (CNA), которому разрешено назначать идентификационные номера CVE. Дополнительные сведения см. в разделе "Сведения о CVE" и "Центры нумерации CVE" на веб-сайте CVE.
При создании рекомендации по безопасности для общедоступного репозитория в GitHub для уязвимости безопасности можно указать существующий идентификационный номер CVE. Если вы хотите получить идентификационный номер CVE для уязвимости системы безопасности вашего проекта, и у вас его еще нет, то можно запросить идентификационный номер CVE в GitHub. Обычно GitHub проверяет запрос в течение 72 часов. Запрос идентификационного номера CVE не делает ваши рекомендации по безопасности общедоступными. Если ваша рекомендация по безопасности имеет разрешение на CVE, GitHub зарезервирует идентификационный номер CVE для вашей рекомендации. Затем мы опубликуем сведения о CVE после того, как ваши рекомендации по безопасности станут общедоступными. Любой пользователь с разрешениями администратора для рекомендаций по безопасности может запросить идентификационный номер CVE.
Если у вас уже есть номер CVE, который вы хотите использовать, например, в случае использования центра нумерации CVE (CNA), отличающегося от GitHub, добавьте номер CVE в форму рекомендаций по безопасности. Например, это может произойти, если вы хотите настроить рекомендации по безопасности в соответствии с другими взаимодействиями, которые планируете отправить во время публикации. GitHub не может назначать номера CVE проекту, если он охватывается другой CNA.
Когда мы опубликуем рекомендацию по безопасности и GitHub присвоит уязвимости идентификационный номер CVE, GitHub опубликует CVE в базе данных MITRE. Дополнительные сведения см. в разделе Публикация рекомендаций по безопасности репозитория.
Dependabot alerts для опубликованных рекомендаций по безопасности
GitHub проверяет каждую опубликованную рекомендацию по безопасности, добавляет ее в GitHub Advisory Database и может использовать ее для отправки Dependabot alerts в затронутые репозитории. Если рекомендация по безопасности поступает из вилки, мы отправим оповещение только в том случае, если пакет принадлежит вилке и опубликован под уникальным именем в общедоступном реестре пакетов. Этот процесс может занять до 72 часов, и с GitHub может поступить запрос дополнительных сведений.
Дополнительные сведения о Dependabot alerts см. в разделах Сведения об оповещениях Dependabot и Сведения об обновлениях для системы безопасности Dependabot. Дополнительные сведения о GitHub Advisory Database см. в разделе Просмотр рекомендаций по безопасности в базе данных рекомендаций по GitHub.