Как читать авторский курс и нормативные материалы
Это учебные материалы, а не заключение о соответствии конкретного продукта. Организационные модели курса отделяйте от терминов стандарта: ППК в опубликованном проекте — машиночитаемый перечень, а живой реестр его версий является практикой сопровождения. Термин OSA в разных материалах имеет разный охват. Статус и обязательность нормативного документа проверяются отдельно; проект КАПО опубликован как проект первой редакции.
CVE
Для чего
CVE (Common Vulnerabilities and Exposures) — это система единых идентификаторов публично известных уязвимостей вида CVE-2022-25883. Один CVE-идентификатор присваивается одной уязвимости в конкретном продукте/компоненте и служит общим ключом, по которому разные источники (NVD, OSV, GHSA, БДУ ФСТЭК) ссылаются на одну и ту же проблему. Сам по себе CVE — это не база с оценками, а реестр записей CVE List, поддерживаемый программой MITRE и сетью CNA (CVE Numbering Authorities).
Как применяют
В SCA CVE-идентификатор — это точка сшивки между находкой сканера и любым справочником обогащения. Каноничная запись доступна по REST API CVE Services (формат CVE Record v5.1, JSON):
curl -s https://cveawg.mitre.org/api/cve/CVE-2022-25883 | jq '.containers.cna.descriptions[0].value, .containers.cna.affected[0].versions'
Фрагмент CVE Record v5.x с привязкой к компоненту через PURL и диапазон версий:
{ "cveMetadata": { "cveId": "CVE-2022-25883", "state": "PUBLISHED" },
"containers": { "cna": { "affected": [
{ "collectionURL": "https://www.npmjs.com", "packageName": "semver",
"versions": [{ "version": "0", "lessThan": "7.5.2", "status": "affected" }] }
]}}}
В VDR (CycloneDX) тот же CVE появляется как vulnerabilities[].id, привязанный к affects[].ref (PURL компонента) — именно так находка pkg:npm/semver@7.3.7 → CVE-2022-25883 становится трассируемой.
Сильные стороны
- Универсальный ключ: один идентификатор связывает NVD, OSV, GHSA, EPSS, KEV и БДУ ФСТЭК между собой.
- Формат CVE Record v5 машиночитаем (JSON), включает структурированные
affected-блоки с диапазонами версий и CPE/PURL. - Записи ведут аккредитованные CNA (в т.ч. сами вендоры), что повышает достоверность для своих продуктов.
Ограничения
- CVE List — это только описания и метаданные; оценок CVSS, EPSS, признака «эксплуатируется» в самой записи может не быть (обогащение — у NVD/EPSS/KEV).
- Не каждая уязвимость получает CVE: часть проблем в OSS живёт только в GHSA/OSV без CVE-идентификатора.
- Задержки и споры по
RESERVED/REJECTED-статусам; диапазоны версий вaffectedисторически заполнены неравномерно. - Покрытие смещено в сторону западной экосистемы; для требований регулятора нужен национальный источник (БДУ ФСТЭК).
Offline / on-premise
Частично. Полный дамп CVE List v5 публикуется в открытом Git-репозитории cvelistV5 (по одному JSON-файлу на запись) и официальными bulk-архивами CVE Program — их можно зеркалировать в закрытый контур и обновлять по расписанию. Онлайн-обращение к cveawg.mitre.org в изолированном контуре недоступно, поэтому работают с локальной копией дампа.
Связанные темы
М04. Идентификаторы компонентов и уязвимостей · М06. Поиск уязвимостей и управление VDR/VEX
Смежные карточки: NVD · CWE · EPSS · CISA KEV · OSV.dev · GitHub Security Advisory · БДУ ФСТЭК · CPE · Package URL
Практики: П09. VDR и VEX различие факта и решения · П10. БДУ ФСТЭК как национальный источник · П25. CPE alias worklist