Skip to content
Latchkey

O Que É Proveniência de Build?

A proveniência de build é um registro assinado e à prova de adulteração de como um artifact foi construído, por qual pipeline e a partir de qual commit de origem.

Um binário sozinho não diz nada sobre de onde veio. A proveniência anexa uma declaração verificável - "este artifact foi construído por este workflow, a partir deste commit, com estas entradas" - para que os consumidores confiem na origem do artifact em vez de presumi-la.

O que a proveniência atesta

Um documento de proveniência registra o repositório e o commit de origem, o builder (o sistema de CI e o workflow), as entradas do build e um digest do artifact resultante, tudo assinado criptograficamente para que não possa ser alterado sem detecção.

Como ela é verificada

Um consumidor verifica a assinatura contra a identidade do builder confiável e confirma que o digest do artifact e as alegações de origem coincidem. Se algo foi trocado após o build, a verificação falha.

Um pequeno exemplo

A atestação de build-provenance do GitHub registra que a imagem com digest X foi construída pelo workflow Y a partir do commit Z. Antes de fazer deploy, um verificador confirma que o digest da imagem em execução coincide com uma atestação do seu repo e workflow - e não de alguma fonte desconhecida.

SLSA e onde a CI se encaixa

Frameworks como o SLSA definem níveis de proveniência. A CI é onde a proveniência é gerada, porque o pipeline é o único lugar que conhece de forma autoritativa a fonte, as entradas e o builder. As plataformas cada vez mais a produzem automaticamente.

Proveniência vs assinatura

A assinatura prova que um artifact está inalterado e veio de você. A proveniência descreve como ele foi construído. Elas se complementam - você assina o artifact e assina a declaração de proveniência - e juntas permitem que um consumidor confie tanto nos bits quanto na sua origem.

Principais conclusões

  • A proveniência é um registro assinado de como e a partir de quê um artifact foi construído.
  • Ela permite que consumidores verifiquem a origem em vez de confiar cegamente.
  • A CI a gera; frameworks como o SLSA definem níveis de proveniência.

Guias relacionados