Índice do curso · 11 aulas
Segurança e privacidade avançadas no Bitcoin

Como verificar software de Bitcoin antes de instalar

Uma mão levanta um carimbo de metal liso sobre um lacre de cera laranja sem marca, em um documento creme dobrado sobre lã escura.

Esta aula é uma tradução do original em inglês, que é o texto de referência. Ler em inglês

Antes de instalar software de Bitcoin, confira duas coisas: se a soma de verificação do arquivo bate com a lista que os desenvolvedores publicaram e se a lista tem uma assinatura válida de uma chave que você confirmou ser deles. A soma de verificação prova que sua cópia está intacta. A assinatura prova quem publicou. O software da carteira e do nó decide quais endereços você vê, o que assina e para onde vão suas palavras de recuperação. Por isso, um instalador trocado pode esvaziar uma carteira sem quebrar a criptografia. A primeira verificação leva uns dez minutos. Depois, são uns dois minutos a cada atualização.

Você vai verificar o Bitcoin Core e a Sparrow Wallet no macOS, Windows e Linux, conferir imagens do StartOS e do umbrelOS para nós e aprender a ler cada resultado. Os comandos seguem as instruções de cada projeto. Rodamos a verificação de cada projeto nas versões em uso em novembro de 2026: Bitcoin Core 32.1, Sparrow 2.5.6, StartOS 0.4.1.2 e umbrelOS 2.0.1.

Por que verificar: ataques à cadeia de suprimentos

Um ataque à cadeia de suprimentos mira o caminho do software dos desenvolvedores até você: o site, o servidor de download, um anúncio na busca, um e-mail ou uma janela de “atualização”. O código dos desenvolvedores pode estar correto e seu computador livre de malware, e mesmo assim você pode acabar rodando a versão do atacante. A história do Bitcoin tem um exemplo de cada caminho:

  • O download. Em agosto de 2016, o bitcoin.org avisou que os binários (os arquivos prontos para rodar) da próxima versão do Bitcoin Core “provavelmente seriam alvo de atacantes patrocinados por um Estado” e que baixar sem cuidado “poderia fazer você perder todas as moedas”. O conselho era verificar as assinaturas de vários desenvolvedores com chaves de mais de uma fonte.
  • Mensagens de atualização. Em dezembro de 2018, atacantes operaram servidores do tipo que as carteiras Electrum usam. Com eles, mostraram aos usuários uma mensagem de “atualização” com um link para malware disfarçado de uma versão nova da Electrum.
  • Remetentes legítimos. Em setembro de 2026, atacantes entraram no serviço de e-mail usado pelo boletim da Trezor e enviaram um alerta de segurança falso da conta do próprio boletim. O alerta promovia um aplicativo que pedia o backup da carteira (nosso aviso).

A aula Os golpes que esvaziam carteiras de autocustódia conta a história completa do boletim, e a aula sobre Electrum conta a de 2018. A verificação funciona nos três casos: um atacante pode copiar um site ou uma mensagem e até usar um remetente autêntico. Sem a chave privada dos desenvolvedores, não consegue criar uma assinatura válida.

Quatro maneiras de um arquivo chegar até você. Os desenvolvedores assinam a versão autêntica com a chave privada. Uma cópia falsa pode chegar pelo download (em 2016, o bitcoin.org avisou que os binários do Bitcoin Core provavelmente seriam alvo de ataques), por mensagens de atualização (em 2018, servidores Electrum falsos ofereciam malware como “atualização”) ou por um remetente legítimo (em 2026, saiu um alerta falso da conta do próprio boletim da Trezor). Os quatro arquivos passam pela mesma verificação de assinatura com a chave pública dos desenvolvedores. A versão autêntica tem uma assinatura válida e pode ser instalada. As falsas falham: um atacante pode copiar um site ou uma mensagem e até usar um remetente legítimo, mas não consegue criar uma assinatura válida sem a chave privada dos desenvolvedores.
Todos os caminhos acabam na mesma verificação. Uma cópia falsa pode chegar pelo download, por uma mensagem de atualização ou até pelo boletim verdadeiro de uma empresa. Seja qual for o caminho, a cópia não pode trazer uma assinatura válida da chave dos desenvolvedores.

Somas de verificação e assinaturas: duas perguntas diferentes

Aqui, uma soma de verificação é um hash SHA-256 do arquivo: uma impressão digital de 64 caracteres calculada a partir de cada byte. A aula O que é a tecnologia blockchain? mostra como os hashes funcionam. Basta mudar um byte para a impressão digital ficar totalmente diferente. Esta é a linha do download do Bitcoin Core 32.1 para Macs com Apple silicon:

6fb94e4d2254bf45f0f58a6679c10f16206c5e885be8541fd974d395fe49d46c  bitcoin-32.1-arm64-apple-darwin.zip

Os projetos publicam uma lista dessas linhas, uma por arquivo, geralmente chamada SHA256SUMS ou manifesto. Se a impressão digital do arquivo bater com a linha, sua cópia é idêntica ao arquivo que a lista descreve. Assim você detecta um download danificado ou incompleto. A lista não diz quem a escreveu. Se estiver no mesmo servidor do arquivo, quem conseguir trocar um também poderá trocar o outro.

Uma assinatura digital responde à segunda pergunta. O desenvolvedor assina a lista com a chave privada, e qualquer pessoa com a chave pública correspondente pode conferir a assinatura. É a mesma ideia que protege as transações de bitcoin (a aula Chaves, endereços e assinaturas em linguagem simples), com outro sistema de assinatura. As versões de software usam OpenPGP e o programa gratuito que faz a verificação é o GPG (GNU Privacy Guard). Basta mudar um caractere de uma lista assinada para a assinatura falhar. Uma assinatura na lista cobre todos os arquivos da versão, então a verificação tem duas partes e as duas precisam passar.

Duas verificações em sequência. A chave pública dos desenvolvedores vem de outro lugar, como GitHub, Keybase ou um servidor de chaves. Verificação 1, a assinatura: use a chave para verificar a assinatura da lista de somas, SHA256SUMS e SHA256SUMS.asc. Os desenvolvedores publicaram a lista? Verificação 2, a soma: compare a impressão digital da sua cópia do instalador com a linha correspondente na lista. Minha cópia é idêntica ao arquivo da lista? Quem controla a página de downloads pode trocar o instalador e a lista ao mesmo tempo, então a verificação 2 ainda passa. Sem a chave privada dos desenvolvedores, a pessoa não consegue assinar, então a verificação 1 falha.
A chave confirma a autenticidade da lista, e a lista confirma que seu arquivo bate. Pegue a chave em outro lugar que não a página de downloads. Um instalador trocado pode passar na soma de verificação, mas não nas duas verificações.
Soma de verificaçãoAssinatura
O que respondeMinha cópia é idêntica ao arquivo da lista?Os desenvolvedores publicaram a lista?
Como é feitaCom um hash que qualquer pessoa pode calcularCom a chave privada dos desenvolvedores
O que detectaUm arquivo danificado, incompleto ou alteradoUma lista trocada e os arquivos trocados que ela faria passar por autênticos
Em quem ou no que você confiaEm quem publicou a listaNa chave pública que você importou

A chave é a base da verificação

Uma assinatura só é confiável se a chave pública usada para verificá-la também for. Cada chave tem uma impressão digital, um identificador longo calculado a partir da própria chave (40 caracteres para cada chave desta aula). A da Sparrow é D4D0 D320 2FC0 6849 A257 B38D E946 1833 4C67 4B40. Dois hábitos ajudam a confirmar que a chave é confiável:

  1. Pegue a chave em outro lugar que não a página de downloads e compare a impressão digital em pelo menos duas fontes independentes.
  2. Guarde a chave. O GPG guarda chaves importadas no seu chaveiro. Assim você verifica cada atualização seguinte com a mesma chave. Para enganar você com uma chave falsa, um atacante teria de alcançar você no dia em que pegou a chave pela primeira vez e alterar todas as fontes que você comparou.
Na primeira vez, você pega a chave pública de Craig Raw em keybase.io/craigraw e compara a impressão digital, D4D0 D320 2FC0 6849 A257 B38D E946 1833 4C67 4B40, com a que aparece na página de downloads da Sparrow, em sparrowwallet.com/download. São iguais, então a chave entra no seu chaveiro e fica lá. Depois, você verifica todas as atualizações com a chave que guardou. Para enganar você com uma chave falsa, um atacante teria de alcançar você no dia em que pegou a chave pela primeira vez e alterar todas as fontes que você comparou.
Pegue a chave uma vez, confirme em dois lugares e guarde a chave. A chave da Sparrow vem do Keybase e a impressão digital também aparece no site da Sparrow. Depois desse primeiro dia, você verifica todas as atualizações com a chave que já está no chaveiro.

Prepare as ferramentas

SistemaFerramenta para somas de verificaçãoGPG
macOSshasum, incluídoGPG Suite de gpgtools.org (o link que o Bitcoin Core e a Sparrow indicam) ou brew install gnupg se usar Homebrew
Windowscertutil e Get-FileHash do PowerShell, incluídosGpg4win de gpg4win.org (versão 5.1.1, setembro de 2026)
Linuxsha256sum, incluídogpg, geralmente já instalado

Execute todos os comandos em um terminal, a janela em que você digita comandos: Terminal no macOS (aperte Command + Space e digite Terminal), PowerShell no Windows (aperte a tecla Windows e digite PowerShell) ou seu terminal de costume no Linux. Depois, vá para sua pasta de downloads: cd ~/Downloads no macOS e no Linux, cd $HOME\Downloads no PowerShell. Se o PowerShell não reconhecer gpg, abra uma janela nova ou digite & "C:\Program Files\GnuPG\bin\gpg.exe" no lugar. O Gpg4win instala o GnuPG nessa pasta desde a versão 5 (janeiro de 2026). A página do Bitcoin Core ainda mostra a pasta antiga Program Files (x86).

Bitcoin Core, passo a passo

Nenhuma versão do Bitcoin Core é assinada por uma só pessoa. Vários colaboradores compilam a versão a partir do código-fonte por conta própria e assinam a mesma lista de somas de verificação. Você decide em quais chaves confia.

  1. Baixe três arquivos em uma pasta a partir de bitcoincore.org/en/download. Digite o endereço por conta própria: o arquivo do seu sistema, SHA256SUMS (“SHA256 binary hashes” na página) e SHA256SUMS.asc (“SHA256 hash signatures”).
  2. Importe as chaves de quem compilou o software. Elas ficam em outro lugar: a pasta builder-keys do repositório bitcoin-core/guix.sigs no GitHub, com 41 chaves em novembro de 2026. Na página do repositório, escolha Code → Download ZIP, que salva guix.sigs-main.zip, e depois execute:
    • macOS e Linux: unzip guix.sigs-main.zip e depois gpg --import guix.sigs-main/builder-keys/*.gpg
    • Windows: tar -xf guix.sigs-main.zip e depois Get-ChildItem guix.sigs-main\builder-keys\*.gpg | ForEach-Object { gpg --import $_.FullName }
    Com o git instalado, a instrução do próprio Bitcoin Core faz o mesmo: git clone https://github.com/bitcoin-core/guix.sigs e depois gpg --import guix.sigs/builder-keys/*.
  3. Verifique as assinaturas da lista em qualquer sistema: gpg --verify SHA256SUMS.asc SHA256SUMS
  4. Confira o arquivo com a lista:
    • macOS: shasum -a 256 --ignore-missing --check SHA256SUMS
    • Linux: sha256sum --ignore-missing --check SHA256SUMS
    • Windows: Select-String -Path SHA256SUMS -Pattern (Get-FileHash bitcoin-32.1-win64-setup.exe).Hash

No macOS e no Linux, --ignore-missing pula os arquivos da lista que você não baixou. Procure uma linha que tenha o nome do seu arquivo e termine em OK, como bitcoin-32.1-arm64-apple-darwin.zip: OK. No Windows, o PowerShell mostra a linha de SHA256SUMS com a impressão digital do seu arquivo, que termina com o nome do arquivo. Se não mostrar nada, seu arquivo não bate com a lista. (A página do Bitcoin Core usa certutil -hashfile bitcoin-32.1-win64-setup.exe SHA256, que mostra o código para você comparar a olho.)

Como ler o resultado da verificação de assinatura

Este é um dos blocos de assinatura que obtivemos para o Bitcoin Core 32.1 (os horários aparecem no seu fuso):

gpg: Signature made Tue Oct 27 14:58:55 2026 CET
gpg:                using RSA key CFB16E21C950F67FA95E558F2EEB9F5CC09526C1
gpg:                issuer "fanquake@gmail.com"
gpg: Good signature from "Michael Ford (bitcoin-otc) <fanquake@gmail.com>" [unknown]
gpg: WARNING: The key's User ID is not certified with a trusted signature!
gpg:          There is no indication that the signature belongs to the owner.
      E777299FC265DD04793070EB944D35F9AC3DB76A
      CFB16E21C950F67FA95E558F2EEB9F5CC09526C1
  • “Good signature from” é o resultado que conta. Oito colaboradores assinaram a lista do Bitcoin Core 32.1: Ava Chow, Ben Carman, Michael Ford, Oliver Gugger, Matthew Zipkin, Sebastian Kung, Sjors Provoost e Will Clark. O Bitcoin Core pede “um número suficiente de chaves em que você confia”: procure várias.
  • O aviso WARNING é normal. Conforme a chave, aparece “This key is not certified…” ou “The key’s User ID is not certified…”. Nos dois casos, quer dizer que você não certificou a chave dentro do GPG. Comparar a impressão digital cumpre essa função.
  • As linhas da impressão digital mostram a chave principal e depois a subchave que assinou (uma segunda chave que o dono anexou à principal para assinar). Quando a chave principal assina direto, há só uma linha. Dependendo da versão do GPG, as impressões aparecem como uma sequência sem espaços, como aqui, ou depois de “Primary key fingerprint” em grupos de quatro. A página de downloads do Bitcoin Core mostra a de Michael Ford, E777 299F C265 DD04 7930 70EB 944D 35F9 AC3D B76A. Bate com a primeira linha, e a página está em outro servidor que não o GitHub, de onde a chave veio. Para os outros signatários, a quantidade de assinaturas cumpre a mesma função: quem falsificasse teria de forjar várias chaves independentes ao mesmo tempo.
Um bloco de assinatura da verificação do Bitcoin Core 32.1, com três partes marcadas. 1: a linha "Good signature from Michael Ford (bitcoin-otc)" é o resultado que conta. A lista do Bitcoin Core 32.1 tem oito signatários, então procure várias assinaturas válidas. 2: "WARNING: The key's User ID is not certified with a trusted signature!" e "There is no indication that the signature belongs to the owner" são normais. Você não certificou a chave dentro do GPG, e comparar a impressão digital cumpre essa função. 3: a primeira linha de impressão digital, E777299FC265DD04793070EB944D35F9AC3DB76A, é a chave principal. O bitcoincore.org mostra a mesma impressão digital, E777 299F C265 DD04 7930 70EB 944D 35F9 AC3D B76A. A segunda linha é a subchave que assinou.
Leia três coisas: a assinatura válida, o aviso e a impressão digital. “Good signature from” é o resultado. O aviso é normal. A primeira linha da impressão digital precisa bater com a que o projeto publica, aqui em bitcoincore.org.

Compilações reproduzíveis: por que várias assinaturas fazem diferença

O Bitcoin Core usa compilações reproduzíveis: quem compila o código-fonte publicado com o Guix, o sistema de compilação do projeto, obtém arquivos idênticos, byte por byte, aos do site. Quem compila publica no guix.sigs as somas de verificação assinadas dos arquivos gerados. Até 6 de novembro de 2026, 15 colaboradores tinham compilado o Bitcoin Core 32.1 nas próprias máquinas, com resultados idênticos. Os 13 que tinham terminado a etapa final, que acrescenta as assinaturas de código que o macOS e o Windows verificam antes de rodar um programa, publicaram listas que batiam exatamente com o SHA256SUMS oficial. Cada assinatura válida corresponde a um desses resultados independentes.

Compilações reproduzíveis do Bitcoin Core 32.1 em 6 de novembro de 2026. Os 15 colaboradores compilaram o código-fonte publicado com o Guix nas próprias máquinas. Cada um publicou uma lista do que compilou. Todas as 15 listas da primeira etapa são idênticas. 13 colaboradores terminaram a etapa final, e as 13 listas finais são idênticas entre si e ao SHA256SUMS oficial. 2 ainda não terminaram. 8 desses 13 colaboradores assinaram a lista que você baixa. Assim, cada assinatura válida que você vê vem de um desses resultados independentes e idênticos.
Quinze máquinas, um só resultado. Quem compila o código publicado com o Guix obtém os mesmos arquivos, byte por byte. Cada assinatura na lista do Bitcoin Core 32.1 vem de alguém que obteve o mesmo resultado na própria máquina.

Sparrow Wallet, passo a passo

Craig Raw é o único desenvolvedor que assina a Sparrow. A página de downloads está em sparrowwallet.com, os instaladores no GitHub e a chave no Keybase, um diretório público de chaves. São três lugares diferentes.

  1. Baixe de sparrowwallet.com/download o instalador do seu sistema e os dois arquivos no fim da tabela, sparrow-2.5.6-manifest.txt e sparrow-2.5.6-manifest.txt.asc.
  2. Importe a chave: salve o arquivo de https://keybase.io/craigraw/pgp_keys.asc na pasta de downloads e depois execute gpg --import pgp_keys.asc. A página da Sparrow traz um comando de uma linha que funciona nos terminais do macOS e do Linux: curl https://keybase.io/craigraw/pgp_keys.asc | gpg --import
  3. Verifique a assinatura: gpg --verify sparrow-2.5.6-manifest.txt.asc sparrow-2.5.6-manifest.txt. Devem aparecer Good signature from "Craig Raw <craig@sparrowwallet.com>" e a impressão digital D4D0D3202FC06849A257B38DE94618334C674B40, que também está na página de downloads da Sparrow.
  4. Confira o arquivo:
    • macOS: shasum --check sparrow-2.5.6-manifest.txt --ignore-missing
    • Linux: sha256sum --check sparrow-2.5.6-manifest.txt --ignore-missing
    • Windows: Select-String -Path sparrow-2.5.6-manifest.txt -Pattern (Get-FileHash Sparrow-2.5.6.msi).Hash

Muitas chaves têm data de vencimento (a de Craig Raw vale hoje até 18 de setembro de 2027). Se o GPG avisar que uma chave venceu, importe a chave de novo da mesma fonte e repita a verificação. Para as chaves do Bitcoin Core, a página de downloads indica gpg --keyserver hkps://keys.openpgp.org --refresh-keys.

Depois de verificar uma cópia da Sparrow, as atualizações ficam mais simples. Coloque o instalador novo, o manifesto e a assinatura em uma pasta e arraste qualquer um dos três para a Sparrow (1.8.3 ou mais recente), ou abra Tools → Verify Download. Você vai ver quem assinou, se o hash bateu e “Ready to install”. A Sparrow já vem com as chaves de assinatura de vários projetos, entre elas as de dois colaboradores que compilam o Bitcoin Core e as dos fabricantes da Trezor, da BitBox, da Coldcard e da Passport. Assim, a mesma ferramenta verifica versões do Bitcoin Core e arquivos de firmware.

Imagens para nós: StartOS e Umbrel

O sistema operacional de um nó vem como imagem de disco, uma cópia exata de um disco inteiro que você grava em um cartão ou pen drive. É com essa imagem que vai rodar o nó que guarda seus fundos na Lightning, se tiver algum. Confira a imagem antes de usar.

StartOS: soma de verificação e assinatura

A Start9 hospeda as imagens em um servidor, publica as somas de verificação nas notas da versão no GitHub e assina cada imagem com uma chave guardada no computador de quem mantém o projeto, longe dos servidores da empresa. Assim, a assinatura continua válida mesmo se alguém tomar a conta no GitHub ou a hospedagem do site. O guia de instalação mostra as duas verificações:

  1. Soma de verificação. Na página da versão, em “OS Images Checksums”, encontre o bloco “SHA-256” (não o bloco “BLAKE-3” logo abaixo) e copie a linha inteira do arquivo que baixou. Para Raspberry Pi, é a linha que termina em .img.gz. No macOS, execute echo "PASTE THE WHOLE LINE HERE" | shasum -a 256 -c. No Linux, faça o mesmo com sha256sum -c. No Windows, execute (Get-FileHash "$HOME\Downloads\FILENAME").Hash -eq "LONG CODE". Deve aparecer OK, ou True no Windows.
  2. Chave, de outro lugar que não o download: pegue a chave em keys.openpgp.org, um servidor de chaves públicas, com gpg --keyserver hkps://keys.openpgp.org --recv-keys 5456DBFF1B9DF905041FA7765259ADFC2D63C217. A Start9 também publica a chave em start9.com/start9.gpg. Em novembro de 2026, as duas cópias tinham a mesma impressão digital.
  3. Assinatura. Da mesma versão, baixe signatures.tar.gz e extraia o conteúdo ao lado da imagem (tar -xzf signatures.tar.gz funciona nos três sistemas). Depois, execute gpg --verify FILENAME.start9.asc FILENAME. Deve aparecer Good signature from "Start9 <security@start9.com>" com a impressão digital 5456 DBFF 1B9D F905 041F A776 5259 ADFC 2D63 C217.

O pacote também inclui uma cópia da chave, start9.key.asc. O guia da Start9 orienta usar a chave que você buscou por conta própria, porque uma chave que vem com a assinatura que vai verificar não prova nada. Fizemos as duas verificações na imagem do StartOS 0.4.1.2 para Raspberry Pi (publicada em 5 de novembro de 2026). As duas passaram.

Umbrel: soma de verificação e marca de tempo

A Umbrel publica uma lista SHA256SUMS ao lado das imagens. A aula Como configurar seu nó de Bitcoin passo a passo mostra como conferir a lista. A lista não é assinada (umbrelOS 2.0.1, novembro de 2026). Por isso, a verificação prova que sua cópia está intacta, e para o resto você confia no servidor de downloads da Umbrel.

A Umbrel acrescenta uma prova de marca de tempo, SHA256SUMS.ots. O OpenTimestamps liga a impressão digital da lista a um bloco do Bitcoin por uma cadeia de hashes: “um marca de tempo prova que certos dados já existiam antes de certo momento”. Não diz quem escreveu os dados. No umbrelOS 2.0.1, a prova aponta para o bloco 974.104, minerado às 08:24 UTC em 1 de novembro de 2026, cerca de uma hora antes de as notas da versão serem publicadas. Uma lista trocada depois só poderia ter uma data posterior. Para conferir, abra opentimestamps.org, arraste SHA256SUMS.ots para a caixa “Stamp & Verify” e depois arraste SHA256SUMS quando o site pedir o arquivo com a marca de tempo. Deve aparecer uma atestação do Bitcoin datada do dia da publicação.

Uma linha do tempo de 1 de novembro de 2026, em UTC. Uma cadeia de hashes liga a lista SHA256SUMS do umbrelOS 2.0.1 ao bloco 974.104 do Bitcoin, minerado às 08:24. As notas da versão foram publicadas às 09:28, cerca de uma hora depois. Uma lista trocada mais tarde só poderia estar ligada a um bloco posterior, nunca ao 974.104. Um marca de tempo prova quando, mas não quem. A lista já existia às 08:24, mas a prova não diz quem escreveu. Para isso, ainda seria preciso uma assinatura, e a lista do umbrelOS 2.0.1 não tem uma.
Um marca de tempo prova quando, mas não quem. A lista do umbrelOS 2.0.1 aponta para o bloco 974.104, minerado cerca de uma hora antes de as notas da versão serem publicadas. Uma lista trocada depois só poderia apontar para um bloco posterior.

Firmware das carteiras de hardware

O próprio dispositivo verifica o firmware, o software interno de uma carteira de hardware. Em uma Trezor, por exemplo, o carregador de inicialização, o programa pequeno que liga o aparelho antes de rodar o firmware, verifica a assinatura e avisa você antes de rodar um firmware não oficial. Sua parte: instale firmware só pelo aplicativo do fabricante ou a partir de um arquivo que você verificou. Pare se aparecer esse aviso e acompanhe nossos avisos de segurança para seu modelo (mais detalhes na aula sobre carteiras de hardware).

Como ler os resultados

O que você vêO que significaO que fazer
Good signature from "…" e a impressão digital que você confirmouAquela chave assinou a listaPasse para a soma de verificação
WARNING: … not certified with a trusted signature!Normal: você não certificou a chave dentro do GPGCompare a impressão digital com uma segunda fonte
BAD signature from "…"A lista mudou depois de ser assinadaApague tudo e baixe de novo do site oficial. Se falhar de novo, pare e pergunte ao projeto
Can't check signature: No public keyVocê não importou a chave de quem assinouImporte a chave e repita a verificação. Isso não diz nada sobre o arquivo. No Bitcoin Core, não há problema se aparecerem algumas linhas assim, desde que várias chaves em que você confia mostrem “Good signature”
your-file: OK, uma linha que bate no Windows ou TrueSeu arquivo bate com a listaInstale depois que a assinatura passar na verificação
FAILED e computed checksum did NOT match, False ou nenhum resultado da verificação com Select-String no WindowsSeu arquivo não bate com a listaApague o arquivo, baixe de novo e repita a verificação. Se falhar de novo, pare e pergunte ao projeto
Nenhuma linha com o nome do arquivo e nenhuma linha FAILED. Muitas vezes aparece no file was verified ou um erro em vermelho no WindowsO comando nunca conferiu seu arquivoConfira a pasta e o nome exato (o navegador pode salvar uma segunda cópia como file (1).zip) e depois execute o comando de novo

Atenção à última linha. Com --ignore-missing, o comando pula um arquivo em outra pasta ou com outro nome sem mostrar FAILED. Só conta como aprovação se uma linha mostrar o nome do arquivo e terminar em OK.

As duas verificações e os três tipos de resultado. As duas passam: o gpg mostra "Good signature from" com uma impressão digital que você confirmou, e a soma de verificação mostra uma linha com o nome do seu arquivo que termina em OK, como your-file: OK. Instale o arquivo. Uma falha: "BAD signature" significa que a lista mudou depois de ser assinada, e FAILED significa que seu arquivo não bate com a lista. Apague o que baixou e baixe de novo do site oficial. Se falhar duas vezes, pare e pergunte ao projeto. Não foi possível verificar: "No public key" significa que você não importou a chave de quem assinou. Sem uma linha com o nome do arquivo, o comando nunca conferiu o arquivo. Isso não conta como aprovação, então importe a chave ou corrija a pasta e o nome exato do arquivo. Depois rode de novo.
Só conta se as duas verificações passarem. Esses são os avisos do macOS e do Linux. No Windows, a soma bate se aparecer uma linha correspondente ou True. Se Select-String não mostrar nada, não houve correspondência. No Bitcoin Core, não há problema se aparecerem algumas linhas “No public key”, desde que várias chaves em que você confia deem uma assinatura válida.

O que a verificação não consegue dizer

  • Se o código é seguro. Em novembro de 2018, a BitPay confirmou que um pacote de terceiros usado pela carteira Copay tinha sido alterado para carregar código que “poderia ser usado para capturar as chaves privadas dos usuários”. O código tinha saído nas versões 5.0.2 a 5.1.0 da Copay. Estava nas versões oficiais, então verificar quem publicou não mostrou nada errado. Compilações reproduzíveis só provam que um binário bate com o código-fonte. Para se proteger, use software que muita gente já revisou e aja assim que sair um aviso de segurança.
  • Se seu computador está livre de malware. Um malware que já está na máquina pode falsificar o que a verificação mostra. Faça a verificação em um computador que você mantém livre de malware e assine em uma carteira de hardware, cuja tela o computador não consegue alterar.
  • Se seu equipamento é legítimo. Em outubro de 2026, a Ledger confirmou um implante escondido em um aparelho vendido por um revendedor (nosso aviso). A seção “Hardware falso e adulterado” da aula sobre golpes explica como comprar com segurança.
O caminho do código até sua carteira de hardware, em seis etapas. A verificação confere as três do meio. No Bitcoin Core, as compilações reproduzíveis mostram que os arquivos batem com o código. A assinatura mostra que os desenvolvedores publicaram a versão. A soma de verificação mostra que sua cópia bate com a lista. As outras três ficam de fora. O código é seguro? Use software que muita gente já revisou e aja quando saírem avisos. Seu computador está livre de malware? Mantenha a máquina limpa e assine em uma carteira de hardware. A carteira de hardware é legítima? Compre uma nova na loja do fabricante. A verificação prova quem publicou um arquivo e que sua cópia está intacta, mas não que o código seja seguro.
A verificação cobre o meio do caminho. Prova quem publicou os arquivos e que sua cópia está intacta. O código, o computador e a carteira de hardware precisam de proteções próprias.

Faça disso um hábito: verifique toda versão nova antes de instalar, com as chaves que já estão no chaveiro. É a etapa “Verifique por conta própria” do plano de soberania. Nosso guia sobre como verificar um download do Bitcoin Core reúne esses comandos em uma página.

Pontos principais

  • A soma de verificação prova que sua cópia bate com a lista publicada. A assinatura prova que os desenvolvedores publicaram a lista. Faça as duas verificações.
  • Pegue as chaves de assinatura em um lugar diferente do download, confirme a impressão digital em dois lugares e guarde as chaves para usá-las em todas as atualizações.
  • Para a verificação passar, você precisa de “Good signature” com uma impressão digital confirmada e de uma linha com o nome do arquivo que termine em “OK”.
  • A verificação prova quem publicou um arquivo, mas não que o código é seguro. Por isso, acompanhe também os avisos de segurança.

Confira o que você aprendeu

1. Um amigo baixa o Bitcoin Core, executa o comando de soma de verificação com o arquivo SHA256SUMS do mesmo site e, ao ver “OK”, considera o arquivo verificado. O que falta e por que isso faz diferença?

Resposta

Falta verificar a assinatura da lista. “OK” só mostra que o arquivo bate com SHA256SUMS. Quem conseguir trocar o instalador nesse servidor também poderá trocar SHA256SUMS. Execute gpg --verify SHA256SUMS.asc SHA256SUMS com as chaves de quem compilou o software, obtidas de guix.sigs no GitHub. Assim, você verifica que a lista é a que assinaram os colaboradores que compilaram o Bitcoin Core.

2. Ao verificar a Sparrow, o GPG mostra “Good signature from Craig Raw”, seguido de “WARNING: This key is not certified with a trusted signature!”. Você deve parar?

Resposta

Não. O aviso aparece sempre que você não certificou uma chave dentro do GPG. Compare a impressão digital na saída, D4D0 D320 2FC0 6849 A257 B38D E946 1833 4C67 4B40, com a da página de downloads da Sparrow. Se baterem, a assinatura é de Craig Raw, e você passa para a soma de verificação.

3. O signatures.tar.gz do StartOS inclui uma cópia da chave da Start9. Por que a Start9 orienta buscar a chave em keys.openpgp.org?

Resposta

Porque quem puder trocar a imagem e as assinaturas também pode trocar aquela cópia por uma chave própria. Nesse caso, o GPG mostraria “Good signature” com a chave do atacante. O que liga a assinatura à Start9 é uma chave que você buscou em outro lugar e cuja impressão digital confirmou.