
Alguém tem esvaziado carteiras de Bitcoin que nunca deveriam ser acessíveis.
As moedas estavam em dispositivos Coldcard — carteiras de hardware da fabricante canadense Coinkite, do tipo que nunca se conecta à internet. Sem link de phishing. Sem malware. Sem laptop roubado. Os atacantes simplesmente descobriram quais eram as chaves privadas.
A Galaxy Research rastreou agora mais de 1.596 BTC roubados em três ondas confirmadas, com uma quarta onda suspeita que elevaria o total para aproximadamente 2.055 BTC — cerca de US$ 130 milhões aos preços atuais. Uma única operação movimentou US$ 70 milhões em 41 minutos. A Coinkite afirma que pelo menos 15 atacantes diferentes participaram.
A empresa publicou um documento técnico explicativo em 1º de agosto, detalhando o que deu errado. É um documento incomumente franco, e a versão resumida é que a carteira estava 'rolando dados viciados' por oito anos sem que ninguém percebesse.
Em 2021, a Coinkite moveu a criptografia da Coldcard para a libsecp256k1, a mesma biblioteca usada pelo Bitcoin Core. Uma boa decisão. A integração foi onde tudo desmoronou.
A migração silenciosamente redirecionou a geração de seeds do gerador de números aleatórios de hardware da própria Coldcard para o fallback de software do MicroPython — um pequeno algoritmo chamado Yasmarang que existe para dispositivos sem nenhum chip de aleatoriedade.
🚨PERDAS DO HACK DA COLDCARD ULTRAPASSAM US$100M
Alta confiança: 1.596 BTC foram roubados de ~7300 endereços em 3 ondas confirmadas + mais 14 incidentes menores.
Se adicionarmos os casos suspeitos (mas não confirmados), o total sobe para US$130m (2k BTC).
Mais no fio abaixo 👇 pic.twitter.com/RAl3ib67qa
— Galaxy Research (@glxyresearch) August 3, 2026
A Coldcard tem um chip de aleatoriedade. Ele simplesmente deixou de ser requisitado.
O motivo é quase inacreditável. Um 'build guard' usava #ifndef, que verifica se uma configuração existe, em vez de verificar se está ativada. A Coinkite havia definido essa configuração como zero, significando "desligada". Como zero ainda é considerado "definido", a verificação de segurança passou e a compilação foi concluída. Ambas as versões da função tinham assinaturas idênticas, então nada parecia errado.
"A maior parte da aleatoriedade na COLDCARD vinha de um PRNG que eu não sabia que estava de fato na base do código-fonte", escreveu a Coinkite, referindo-se a um gerador de números pseudoaleatórios — um software que produz números que parecem aleatórios, mas seguem uma receita fixa a partir de um valor inicial.
Alimente a receita com o mesmo valor inicial e você obterá a mesma saída. Todas as vezes.
Em dispositivos Mk2 e Mk3 que executam firmware 4.0.1 a 4.1.9, esse valor inicial vinha do número de série do chip e de seu relógio. A Coinkite estima o espaço de busca resultante em cerca de 40 bits. Modelos mais novos misturavam um pouco de entropia do elemento seguro, elevando-os para aproximadamente 72 bits.
Nenhum deles é 128, o alvo.
A lacuna importa mais do que parece. Bits são expoentes. Um espaço de busca de 128 bits contém mais combinações do que átomos no universo observável, e ninguém está buscando por elas. Quarenta bits são cerca de um trilhão — um número que um laptop decente pode processar. Cada bit que você perde reduz o trabalho pela metade.
A equipe de engenharia da Block, que publicou sua própria análise, estimou o espaço de busca efetivo do elemento seguro dos dispositivos mais novos em 2^32 candidatos, com uma média de cerca de 2^31 tentativas. Sua avaliação para as placas mais antigas é mais direta: para um ID de dispositivo conhecido, estado do temporizador e histórico de chamadas, a geração da carteira é determinística.
E determinístico é o oposto de aleatório, o que é essencial para a criptografia.
A Coinkite suspeita que tenha sido descoberto por uma máquina. "Temos que assumir que alguém usou IA para revisar versões anteriores do nosso firmware e se deparou com este problema", escreveu a empresa, acrescentando que recentemente havia executado um dos melhores modelos de IA disponíveis sobre o mesmo código e não encontrou nada. "Tanto atacantes quanto defensores têm as mesmas ferramentas de IA, mas hoje ela não nos ajudou, e só ajudou os 'caras maus'."
O firmware corrigido já está disponível para todos os modelos afetados. Ele não repara seeds existentes; essas carteiras precisam ser regeneradas e os fundos, movidos. A Decrypt cobriu como o armazenamento 'air-gapped' muda após um exploit como este e rastreou as perdas que ultrapassaram US$ 114 milhões.
Entropia é a medida do quanto um atacante não sabe.
Em outras palavras, é basicamente incerteza, contada em bits. Um bit é um cara ou coroa: dois resultados, e quem adivinha acerta metade das vezes. Dez bits são 1.024 resultados. Cada bit dobra a carga de trabalho do adivinho.
Uma carteira de Bitcoin é um número muito grande mantido em segredo. O endereço para o qual as pessoas enviam moedas é derivado dele matematicamente, e a derivação funciona apenas em um sentido — você pode ir da chave para o endereço, mas nunca voltar.
Então, a segurança de cada carteira repousa em uma pergunta: Quantos números um atacante teria que tentar?
Se o número foi escolhido com 128 bits de entropia, a resposta é "mais do que a física permite". Se foi escolhido com 40, a resposta é "dê-me algum tempo".
Esta é a mesma propriedade que torna a ameaça da computação quântica digna de discussão — uma máquina quântica atacaria a matemática que liga a chave ao endereço. O bug da Coldcard nunca precisou disso. Ele tornou as chaves adivinháveis antes que essa matemática fosse envolvida.
É aqui que o vocabulário fica escorregadio. Um gerador pseudoaleatório produz uma saída que passa em testes estatísticos de aleatoriedade, de modo que basicamente nada que uma planilha sinalizaria. Essa saída ainda é totalmente determinada pelo seu valor de seed. Parece aleatória, mas não é.
Aleatoriedade estatística e imprevisibilidade criptográfica são propriedades diferentes, e a saída da Coldcard teria passado no primeiro teste enquanto falharia completamente no segundo.
A verdadeira aleatoriedade deve vir de ruído físico: instabilidade elétrica em um circuito, flutuação térmica, decaimento radioativo. Era para isso que servia o chip de hardware na Coldcard. Esse é o chip que o 'build flag' desconectou.
À medida que os usuários corriam para regenerar seeds, muitos recorreram à solução óbvia de baixa tecnologia. As Coldcards permitem rolar dados físicos e inserir os resultados como entropia. A própria orientação da Coinkite considera que seeds feitas com pelo menos 50 jogadas de dados independentes e privadas não correm risco do bug.
Pode parecer estúpido, mas a empresa realmente vende uma sacola com "100 dados bonitos e minúsculos" para facilitar todo o processo para você.
Em 31 de julho, o desenvolvedor do Bitcoin Core, Luke Dashjr, publicou um aviso: "Muitas pessoas estão sugerindo/usando dados para mitigar a vulnerabilidade da Coldcard. Observe que dados comuns não são projetados para serem criptograficamente seguros. Se você for fazer isso, provavelmente deveria comprar dados de cassino de precisão. E mesmo assim, tenha outra fonte de entropia."
O Bitcoin Twitter não recebeu isso com calma.
"haha agora você nem consegue rolar dados", escreveu um usuário. "A autocustódia acabou..." Outro perguntou se deveria contratar alguém com Parkinson para jogá-los. (Não é legal.)
eu deveria contratar alguém com parkinsons para jogar os dados?
— Murern (@Bitcoin_Murern) July 31, 2026
Provavelmente a resposta mais útil veio com a aritmética. O desenvolvedor Justin Sharp analisou os números sobre o quanto um dado ruim te custa:
"Exagero. Um d6 perfeito dá 2,585 bits por jogada. Um dado visivelmente viciado, por exemplo, com uma face caindo 20% das vezes em vez de 16,7%, ainda fornece cerca de 2,55 bits. Em 99 jogadas, essa é a diferença entre ~256 bits e ~252 bits de entropia."
Quatro bits de 256. Essa é toda a penalidade para um dado visivelmente injusto.
Dashjr não está errado ao dizer que dados baratos têm um viés mensurável — os pontos moldados por injeção removem quantidades ligeiramente diferentes de plástico de cada face, o que é precisamente o motivo pelo qual os cassinos usam dados de precisão preenchidos. Ele está certo sobre a física e errado sobre o que está em jogo. Perder quatro bits de 256 deixa você com 252. O bug da Coldcard deixou os usuários com 40.
Há um argumento mais perspicaz embutido em seu conselho, no entanto, e não se trata de tolerância de fabricação. Trata-se de não confiar em uma única fonte. A falha da Coldcard não foi que sua entropia era ligeiramente enviesada — foi que um componente parou silenciosamente de contribuir e nada percebeu.
Se você gerou uma seed em uma Coldcard afetada sem jogar dados (realmente) ou sem uma senha BIP-39 forte, essa seed está comprometida.
Atualize o firmware, gere uma nova seed, verifique a impressão digital, envie uma transação de teste e, em seguida, mova tudo. O aviso da Coinkite detalha modelo por modelo. As seeds exportadas carregam a falha consigo — mover uma seed ruim para um aplicativo de carteira diferente não resolve nada.
Para todos os outros, a conclusão não é que as carteiras de hardware estão quebradas ou que os dados são uma armadilha.
É que "aleatório" é uma afirmação, e afirmações precisam ser verificadas. O código-fonte da Coldcard era público o tempo todo. O RNG de hardware pretendido estava lá no binário. Os revisores confirmaram que ele existia, mas nunca confirmaram que o gerador de seed realmente o chamava.
Oito anos de auditorias analisaram o código certo. Ninguém verificou se ele estava em execução.