Imagine um aplicativo disponível na página de lançamentos e em um espelho. Os nomes dos arquivos e números de versão coincidem, mas o usuário ainda precisa saber: são o mesmo arquivo, quem os publicou, vieram do código e processo esperados e são adequados para este dispositivo?

Essas perguntas exigem evidências diferentes. Chamar qualquer verificação de “certificação de segurança” gera expectativas que os métodos não cumprem e pode fazer desenvolvedores ignorarem lacunas no processo de lançamento.

Checksums respondem se os arquivos coincidem

Calcular um hash após o download e compará-lo ao valor esperado permite verificar a correspondência do conteúdo. Uma condição importante é obter o valor esperado por um canal confiável. Se arquivo e checksum vêm da mesma página não verificada, sua correspondência não estabelece a identidade do publicador.

Por outro lado, hashes diferentes indicam arquivos diferentes, mas não comprovam intenção maliciosa. Builds distintos, reempacotamento ou um download incorreto podem causar diferenças. Pare de tratar o arquivo como lançamento verificado e confira novamente origem, plataforma e registro de checksum correspondente.

Publicadores devem manter juntos nomes claros, informações de versão e inventários de checksums. O usuário não deveria copiar um hash de um artigo antigo para compará-lo com um instalador de outra plataforma ou build.

Assinaturas exigem conferir a identidade esperada

Uma assinatura digital associa um signatário aos dados assinados, mas a verificação deve determinar se aquela é a identidade esperada. A documentação do Sigstore exige verificar assinaturas junto com condições relevantes de identidade e emissor, ilustrando essa distinção. Documentação de verificação do Sigstore

Ao ver “assinatura válida”, o usuário também precisa estabelecer qual publicador ou fluxo de trabalho ela representa. Desenvolvedores devem especificar quais identidades podem assinar lançamentos oficiais. Passar em uma verificação matemática não pode conceder automaticamente esse caráter oficial.

Quando publicadores trocam certificados ou métodos de assinatura, precisam fornecer uma explicação verificável. Pedir confiança imediata em um certificado desconhecido não constitui um processo completo de atualização.

A proveniência liga o pacote ao processo de produção

As atestações de artefatos do GitHub podem registrar a proveniência de build, ajudando a verificar a associação com informações de repositório e fluxo de trabalho. Elas dão evidências de como o arquivo foi produzido, mas ainda é preciso conferir o artefato real e a identidade esperada. Documentação de atestações do GitHub

Os níveis de build do SLSA distinguem registros de proveniência existentes, proveniência assinada gerada por uma plataforma hospedada e proteções mais rigorosas para essa plataforma. Ao citar um nível, informe escopo e evidências, sem tratar o número como nota geral de todos os riscos do software. Níveis de build do SLSA

Evidência O que ajuda principalmente a estabelecer O que não comprova sozinha
Checksum Se o conteúdo esperado foi obtido Identidade do publicador ou comportamento seguro
Assinatura digital Quem assinou quais dados Se o signatário atende aos seus requisitos de confiança
Proveniência de build Qual processo produziu o artefato Que código e dependências estejam totalmente livres de problemas
Build reproduzível Se o mesmo artefato pode ser reconstruído em condições definidas Que o software não tenha vulnerabilidades ou comportamento inadequado

Essas evidências podem se complementar. Desenvolvedores devem explicar quais fornecem e quais verificações ainda precisam ocorrer de forma independente.

Builds reproduzíveis exigem entradas e ambientes explícitos

O projeto Reproducible Builds define um build reproduzível como aquele que gera artefatos especificados idênticos bit a bit com o mesmo código-fonte, ambiente e instruções. É um alvo de verificação mais preciso que “compila no meu computador”. Definição de builds reproduzíveis

Recomendamos preservar a cadeia de ferramentas, informações de dependências fixadas, parâmetros e sua relação com artefatos publicados. Se a reprodutibilidade não foi alcançada, registre precisamente até onde a reconstrução funciona, em vez de omitir diferenças e declarar aprovação.

O escopo de um repositório público também precisa ser explicado. Ele pode conter código central ou principalmente ferramentas, configurações e pacotes gerados em uma etapa anterior. O usuário precisa saber o que realmente pode inspecionar e reconstruir para avaliar as evidências de proveniência de forma razoável.

Uma sequência prática de verificação de downloads

  1. Confirmar o repositório de lançamentos pelo acesso oficial do projeto, sem depender apenas de anúncios de busca ou links encaminhados.
  2. Ler as notas e conferir sistema operacional, arquitetura do processador e canal de lançamento.
  3. Comparar o arquivo ao checksum correspondente. Se houver assinaturas ou proveniência, conferir também identidade esperada e escopo.
  4. Verificar manutenção e limitações conhecidas, sem supor que a etiqueta “latest” signifique adequação à produção.
  5. Se houver informações conflitantes, guardar versão e nome do arquivo e buscar esclarecimentos nos canais de suporte.

Isso não exige transformar cada usuário em engenheiro de build. O produto pode organizar evidências complexas em uma página clara: de onde vêm os arquivos, a quem se destinam, como verificá-los e onde perguntar sobre divergências.

Para desenvolvedores, manter essa cadeia informativa ao longo do tempo vale mais que aplicar um selo único de “verificado”. O usuário deve continuar encontrando explicações quando um lançamento antigo for retirado, uma assinatura mudar ou uma atualização falhar.

A descrição pública do repositório AlphaBiz distingue ferramentas de build de pacotes gerados anteriormente. Ao discutir aplicativos desse tipo, devemos igualmente descrever o escopo real de inspeção, sem confundir repositório público, código completo e lançamentos reproduzíveis. Visão geral do AlphaBiz

Desenvolvedores podem começar completando um inventário de evidências de lançamento; usuários, verificando um download de um aplicativo frequente. Compartilhe no AlphaBiz Discussions quais informações de verificação gostaria de encontrar nas páginas de lançamento.