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

Рекомендации по написанию рекомендаций по безопасности репозитория

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

Любой пользователь с разрешениями администратора для репозитория может создать и изменить рекомендации по безопасности.

Примечание. Если вы занимаетесь исследованиями в сфере безопасности, обратитесь напрямую к специалистам по поддержке, чтобы попросить их создать рекомендации по безопасности или выдать CVE от вашего имени в репозиториях, которые вы не администрируете. Однако если для репозитория включена частная отчетность vulnerabiliy, вы можете самостоятельно сообщить об уязвимости в частном порядке . Дополнительные сведения см. в разделе Конфиденциальное сообщение об уязвимости системы безопасности.

Рекомендации по безопасности для репозиториев

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

Рекомендации

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

Если следовать синтаксису для GitHub Advisory Database, особенно при определении затронутых версий:

  • Когда вы публикуете рекомендации по репозиторию, мы можем добавить ваши рекомендации в GitHub Advisory Database в качестве рекомендаций "GitHub, проверенных" без необходимости запрашивать дополнительные сведения.
  • Dependabot будет иметь сведения для точного определения затронутых репозиториев и отправки им Dependabot alerts для уведомления.
  • Участники сообщества с меньшей вероятностью будут предлагать изменения в рекомендации, чтобы исправить отсутствующие или неправильные сведения.

Вы можете добавить или изменить рекомендации репозитория с помощью формы Черновая форма рекомендаций по безопасности . Дополнительные сведения см. в разделе Создание рекомендаций по безопасности репозитория.

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

Экосистема

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

Снимок экрана: область "Затронутые продукты" в форме рекомендаций по безопасности. Поле "Экосистема" выделено темно-оранжевым контуром.

Имя пакета

Мы рекомендуем использовать поле Имя пакета , чтобы указать, какие пакеты затрагиваются, так как сведения о пакете требуются для рекомендаций "GitHub, проверенных" в GitHub Advisory Database. Сведения о пакете являются необязательными для рекомендаций по безопасности на уровне репозитория, но включение этих сведений на раннем этапе упрощает процесс проверки при публикации рекомендаций по безопасности.

Затронутые версии

Мы рекомендуем использовать поле Затронутые версии , чтобы указать, какие версии затрагиваются, так как эти сведения необходимы для рекомендаций GitHub, проверенных в GitHub Advisory Database. Сведения о версии являются необязательными для рекомендаций по безопасности на уровне репозитория, но включение этих сведений на раннем этапе упрощает процесс проверки при публикации рекомендаций по безопасности.

  • Допустимая затронутая строка версии состоит из одного из следующих элементов:

    • Последовательность операторов нижней границы.
    • Последовательность операторов с верхней границей.
    • Последовательность операторов верхней и нижней границы.
    • Определенная последовательность версий с помощью оператора равенства (=).
  • Каждая последовательность операторов должна быть указана как оператор, один пробел, а затем версия.

    • Допустимые операторы: =, <, <=, >или >=.

    • Версия должна начинаться с числа, за которым следует любое число цифр, букв, точек, дефисов или символов подчеркивания (кроме пробелов или запятых).

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

      Примечание: Затронутые строки версии не могут содержать начальные или конечные пробелы.

  • Операторы верхней границы могут быть инклюзивными или эксклюзивными, т. е. <= или <соответственно.

  • Операторы нижней границы могут быть инклюзивными или эксклюзивными, т. е. >= или >соответственно. Однако если вы публикуете рекомендации репозитория и мы переводим их в глобальную рекомендацию, применяется другое правило: строки с нижней границой могут быть только инклюзивными, т. е. >=. Оператор монопольной нижней границы (>) допускается только в том случае, если версия имеет значение 0, например > 0.

    Заметки: Ограничение нижней границы:

    • из-за несовместимости со схемой OSV (уязвимость с открытым кодом).
    • Применяется только при внесении предложения по существующим рекомендациям в GitHub Advisory Database.
  • Нельзя указать несколько затронутых диапазонов версий в одном поле, например > 2.0, < 2.3, > 3.0, < 3.2. Чтобы указать несколько диапазонов, необходимо создать новый раздел Затронутые продукты для каждого диапазона, нажав кнопку + Добавить еще один затронутый продукт .

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

  • Если затронутый диапазон версий включает только одну верхнюю или нижнюю границу:

    • Неявное значение всегда > 0 имеет значение, если нижняя граница не указана явным образом.
    • Неявное значение всегда бесконечно, если верхняя граница явно не указана.

Дополнительные сведения о GitHub Advisory Database см. в разделе https://github.com/github/advisory-database.