Pacotes e SBOM

SBOM - Software Bill of Materials

SBOM no contexto do Docker é a Lista de Materiais de Software específica para imagens Docker. Vou explicar de forma prática:

O que é SBOM no Docker?

É um inventário completo de todas as camadas e componentes dentro de uma imagem Docker, mostrando exatamente o que foi "empacotado" na imagem.

Analogia Docker:

  • Imagem Docker → Uma caixa fechada

  • SBOM → A lista completa do que tem dentro da caixa

O que o SBOM de uma imagem Docker contém:

Componente
Exemplo no Docker

Sistema Base

alpine:3.22, debian:12

Runtime

node:25.2.1, python:3.11

Pacotes do OS

apk add, apt-get install

Dependências da App

npm install, pip install

Arquivos da App

Seu código, configs, assets

Como Gerar SBOM de Imagens Docker:

# SBOM da imagem local
docker scout sbom marcelodpbarbieri/projeto-caotico:v4

# SBOM com detalhes
docker scout sbom --format detailed marcelodpbarbieri/projeto-caotico:v4

Exemplo de SBOM da SUA imagem:

Se você executar:

docker scout sbom marcelodpbarbieri/projeto-caotico:v4

Verá algo como:

SBOM for marcelodpbarbieri/projeto-caotico:v4

LAYERS:
1. node:25.2.1-alpine3.22 (base)
   - alpine 3.22
   - nodejs 25.2.1
   - npm 11.6.3

2. /app/package*.json
   - glob 11.1.0
   - express 4.21.2
   - ejs 3.1.10
   - tar 7.5.2

3. /app (seu código)
   - server.js
   - outros arquivos

Formatos de SBOM Docker:

SPDX:

docker scout sbom --format spdx-json marcelodpbarbieri/projeto-caotico:v4

CycloneDX:

docker scout sbom --format cyclonedx-json marcelodpbarbieri/projeto-caotico:v4

Por que SBOM é CRÍTICO no Docker:

1. Segurança:

# O SBOM permite encontrar vulnerabilidades ESPECÍFICAS
docker scout cves marcelodpbarbieri/projeto-caotico:v4

2. Rastreabilidade:

  • Saber exatamente qual versão de cada pacote está na imagem

  • Rastrear vulnerabilidades até a camada específica

3. Compliance:

  • Requisito para indústrias regulamentadas

  • Auditoria de licenças de software

4. Debugging:

  • Entender diferenças entre builds

  • Identificar "bloat" na imagem

No Seu Caso Prático:

Quando você executa:

docker scout cves fs://.

O que acontece nos bastidores:

  1. Gera SBOM do seu filesystem

  2. Analisa cada componente do SBOM

  3. Compara com DB de vulnerabilidades

  4. Mostra resultados

Comando Útil para Ver Tudo:

# 1. Ver SBOM completo
docker scout sbom marcelodpbarbieri/projeto-caotico:v4

# 2. Ver vulnerabilidades baseadas no SBOM
docker scout cves marcelodpbarbieri/projeto-caotico:v4

# 3. Ver detalhes de um pacote específico
docker scout sbom --focus glob marcelodpbarbieri/projeto-caotico:v4

No Docker é possível visualizar todos os pacotes existentes na respectiva imagem.

Também é possível fazer o inventário de todas as imagens a partir do menu Packages:

Também é possível a partir da linha de comando obter todas as informações no formato JSON:

Ou obter no formato de lista:


Um adendo ainda às vulnerabilidades, é possível verificar todas elas a partir do menu Vulnerabilities:

Last updated