Сведения о GitHub Advisory Database
Мы добавляем советы в GitHub Advisory Database из следующих источников.
- Советы по безопасности, опубликованные в GitHub
- Национальная база данных уязвимостей
- База данных советов по безопасности npm
- База данных FriendsOfPHP
- База данных Go Vulncheck
- База данных рекомендаций по упаковке Python
- База данных Ruby Advisory
- База данных RustSec Advisory
- Вклад сообщества. Дополнительные сведения см. в разделе https://github.com/github/advisory-database/pulls.
Если вы знаете другую базу данных, из которую мы должны импортировать рекомендации, сообщите нам об этом, открыв проблему в https://github.com/github/advisory-database.
Советы по безопасности публикуются как JSON-файлы в формате уязвимости с открытым исходным кодом (OSV). Дополнительные сведения о формате OSV см . в формате уязвимостей с открытым исходным кодом.
Типы рекомендаций по безопасности
Каждое сообщение в GitHub Advisory Database предназначено для уязвимости в открытый код проектах или для вредоносного открытый код программного обеспечения.
Уязвимость — это недостаток в коде проекта, который может привести к нарушению конфиденциальности, целостности или доступности проекта или других проектов, использующих его код. Уязвимости зависят от типа, серьезности и метода атаки. Уязвимости в коде обычно возникают случайно и исправляются вскоре после их обнаружения. Необходимо обновить код, чтобы использовать исправленную версию зависимости, как только она станет доступной.
Вредоносные программы, с другой стороны, — это код для намеренного выполнения нежелательных или вредных функций. Вредоносная программа может быть нацелена на оборудование, программное обеспечение, конфиденциальные данные или пользователей любого приложения, использующего вредоносные программы. Необходимо удалить вредоносную программу из проекта и найти альтернативу, более безопасную замену зависимости.
GitHub-проверенные предупреждения
** GitHub-Проверенные** рекомендации сопоставляются с пакетами в поддерживаемых нами экосистемах. Мы тщательно проверяем каждое сообщение на достоверность и гарантируем, что они содержат полное описание, а также информацию об экосистеме и упаковке.
Как правило, мы называем поддерживаемые экосистемы по имени реестра пакетов соответствующего языка программирования программного обеспечения. Мы проверяем рекомендации, если они предназначены для уязвимости в пакете, который поступает из поддерживаемого реестра.
- Composer (реестр: https://packagist.org/)
- Erlang (реестр: https://hex.pm/)
- Go (реестр: https://pkg.go.dev/)
- Действия на GitHub (https://github.com/marketplace?type=actions/)
- Maven (реестр: https://repo.maven.apache.org/maven2)
- Npm (реестр: https://www.npmjs.com/)
- NuGet (реестр: https://www.nuget.org/)
- Pip (реестр: https://pypi.org/)
- Pub (реестр: https://pub.dev/packages/registry)
- RubyGems (реестр: https://rubygems.org/)
- Rust (реестр: https://crates.io/)
- Swift (реестр: N/A)
Если вы хотите предложить новую экосистему, которую нам стоит поддерживать, откройте проблему для обсуждения.
Если вы включите Dependabot alerts репозитории, вы автоматически получаете уведомление, когда новое GitHub-рассмотренное сообщение сообщает о уязвимости для пакета, от которого вы зависите. Дополнительные сведения см. в разделе Сведения об оповещениях Dependabot.
Непроверенные рекомендации
Непроверенные уведомления публикуются автоматически в GitHub Advisory Database, прямо из ленты Национальной базы уязвимостей.
Dependabot Это не создаёт Dependabot alerts для непроверенных рекомендаций, так как такие рекомендации не проверяются на достоверность или выполнение.
Рекомендации по вредоносным программам
Предупреждения о вредоносном ПО связаны с уязвимостями, вызванными вредоносным ПО, и являются эксклюзивными для экосистемы NPM. Мы автоматически публикуем их в GitHub Advisory Database, напрямую из информации, предоставленной командой безопасности NPM.
Dependabot не генерирует оповещения при обнаружении вредоносного ПО, так как большинство уязвимостей не могут быть устранены пользователями. Вы можете просмотреть предупреждения о вредоносном ПО, найдя `type:malware` в GitHub Advisory Database.
Наши рекомендации по вредоносным программам в основном относятся к атакам на подстановку. Во время этой атаки злоумышленник публикует пакет в общедоступный реестр с тем же именем, что и зависимость, которую пользователи используют от стороннего или частного реестра, с надеждой на использование вредоносной версии. Dependabot Не проверяет конфигурации проекта, чтобы определить, исходят ли пакеты из приватного реестра, поэтому мы не уверены, используете ли вы вредоносную версию или не-вредоносную. Пользователи, имеющие соответствующие зависимости, не должны влиять на вредоносные программы.
Информация в советах по безопасности
В этом разделе вы можете найти более подробную информацию о конкретных атрибутах GitHub Advisory Databaseданных .
GHSA ID
Каждый совет по безопасности, независимо от его типа, имеет уникальный идентификатор, называемый идентификатором GHSA. Квалификатор GHSA-ID назначается, когда на любой из поддерживаемых источников создаётся GitHub или GitHub Advisory Database добавляется новое уведомление.
Синтаксис идентификаторов GHSA следует этому формату: GHSA-xxxx-xxxx-xxxx где:
x— буква или число из следующего набора.23456789cfghjmpqrvwxGHSAЗа пределами части имени:- Числа и буквы назначаются случайным образом.
- Все буквы являются строчными буквами.
Вы можете проверить идентификатор GHSA с помощью регулярного выражения.
/GHSA(-[23456789cfghjmpqrvwx]{4}){3}/
/GHSA(-[23456789cfghjmpqrvwx]{4}){3}/
Уровни CVSS
Поддерживается GitHub Advisory Database как CVSS версии 3.1, так и CVSS версии 4.0.
Каждая рекомендация по безопасности содержит информацию об уязвимости или вредоносной программе, которая может включать описание, серьезность, затронутый пакет, экосистему пакетов, затронутые версии и версии с исправлениями, влияние и дополнительную информацию, такую как ссылки, обходные решения и кредиты. Кроме того, рекомендации из списка Национальной базы данных уязвимостей содержат ссылку на запись CVE, где вы можете прочитать более подробную информацию об уязвимости, ее оценках CVSS и качественном уровне серьезности. Дополнительные сведения см. в национальной базе данных уязвимостей Национального института стандартов и технологий.
Уровень серьезности — один из четырех возможных уровней, определенных в системе оценки распространенных уязвимостей (CVSS), разделе 5.
- Low
- Средний или умеренный
- High
- Критически важно
Используются уровни CVSS, описанные GitHub Advisory Database выше. Если GitHub получается CVE, используется GitHub Advisory Database версия CVSS, назначенная сопровождающим, которая может быть версией 3.1 или 4.0. Если CVE импортируется, он GitHub Advisory Database поддерживает CVSS версии 4.0, 3.1 и 3.0.
Вы также можете присоединить GitHub Security Lab для просмотра тем, связанных с безопасностью, и внести свой вклад в средства безопасности и проекты.
Оценки EPSS
Система оценки эксплойтов или EPSS — это система, разработанная глобальным форумом по реагированию на инциденты и командам безопасности (FIRST) для оценки вероятности эксплойтов уязвимостей. Модель создает оценку вероятности от 0 до 1 (от 0 до 100%), где выше оценка, тем больше вероятность того, что уязвимость будет использована. Дополнительные сведения о FIRST см. в статье https://www.first.org/.
Включает оценки EPSS от FIRST для рекомендаций, GitHub Advisory Database содержащих CVE с соответствующими данными EPSS. GitHub также отображается процентиль EPSS, который представляет собой долю всех отмеченных уязвимостей с одинаковым или более низким показателем EPSS.
Например, если у рекомендации была оценка EPSS, которая имела процент 90,534% на 95-м процентиле, согласно модели EPSS, это означает:
- Существует 90,534% вероятность использования этой уязвимости в дикой природе в ближайшие 30 дней.
- 95% от общих моделиированных уязвимостей считаются менее вероятными для использования в ближайшие 30 дней, чем эта уязвимость.
Дополнительные сведения о том, как интерпретировать эти данные, можно найти в руководстве пользователя FIRST EPSS. Эта информация помогает понять, как можно использовать процент и процентиль для интерпретации вероятности того, что уязвимость может быть использована в дикой природе в соответствии с моделью FIRST. Дополнительные сведения см. в руководстве пользователя FIRST EPSS на первом веб-сайте.
FIRST также предоставляет дополнительные сведения о распределении данных EPSS. Дополнительные сведения см . в документации по данным и статистике EPSS на первом веб-сайте.
Примечание.
GitHub поддерживает данные EPSS в актуальном состоянии с помощью ежедневной синхронизации. Хотя проценты оценки EPSS всегда будут полностью синхронизированы, процентилей оценки будут обновляться только при значительно разных изменениях.
В GitHub, мы не являемся авторами этих данных, а берём их из FIRST, что означает, что эти данные не подлежат редактированию в сообществах. Дополнительные сведения о вкладах сообщества см. в разделе Изменение рекомендаций по безопасности в базе данных рекомендаций по GitHub.
Вклад сообщества
Вклад **** сообщества — это запрос на вытягивание, отправленный в репозиторий github/advisory-database, который улучшает содержимое рекомендаций по глобальной безопасности. Когда вы делаете вклад в сообщество, вы можете редактировать или добавить любые детали, включая дополнительные затронутые экосистемы, уровень тяжести или описание того, кто пострадал. Команда GitHub Security Lab кураторов проверит поступленные материалы и публикует их в GitHub Advisory Database её случае, если они будут приняты.
Дополнительные материалы
- Сведения об оповещениях Dependabot
- Определение программы CVE по "уязвимости"