Skip to content
Latchkey

O Que É um Software Bill of Materials? A Lista de Ingredientes do Seu Build

Um software bill of materials (SBOM) é uma lista completa e legível por máquina de cada componente e dependência que entrou em um software.

Você não pode proteger o que não sabe que tem. Um software bill of materials é a lista de ingredientes do seu build: cada biblioteca, versão e dependência transitiva, registrada em um formato padrão. Quando uma vulnerabilidade é divulgada, um SBOM permite responder "estamos afetados?" em segundos em vez de dias.

O que um SBOM contém

  • Cada dependência direta e transitiva, com versões.
  • Informações de licença para cada componente.
  • Hashes criptográficos que fixam artefatos exatos.
  • Metadados de fornecedor e origem quando disponíveis.

Formatos padrão

Os dois formatos dominantes são SPDX e CycloneDX. Ambos são legíveis por máquina para que ferramentas possam ingeri-los, compará-los com bases de dados de vulnerabilidades e sinalizar componentes afetados automaticamente.

Por que se tornou essencial

Quando uma vulnerabilidade generalizada surge, a pergunta urgente é "quais dos nossos sistemas usam a biblioteca afetada, e em qual versão?" Sem um SBOM, isso é uma caça manual frenética. Com um, é uma consulta. Incidentes tornaram os SBOMs uma expectativa mínima para software sério.

Gerando um na CI

SBOMs são gerados durante o build, quando a árvore completa de dependências é conhecida. Ferramentas como o Syft, ou a saída nativa do gerenciador de pacotes, produzem um SBOM como artifact de build que você armazena junto com a release e alimenta no scanning.

SBOM mais attestation

Um SBOM é mais valioso quando é confiável. Combiná-lo com um attestation assinado que vincula o SBOM a um build específico prova que a lista de ingredientes não foi editada depois do fato, ligando-a à provenance do build.

Principais conclusões

  • Um SBOM é um inventário completo e legível por máquina dos componentes de um build.
  • SPDX e CycloneDX são os formatos padrão; gere-o durante o build.
  • Ele transforma "estamos afetados?" de uma caça manual em uma consulta rápida.

Guias relacionados