Assinatura cega: o erro de US$ 1,5 bilhão

Segurança

Assinatura cega: o erro de US$ 1,5 bilhão

O maior roubo da história das criptomoedas não quebrou nenhuma senha. Ele explorou a distância entre o que os assinantes viam na tela e o que suas chaves realmente autorizavam.

Academy Ulianov · Leitura de 8 min
Em 30 segundos
  • Em 21 de fevereiro de 2025, a corretora Bybit perdeu cerca de 401.347 ETH (≈ US$ 1,5 bilhão) — o maior roubo já registrado em cripto.
  • Nenhuma senha foi quebrada e nenhuma chave privada vazou. Os signatários autorizaram a transação — sem enxergar o que ela de fato fazia.
  • O ataque explorou a assinatura cega: a tela mostrava uma transferência de rotina, enquanto os bytes assinados executavam a tomada do cofre.
  • A resposta da indústria tem nome: clear signing (o padrão ERC-7730), que promete transformar código hexadecimal ilegível em frases que um humano entende.

O maior roubo da história do dinheiro digital

Roubos de banco entraram para o imaginário coletivo com dinamite, máscaras e cofres arrombados. O maior furto financeiro da era digital não teve nada disso. Em 21 de fevereiro de 2025, o grupo estatal norte-coreano Lazarus — o mesmo braço cibernético que Pyongyang usa há uma década para financiar seu programa de armas — extraiu cerca de 401.347 ETH de uma carteira fria da corretora Bybit, algo em torno de US$ 1,5 bilhão à cotação da época. Foi, de longe, o maior roubo de criptoativos já documentado.

O detalhe que deveria tirar o sono de quem custodia valor é este: nada foi “hackeado” no sentido clássico. As chaves privadas da Bybit não vazaram. Nenhuma senha foi adivinhada por força bruta. A criptografia que protege o Ethereum permaneceu intacta, como sempre esteve. Os funcionários responsáveis pela carteira olharam para a tela, viram uma operação legítima e a aprovaram — cumprindo o procedimento à risca. O elo que se rompeu não foi matemático, foi perceptivo: a distância entre o que o olho humano via e o que a assinatura digital de fato consentia.

≈ 401 mil
ETH desviados da carteira fria da Bybit
US$ 1,5 bi
maior roubo de cripto já registrado
3 de 3
assinantes aprovaram a transação sem detectar a fraude

O que é assinatura cega

Toda operação numa blockchain como o Ethereum é, no fundo, uma mensagem que você assina com sua chave privada. Assinar é dizer “eu autorizo isto”. O problema é que “isto” quase nunca aparece em português claro. A transação chega ao seu dispositivo como uma sequência de bytes — algo do tipo 0x095ea7b3000000000000000000000000a9059cbb… — que nenhum ser humano consegue ler. Você depende inteiramente do aplicativo para lhe dizer, em palavras, o que aqueles bytes significam.

Assinatura cega (do inglês blind signing) é exatamente isso: aprovar uma mensagem cujo conteúdo real você não consegue verificar de forma independente. Mesmo carteiras de hardware sofisticadas — os “cofrinhos” físicos que guardam a chave offline — muitas vezes só conseguem exibir o dado bruto, não o seu efeito. O padrão EIP-712, criado justamente para tornar mensagens mais legíveis, não resolve o caso das operações aninhadas e complexas: ele estrutura os dados, mas não os traduz. Na prática, o assinante confia no que a interface mostra. E interface é software. E software pode mentir.

A pergunta que separa o amador do profissional

Antes de tocar em “confirmar”, a dúvida certa não é “esta tela parece confiável?”, e sim “eu tenho uma fonte de verdade independente do que estou assinando?”. Se a resposta for não, você está assinando às cegas — por mais bonita e familiar que a tela seja.

A anatomia do golpe: quando a tela mente

A carteira fria da Bybit não era controlada por uma pessoa só. Ela usava um esquema multisig (múltiplas assinaturas) sobre o Safe{Wallet}: uma transação só valia se três signatários autorizados a aprovassem. No papel, é uma defesa robusta — comprometer três pessoas é muito mais difícil do que comprometer uma. O Lazarus não tentou comprometer as três. Atacou o que todas viam: a interface.

Os invasores comprometeram a infraestrutura de desenvolvimento do Safe{Wallet} e injetaram um JavaScript malicioso na página. O código foi cirúrgico: ele detectava quando um dos signatários da Bybit acessava o app e, no momento da assinatura, trocava os dados da transação. A tela continuava exibindo uma transferência rotineira. O que o dispositivo assinava, porém, era outra coisa. Capturada a assinatura, o código restaurava os dados originais para os demais — de modo que ninguém notasse a divergência.

A transação adulterada não era uma simples transferência. Ela executava um delegatecall — uma operação que empresta o código de outro contrato para rodar dentro do seu — apontando para um contrato controlado pelo atacante. Esse contrato fingia ser uma função de transferência de tokens, mas na verdade reescrevia o endereço da implementação do contrato-cofre. Em uma linha de código, a Bybit deixou de controlar a própria carteira: todas as chamadas futuras passaram a ser roteadas para o código dos ladrões, que esvaziaram o cofre com calma e depois pulverizaram os fundos por mixers e corretoras descentralizadas.

Por que o multisig não salvou a Bybit

Aqui mora a lição desconfortável. O multisig funcionou exatamente como projetado: exigiu três assinaturas e recebeu três assinaturas. O problema é que a segurança de um multisig pressupõe que cada assinante entenda o que está assinando. Se todos olham para a mesma tela envenenada, três assinaturas não valem mais do que uma — apenas repetem o mesmo engano três vezes. Como resumiu uma análise técnica do episódio, os signatários “fizeram tudo processualmente certo. Eles apenas não tinham uma fonte de verdade independente e legível para o que suas chaves estavam de fato autorizando”.

Há também uma lição de projeto. O cofre da Bybit tinha o poder de executar delegatecall arbitrário — uma capacidade poderosa e perigosa, muito além do que a empresa realmente precisava, que era apenas mover fundos. Sistemas de custódia deveriam seguir o princípio do menor privilégio: uma carteira que só precisa transferir não deveria ter permissão de se auto-reprogramar. Complexidade desnecessária é superfície de ataque disfarçada de flexibilidade.

delegatecall
a operação que reescreveu o cofre em uma transação
JavaScript
a camada comprometida — não a criptografia
slot 0
posição de memória sobrescrita para sequestrar o contrato

Clear signing: a resposta que a indústria construiu

Se o problema é o abismo entre bytes e significado, a solução é construir uma ponte confiável entre os dois. Foi o que a indústria fez. Em 12 de maio de 2026, a Ethereum Foundation apresentou o clear signing — em português, “assinatura clara” — sob a máxima What You See Is What You Sign (“o que você vê é o que você assina”). Não é uma mudança no protocolo do Ethereum, mas um arcabouço coordenado de três peças.

A primeira é o ERC-7730, um formato em que cada contrato inteligente descreve suas próprias funções em linguagem legível: qual parâmetro é o destinatário, qual é o valor, qual é a ação pretendida. Originalmente criado pela Ledger em 2021 e formalizado como ERC-7730 em 2024, o padrão foi transferido para a Ethereum Foundation no início de 2026 em busca de governança neutra. A segunda peça é um registro público (hospedado em clearsigning.org) onde qualquer um pode submeter essas descrições, sem porteiro central. A terceira é uma camada de atestação, apoiada no Ethereum Attestation Service, em que auditores independentes verificam, de forma criptográfica, que a descrição corresponde de fato ao código on-chain.

O efeito prático é direto: quando sua carteira encontra um contrato com descrição atestada, você lê algo como “Aprovar limite de gasto de 500 USDC para o Uniswap V4 Router” em vez de um paredão hexadecimal. Se não houver descrição confiável, a carteira exibe uma “impressão digital” criptográfica do que será assinado — permitindo que um segundo dispositivo detecte adulteração. A versão 2 do padrão, de abril de 2026, estendeu a cobertura a operações entre diferentes blockchains. Ledger, Trezor, MetaMask, WalletConnect e Fireblocks estão entre os primeiros a adotar; a Trezor se comprometeu a entregar suporte até 30 de junho de 2026.

O que mudou de verdade

Clear signing não torna você imune — ele devolve ao humano a capacidade de verificar. A defesa deixa de ser “confie na interface” e passa a ser “leia, em português, o que está prestes a autorizar”. É a diferença entre assinar um contrato em branco e assinar um contrato que você consegue ler.

O que isso ensina a quem guarda as próprias chaves

A Bybit é uma instituição com equipe de segurança dedicada, e ainda assim caiu. O investidor individual não deveria concluir daí que está condenado — mas sim que os mesmos princípios se aplicam, em escala menor. Desconfie de qualquer assinatura que você não consegue ler. Prefira carteiras e dispositivos que já suportem clear signing. Trate delegatecall, aprovações “ilimitadas” e mensagens que você não entende como sinais amarelos — não porque sejam sempre golpes, mas porque você não tem como saber que não são.

Vale também um princípio de higiene: separe carteiras por finalidade (uma “quente” para interagir com aplicações, uma “fria” para guardar), revise periodicamente as aprovações concedidas e nunca assuma que uma tela familiar é uma tela honesta. O software que você usa há anos pode ter sido comprometido ontem. A confiança na interface é conveniência; a verificação do conteúdo é segurança. As duas raramente andam juntas sem esforço.

Glossário rápido
Assinatura cega
Aprovar uma transação sem conseguir verificar, de forma independente, o que ela realmente faz.
Clear signing
Padrão que traduz o conteúdo de uma transação para linguagem legível antes da assinatura (ERC-7730).
Multisig
Esquema em que uma transação exige a assinatura de várias chaves distintas para ser válida.
delegatecall
Operação que executa o código de outro contrato dentro do contexto do seu — poderosa e perigosa.
Lazarus
Grupo cibernético estatal norte-coreano, ligado a grandes roubos de cripto usados para financiar Pyongyang.

“Não confie, verifique” — e o abismo entre procedimento e verdade

Os cypherpunks que sonharam o dinheiro digital cunharam um lema espartano: don’t trust, verify — não confie, verifique. Era uma resposta política tanto quanto técnica: a promessa de um sistema em que o indivíduo não precisa depender da boa-fé de um intermediário, porque pode conferir tudo por conta própria. O hack da Bybit é a ironia dessa promessa levada ao limite. Os assinantes confiaram — não num banco, não num governo, mas em algo aparentemente mais inócuo: os pixels da própria tela. E foi ali, no ponto em que a máquina traduz bytes em imagem, que a verdade se descolou do procedimento.

Há uma lição que transcende o cripto. Toda tecnologia que nos poupa de entender o que está por baixo nos torna, na mesma medida, reféns de quem controla a tradução. O clear signing é, no fundo, uma tentativa de reconstruir a possibilidade de verificação para o cidadão comum — de devolver soberania a quem assina. Cabe reconhecer o contraponto: exigir que cada indivíduo verifique cada operação é uma carga real, e há quem prefira, legitimamente, delegar a custódia a instituições que assumam esse fardo. Ambos os caminhos são defensáveis. O que não é defensável é a ilusão do meio-termo: acreditar que se está verificando quando, na verdade, apenas se está confiando numa imagem.

O que levar para casa
  1. O maior roubo de cripto da história não quebrou criptografia nenhuma — explorou a assinatura cega, a distância entre a tela e o que a chave autoriza.
  2. Multisig só protege se cada assinante entende o que assina; três assinaturas sobre uma tela envenenada valem tão pouco quanto uma.
  3. O clear signing (ERC-7730) traduz transações para linguagem legível e devolve ao humano o poder de verificar antes de consentir.
  4. Para você: desconfie de toda assinatura ilegível, prefira dispositivos com clear signing, e lembre que interface familiar não é o mesmo que interface honesta.
Este conteúdo é educacional e não constitui recomendação de investimento. A Academy Ulianov não é consultora financeira. Faça sua própria pesquisa (DYOR). Dados de 2025–2026, sujeitos a variação.

Leave a Comment