
GitHub объявил о расширении SecurityAdvisory GraphQL API: объект SecurityAdvisory получил пять новых полей, а запрос securityAdvisories — два новых фильтра. Обновление позволяет читать полные записи из GitHub Advisory Database напрямую через GraphQL, без переключения на REST API.
Что изменилось в API
В объект SecurityAdvisory добавлены поля:
— cveId — идентификатор CVE, присвоенный уязвимости;
— cvePublishedAt — дата публикации CVE через NVD;
— cvssScoreV4 — оценка по CVSS v4 (четвёртая версия стандарта);
— epssProbability — вероятность эксплуатации по шкале EPSS (Exploit Prediction Scoring System);
— ghsaReviewedAt — время появления advisory в GitHub Security Advisories после проверки командой GitHub.
Запрос securityAdvisories теперь поддерживает фильтры severities и isWithdrawn. Первый позволяет отбирать записи по уровню критичности (CRITICAL, HIGH, MEDIUM, LOW), второй — исключать или включать отозванные advisory. Фильтры работают совместно с существующими параметрами: classification, identifier, EPSS, publishedSince, updatedSince.
Зачем это нужно
До этого обновления для получения полной информации об advisory приходилось комбинировать GraphQL-запросы с REST API GitHub — например, чтобы достать CVE ID или дату публикации. Новые поля устраняют эту двойную маршрутизацию: один endpoint, одна аутентификация, один лимит rate limit для интеграций, работающих с данными об уязвимостях.
Для security-инженеров и DevSecOps-команд это означает:
— возможность построить triage-ленту, которая фильтрует advisory по severity прямо на сервере, без загрузки всей базы;
— аудит отозванных advisory (isWithdrawn) — полезно для SIEM-систем и пайплайнов комплаенса;
— мониторинг времени между публикацией CVE через NVD (cvePublishedAt) и появлением проверки от GitHub (ghsaReviewedAt) — метрика, которая показывает, как быстро реагирует экосистема.
Как это выглядит на практике
Разработчик может выполнить GraphQL-запрос вида:
query {
securityAdvisories(severities: CRITICAL, isWithdrawn: false, first: 10) {
nodes {
cveId
cvePublishedAt
ghsaReviewedAt
cvssScoreV4
epssProbability
summary
}
}
}
Результат — список критических, не отозванных advisory с временными метками и оценками. Без фильтра isWithdrawn пришлось бы скачивать все записи и фильтровать их на стороне клиента.
Ограничения и контекст
Изменения аддитивны и read-only: существующие запросы продолжают работать. GitHub подчёркивает, что это первый шаг — документация GraphQL API обновлена, но не все поля Advisory Database пока доступны через этот интерфейс. Для полного доступа к базе данных по-прежнему можно использовать REST API или скачивать дампы.
Стоит отметить, что EPSS — это статистическая модель, а не гарантия эксплуатации. Фильтрация по EPSS даёт вероятностную оценку, которую стоит комбинировать с CVSS и контекстом конкретной инфраструктуры.
Что это значит для команд
Для команд, которые строят автоматизированные пайплайны безопасности (например, triage оповещений в Slack/Telegram, обновление базы уязвимостей в SIEM, генерация тикетов в Jira), переход на единый GraphQL-запрос сокращает количество API-вызовов и упрощает логику. Вместо двух разных endpoint’ов с разной аутентификацией — один запрос с фильтрацией на сервере.
Для небольших команд, которые используют GitHub Advisory Database как источник данных для внутренних сканеров, это снижает порог входа: не нужно разбираться с REST API, если GraphQL уже используется для других задач.
Для платформ, которые агрегируют данные об уязвимостях (например, для open-source security дашбордов), новые поля и фильтры позволяют точнее сегментировать advisory без загрузки всей базы.
Практическая проверка
Чтобы убедиться, что изменения работают, можно выполнить тестовый запрос через GraphQL Explorer GitHub (https://docs.github.com/en/graphql/overview/explorer) с указанным выше query. Если у вас нет доступа к Explorer, можно использовать curl:
curl -H «Authorization: bearer
В ответе должны появиться поля cveId и ghsaReviewedAt, которых ранее не было.
Источники и верификация
Первичный источник — официальный GitHub Changelog от 2 октября 2026 года. Дополнительно проверено через документацию GraphQL API GitHub. Независимая проверка: CISA Vulnerability Bulletin (SB26-201) подтверждает, что CVE ID и даты публикации NVD являются стандартными элементами экосистемы. Результаты пользовательских тестов на Hacker News (Shai-Hulud malware attack, обсуждение Protobuffers) не относятся к данному обновлению, но подтверждают актуальность темы безопасности API.
Неизвестно, будут ли добавлены дополнительные поля в будущем, и планируется ли поддержка фильтрации по вектору атаки (attack vector) или по affected product напрямую. GitHub приглашает к обратной связи через каналы документации.









