Skip to content
Latchkey

O Que É um SBOM?

Um SBOM - software bill of materials - é um inventário completo e legível por máquina de cada componente que entrou no seu software.

Quando uma nova vulnerabilidade atinge uma biblioteca popular, a primeira pergunta é "estamos afetados?". Um SBOM responde instantaneamente: ele lista cada dependência e componente de um build, então você pesquisa o seu inventário em vez de adivinhar.

O que um SBOM lista

Cada componente com seu nome, versão, fornecedor e frequentemente uma licença e um identificador único. Gerado a partir da árvore de dependências resolvida, ele captura tanto componentes diretos quanto transitivos.

Formatos padrão

Os dois formatos comuns são SPDX e CycloneDX, ambos legíveis por máquina. Padronizar em um deles permite que as ferramentas consumam seus SBOMs para correspondência de vulnerabilidades, conformidade de licenças e auditorias.

Um pequeno exemplo

Um scanner como o Syft gera um SBOM CycloneDX a partir da sua imagem construída; depois, quando um novo CVE surge, você consulta os SBOMs armazenados para descobrir exatamente quais releases contêm o componente afetado - em segundos, não dias.

Por que gerar na CI

A CI é onde o build acontece e o conjunto exato de dependências é conhecido, então é o lugar natural para emitir um SBOM e anexá-lo como um artifact. Armazenado junto ao release, ele se torna um registro durável do que foi entregue.

Além das vulnerabilidades

SBOMs também viabilizam a conformidade de licenças (sinalizando uma dependência copyleft em um produto proprietário) e são cada vez mais exigidos por contratos e regulamentações, tornando-os um registro que vale a pena manter para cada release.

Principais conclusões

  • Um SBOM é um inventário legível por máquina de cada componente do build.
  • SPDX e CycloneDX são os formatos padrão.
  • Gere-o na CI e anexe-o ao release para uma análise de impacto rápida.

Guias relacionados