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

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

Практическая работа: одна строка матрицы end-to-end

Цель

Собрать и проверить одну полную строку доказательной матрицы требование → практика → артефакт (evidence) для конкретного релиза так, чтобы строка прошла аудит: была привязана к пункту требования, подтверждена конформным артефактом, имела владельца, место хранения и была воспроизводима.

Что понадобится

Шаги

Шаг 1. Выбрать требование

Возьмите одно из пяти требований КАПО (ГОСТ Р 56939-2024 / Проект ГОСТ Р КАПО). Рекомендуется «Формирование перечня зависимостей (ППК/SBOM)» — для него evidence машинный и проверяемый. Запишите формулировку требования дословно.

Шаг 2. Привязать практику и SSDF

Найдите практику курса, которая реализует требование, и соответствующую практику SSDF. Для ППК это П03 (или П04 для C/C++) и SSDF PS.3.2. Зафиксируйте: репозиторий, commit/tag, инструмент, версию инструмента, дату.

Шаг 3. Получить артефакт и проверить конформность по BSI

Возьмите CycloneDX 1.6 JSON релиза и проверьте минимальные поля BSI TR-03183-2 (BSI TR-03183-2 v2.1.0):

# поля самого SBOM (§5.2.1): creator и timestamp
jq '.metadata.timestamp, .metadata.authors, .metadata.tools' sbom.cdx.json

# координаты компонентов (§5.2.2): имя, версия, purl
jq -r '.components[] | [.name, .version, .purl] | @tsv' sbom.cdx.json | head

# версия спецификации должна быть >= 1.6
jq '.specVersion' sbom.cdx.json

Убедитесь, что в SBOM нет блока уязвимостей (BSI §8.1.14 — это MUST NOT):

jq 'has("vulnerabilities")' sbom.cdx.json   # ожидаем false

Шаг 4. Привязать динамическую часть отдельно

Сведения об уязвимостях — отдельный артефакт. Возьмите VEX/VDR (П09, П35) и проверьте, что вердикт ссылается на конкретную версию компонента из SBOM шага 3.

Шаг 5. Заполнить строку матрицы

В шаблоне заполните: требование (дословно) · практика (Пxx + SSDF ID) · норма BSI · артефакт · владелец (роль, не ФИО) · место хранения · дата · версия инструмента.

Шаг 6. Проверить воспроизводимость

Опишите, как получить тот же артефакт на следующем релизе одной командой/процедурой. Если воспроизвести нельзя — строка не зачтена.

Что вы должны увидеть

Если не получилось

Критерий зачёта

Преподавателю предъявляется одна строка матрицы, для которой выполнены все условия: привязка к пункту требования, конформный артефакт (поля BSI §5.2, без vuln-данных), отдельный VEX/VDR с привязкой к версии, владелец, место хранения, дата/версия инструмента и описанная процедура воспроизведения на следующем релизе.

Нормативная связка

ГОСТ Р 56939-2024 · Проект ГОСТ Р КАПО · NIST SP 800-218 SSDF · BSI TR-03183-2 v2.1.0 · Матрица evidence для аудита · Журналирование и audit trail