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

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

OpenVEX

Для чего

OpenVEX — минималистичный формат VEX-утверждений (Vulnerability Exploitability eXchange): он отвечает не на вопрос «есть ли в составе уязвимый компонент», а на вопрос «эксплуатируема ли эта уязвимость в нашем продукте». Это инструмент гашения шума: сканер нашёл CVE в зависимости, OpenVEX-документ заявляет not_affected с обоснованием — и находка обоснованно снимается. В отличие от тяжёлого CSAF, это отдельный компактный JSON-LD. Смысл issuer и evidence разобран в VEX в процессе РБПО.

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

Документ — JSON-LD с массивом statements, каждое связывает уязвимость, продукт и статус:

{
  "@context": "https://openvex.dev/ns/v0.2.0",
  "author": "Организация",
  "statements": [{
    "vulnerability": { "name": "CVE-2024-0001" },
    "products": [{ "@id": "pkg:conan/openssl@3.0.13" }],
    "status": "not_affected",
    "justification": "vulnerable_code_not_in_execute_path"
  }]
}

Статус — ровно одно из четырёх значений: not_affected, affected, fixed, under_investigation. Ключевое правило: статус not_affected обязан нести обоснование — либо justification из фиксированного перечня (component_not_present, vulnerable_code_not_present, vulnerable_code_not_in_execute_path, vulnerable_code_cannot_be_controlled_by_adversary, inline_mitigations_already_exist), либо текстовый impact_statement. Продукт адресуется через Package URL. Сканеры (Grype, OSV-Scanner) принимают такой документ на вход и фильтруют находки. Поле author должно указывать сторону, ответственную за продукт, а не базу уязвимостей.

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

Ограничения

Offline / on-premise

Полностью офлайновый: документ генерируется и потребляется как локальный JSON, привязка к находкам сканера идёт без сети. В закрытом контуре VEX-утверждения хранятся рядом с SBOM и применяются на этапе триажа без внешних обращений.

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

М06 Поиск уязвимостей · М08 Защита цепочки поставки и OSA Справка: VEX в процессе РБПО Практики: П09. VDR и VEX различие факта и решения · П35. VEX triage Смежные карточки: CSAF · CycloneDX · Package URL · Grype · OSV-Scanner