Генерация и отображение базового SBOM в формате JSON
На этом этапе мы узнаем, как сгенерировать базовый Список материалов программного обеспечения (Software Bill of Materials, SBOM) для Docker-образа и отобразить его в формате JSON. SBOM представляет собой формальный список компонентов, составляющих программный продукт. Это похоже на инвентарный лист для вашего программного обеспечения, в котором детально перечислены все сторонние компоненты, библиотеки и зависимости. Генерация SBOM является важной частью для понимания безопасности и соответствия лицензиям вашего программного обеспечения.
Мы будем использовать инструмент syft
для генерации SBOM. syft
- это инструмент командной строки и библиотека для создания SBOM из контейнерных образов и файловых систем.
Сначала давайте загрузим простой Docker-образ, который мы будем использовать для этого примера. Мы будем использовать образ alpine:latest
, который представляет собой легковесное дистрибутив Linux.
docker pull alpine:latest
Вы должны увидеть вывод, указывающий на то, что образ загружается.
Using default tag: latest
latest: Pulling from library/alpine
...
Status: Downloaded newer image for alpine:latest
docker.io/library/alpine:latest
Теперь, когда у нас есть образ, мы можем сгенерировать SBOM. Мы будем использовать команду syft
с именем образа и укажем формат вывода в виде JSON.
syft alpine:latest -o json
Эта команда проанализирует образ alpine:latest
и выведет SBOM в формате JSON прямо в вашем терминале. Вывод будет представлять собой большой JSON-объект, содержащий информацию о пакетах, найденных в образе, включая их имена, версии, лицензии и типы.
Вы можете прокрутить вывод, чтобы увидеть различные компоненты, перечисленные в SBOM. Этот базовый JSON-вывод дает полное представление о компонентах программного обеспечения в образе.