syft SBOM
syft <image> -o cyclonedx-json
Gera o SBOM (Software Bill of Materials) da imagem com syft, o inventário completo dos pacotes no formato CycloneDX.
Execute no pipeline de CI/CD quando quiser o inventário dos componentes da imagem: o syft analisa a imagem (ou o filesystem, o diretório) e gera o SBOM — a lista dos pacotes (SO e dependências) com suas versões — nos formatos padrão (CycloneDX, SPDX). É a geração do SBOM de referência (da Anchore): o inventário que alimenta o SCA (grype), a gestão de licenças e a conformidade (a ordem executiva dos EUA e o SLSA). No DevSecOps, o SBOM é a peça do pipeline: a imagem com seu SBOM publicado no registro (ou o artefato) — a rastreabilidade dos componentes.
Não use como análise: o syft gera o inventário (o SBOM), não os CVEs — a vulnerabilidade dos componentes é coberta pelo grype/trivy sobre o SBOM. A cobertura do SBOM depende do analisador (formatos suportados): componentes não identificados não aparecem. E atenção: o SBOM é uma foto — é regenerado a cada build (o SBOM do binário antigo não vale); o pipeline o gera e o publica com a imagem. Para o SBOM do código (não da imagem), o syft também cobre diretórios.