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

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

GUAC

Для чего

GUAC (Graph for Understanding Artifact Composition) — не генератор, а агрегатор: он поглощает множество SBOM, provenance-свидетельств (SLSA/in-toto), VEX и advisory из разных источников и сшивает их в единый граф знаний об артефактах. Отвечает на вопросы уровня портфеля, которые отдельный SBOM не закрывает: «где во всех наших образах используется эта уязвимая версия библиотеки» и «что зависит от данного компонента».

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

GUAC поднимается как сервис (GraphQL API + хранилище), в него загружают документы, а запросы идут к графу:

guacone collect files ./sboms/        # загрузка SBOM/attestations в граф
# далее запрос к GraphQL API, например, поиск всех артефактов с pkg:npm/log4j-...

Внутри GUAC нормализует разные форматы к узлам «пакет», «артефакт», «источник», «свидетельство» и строит рёбра между ними. Это позволяет за один запрос пройтись по всему портфелю, а не открывать SBOM по одному.

Обратные запросы по всему парку Сила GUAC — не в одном SBOM, а в графе по всему портфелю. Он отвечает на «кто зависит от X» и «где используется уязвимая версия» одним запросом, не открывая документы по одному. Это уровень управления парком артефактов.

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

Ограничения

Граф не лучше своих источников GUAC агрегирует, но не чинит данные: неполные или неточные SBOM на входе дают неполный граф, а его полнота равна полноте и свежести загруженных документов. Плюс это инфраструктура (сервис + БД) с собственной стоимостью сопровождения.

Offline / on-premise

Разворачивается полностью on-premise: сервис, хранилище и API живут внутри закрытого контура Организации, документы загружаются локально. Внешние коннекторы (подтягивание advisory/OSV) опциональны и в изолированном контуре заменяются загрузкой из внутренних зеркал.

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

М08 Защита цепочки поставки и OSA · М10 Много исполнителей · П08. Dependency-Track как портфель SBOM · П28. Поставка от нескольких исполнителей · bomctl · OWASP Dependency-Track · OSV.dev