Как читать авторский курс и нормативные материалы
Это учебные материалы, а не заключение о соответствии конкретного продукта. Организационные модели курса отделяйте от терминов стандарта: ППК в опубликованном проекте — машиночитаемый перечень, а живой реестр его версий является практикой сопровождения. Термин OSA в разных материалах имеет разный охват. Статус и обязательность нормативного документа проверяются отдельно; проект КАПО опубликован как проект первой редакции.
Билет 05
Теоретический вопрос
Сопоставьте три генератора SBOM — Syft, Trivy и cdxgen — по принципу работы и зоне применимости. Syft и Trivy опираются на распознавание пакетов файловой системы/образа, cdxgen умеет читать манифесты сборки и лучше держит экосистемы со сборочными графами. Почему ни один из них не «истина в последней инстанции», и почему сам факт «инструмент отработал без ошибок» не означает, что состав восстановлен полностью?
Практический вопрос
Мини-кейс Нужно получить SBOM для проекта, где часть зависимостей — npm с lock-файлом, а часть — C/C++ из системных пакетов. Подберите инструмент под каждую часть и команды генерации. Объясните, почему для npm результат будет ближе к полному, а для C/C++ потребует доработки.
syft dir:. -o cyclonedx-json=sbom-syft.json
trivy fs --format cyclonedx --output sbom-trivy.json .
cdxgen -t c -o sbom-cdxgen.json .
Что должен показать ответ
- Источник факта: вывод генератора как кандидат-SBOM, требующий проверки полноты, а не финальный артефакт.
- Инструмент: выбор Syft/Trivy/cdxgen под экосистему; формат вывода
cyclonedx-json. - Владелец решения: выбор генератора и трактовка пробелов — за специалистом композиционного анализа; полнота как требование — в соглашении о качестве данных.
- Нормативная опора: CISA Minimum Elements for SBOM, ГОСТ Р 56939-2024, OWASP SCVS.
- Evidence: сохранённый сгенерированный SBOM + отметка о зонах, где генератор недосчитал компоненты.