Пиков / КАПО
Как читать авторский курс и нормативные материалы

Это учебные материалы, а не заключение о соответствии конкретного продукта. Организационные модели курса отделяйте от терминов стандарта: ППК в опубликованном проекте — машиночитаемый перечень, а живой реестр его версий является практикой сопровождения. Термин OSA в разных материалах имеет разный охват. Статус и обязательность нормативного документа проверяются отдельно; проект КАПО опубликован как проект первой редакции.

GitHub Security Advisory

Для чего

GitHub Security Advisory (GHSA) — это база уязвимостей с привязкой к экосистемам пакетных менеджеров (npm, PyPI, Maven, Go, RubyGems, NuGet, Composer, Rust crates и др.). В отличие от NVD, где компонент описан через CPE, GHSA сразу указывает имя пакета в его реестре и затронутые диапазоны версий. Каждой записи присваивается собственный идентификатор GHSA-xxxx-xxxx-xxxx, который часто (но не всегда) связан с CVE.

Как применяют

GHSA доступна через GraphQL API GitHub и используется как один из источников экосистемного матчинга в сканерах (Grype, OSV — GHSA входит в агрегат OSV.dev). Запрос advisory по экосистеме:

query {
  securityVulnerabilities(ecosystem: NPM, package: "semver", first: 5) {
    nodes { advisory { ghsaId, identifiers { type value } }
            vulnerableVersionRange, firstPatchedVersion { identifier } }
  }
}

Фрагмент ответа (то, что реально потребляет SCA — пакет, диапазон, патч):

{ "advisory": { "ghsaId": "GHSA-c2qf-rxjj-qqgw",
    "identifiers": [{ "type": "CVE", "value": "CVE-2022-25883" }] },
  "vulnerableVersionRange": "< 7.5.2", "firstPatchedVersion": { "identifier": "7.5.2" } }

Полная база advisories также выгружается из открытого репозитория advisory-database в формате OSV (по файлу на запись), что удобно для офлайн-джойна по PURL.

Сильные стороны

Ограничения

Offline / on-premise

Частично. Вся база advisories доступна как открытый Git-репозиторий с записями в формате OSV — его можно полностью зеркалировать в закрытый контур и обновлять по расписанию, затем матчить компоненты локально. Онлайн-обращение к GraphQL API GitHub из изолированной сети недоступно; в нём работают с реплицированным дампом.

Связанные темы

М06. Поиск уязвимостей и управление VDR/VEX · М04. Идентификаторы компонентов и уязвимостей

Смежные карточки: OSV.dev · CVE · NVD · OSS Index · Package URL · Grype · OSV-Scanner · OpenSSF Scorecard

Практики: П07. OSV-Scanner и lockfiles · П06. Grype поверх готового SBOM · П24. PURL нормализация и private qualifiers