Antes de instalar um arquivo APK, comparar seu hash SHA-256 pode mostrar que ele é idêntico à versão da qual você possui um hash confiável. Essa verificação é útil, mas, por si só, não comprova que o aplicativo esteja livre de vulnerabilidades ou malware.
Para um download seguro, há três perguntas distintas: de onde veio o arquivo, se ele foi alterado no caminho e quais evidências existem sobre o código que contém? Nenhum valor de hash responde sozinho às três.
O que faz o hash de um arquivo?
O SHA-256 produz um valor de tamanho fixo a partir do conteúdo do arquivo. Se o arquivo mudar, espera-se que seu hash também mude. Comparar dois hashes é, portanto, uma forma prática de verificar se os bytes dos arquivos são idênticos.
O resultado só é tão confiável quanto a referência usada na comparação. Se um invasor puder substituir tanto o APK quanto o hash exibido ao lado dele, a correspondência entre os valores não revelará o problema. O modelo de ameaças do Livara também explica essa limitação da verificação de arquivos.
Como verificar antes de instalar
Identifique a versão desejada. Compare o nome do produto, o número da versão e o tipo de pacote com a página de lançamento. Arquivos de duas versões diferentes geralmente não têm o mesmo hash.
Obtenha o hash esperado de uma fonte confiável. Não se limite a uma mensagem desconhecida que envia o arquivo e o hash juntos. Verifique de forma independente o endereço do site oficial.
Calcule o hash do arquivo baixado. O Proof Lab do Livara oferece uma ferramenta de comparação de hashes de APK. Não a confunda com um teste completo de segurança do aplicativo.
Compare o valor inteiro. Os primeiros ou os últimos caracteres não bastam. Confira também possíveis erros no nome da versão ou na escolha do arquivo.
Se houver diferença, interrompa a instalação. A divergência pode resultar de outra versão, de um download incompleto ou da alteração do arquivo; sozinha, não comprova malware. Não instale o arquivo até esclarecer a causa e faça uma nova verificação pelo canal oficial.
Este guia não apresenta nenhum hash de exemplo como o de uma “versão segura”, pois o valor correto depende do arquivo específico do lançamento.
Qual é a diferença entre hash, assinatura e compilação reproduzível?
| Verificação | Conclusão que pode sustentar | O que não comprova sozinha |
|---|---|---|
| Hash SHA-256 | O arquivo é idêntico à referência de comparação | O código é seguro ou o editor é confiável |
| Assinatura do APK | O arquivo foi assinado com uma chave específica e a verificação da assinatura é válida | O detentor da chave nunca publicará código malicioso |
| Compilação reproduzível | Com fonte, ambiente e instruções específicos, é possível gerar os mesmos bytes | O código-fonte não tem falhas de segurança |
| Análise de segurança do código | Problemas foram descobertos ou avaliados no escopo e na versão examinados | Não restam falhas desconhecidas |
A ferramenta oficial apksigner do Android permite verificar assinaturas de APK e informações de certificados. Uma instalação nova também difere da atualização de um aplicativo existente: para atualizações, o Android verifica a compatibilidade do signatário. Uma assinatura válida de um editor desconhecido não é motivo suficiente para confiar.
A definição de compilação reproduzível também exige código-fonte e ambiente de compilação específicos. Comparar o hash do download não substitui esse processo.
Qual é o escopo do Proof Lab?
Além do hash de arquivos, a página Proof Lab oferece uma demonstração criptográfica no navegador. Uma demonstração bem-sucedida de uma operação criptográfica não é uma auditoria completa do aplicativo instalado nem a execução integral dos protocolos de mensagens. A própria ferramenta também precisa ser executada em um ambiente confiável: um dispositivo ou uma página comprometidos podem exibir um resultado enganoso.
Mesmo após a instalação, atualizações, permissões do aplicativo e segurança do dispositivo continuam importantes. Verificar o arquivo de hoje não significa verificar automaticamente uma versão futura.
Comparar hashes é um controle específico na cadeia de confiança; seu valor aumenta quando você também conhece a fonte do lançamento, o signatário e os limites do resultado.



