Assinatura cega (blind signing) é aprovar uma transação ou mensagem que a sua carteira não consegue exibir de forma legível para humanos — calldata bruta, um blob hexadecimal opaco ou um hash de 32 bytes isolado, em vez de uma declaração simples do que a assinatura autoriza. Não é uma falha de criptografia: a assinatura é perfeitamente válida e carrega autoridade plena on-chain, então assinar dados ilegíveis concede permissões que você nunca inspecionou — e é por isso que praticamente todo wallet drainer é construído em torno disso. O remédio é o clear signing, a assinatura legível — a carteira decodificando a solicitação em uma frase que você consegue conferir e simulando-a para prever quais ativos realmente se moveriam — mais um hábito que nenhum software pode fornecer por você: rejeite tudo o que não conseguir ler. Como a assinatura é o exato momento em que a autoridade é transferida, também importa que a chave que a produz seja só sua: a WATS Hot Wallet é não custodial no Ethereum, na Arbitrum, na Optimism, na Base, na Polygon, na BNB Chain, na Solana e na TON, então nada se move sem uma assinatura que você mesmo aprovou.
O que é assinatura cega?
Assinatura cega é qualquer aprovação em que a solicitação e a exibição dela se descolaram. A cadeia executa o que os bytes assinados disserem; a sua tela é o único lugar onde a sua intenção e o conteúdo real podem ser comparados. Quando a tela mostra hexadecimal, essa comparação é impossível — e os atacantes constroem exatamente em cima dessa impossibilidade.
A lacuna é de informação, não de matemática. Uma assinatura não codifica "concordei em trocar 100 USDC"; ela codifica "esta chave autoriza estes bytes". Se esses bytes significam um swap, uma aprovação ilimitada ou uma ordem off-chain que vende o seu NFT por nada é uma pergunta que só a interface pode responder — e assinatura cega é o que acontece quando a interface se recusa a respondê-la.
Onde a assinatura cega aparece
Assinatura cega não é um recurso único — é uma família de situações em que a exibição não dá conta dos dados. Os suspeitos de sempre:
| Tipo de solicitação | O que você costuma ver | Risco |
|---|---|---|
| eth_sign | Um hash ou blob hexadecimal bruto | Crítico — inverificável por design; recuse sempre |
| Dados tipados brutos (EIP-712) | Campos estruturados — spender, valor, prazo | Alto quando o significado não está claro — um campo legível não é um campo compreendido |
| Transação de contrato | Uma ação decodificada, ou calldata bruta quando a carteira não consegue decodificar | Depende inteiramente da decodificação da carteira |
| Tela de hardware que só mostra o hash | Apenas um hash no display do dispositivo | Alto — o dispositivo confirma presença, não compreensão |
O padrão nas quatro linhas: o risco acompanha a legibilidade. Onde a renderização afina, o perigo engrossa.
Por que o eth_sign é tão perigoso?
Entre os métodos de assinatura, o eth_sign é a forma mais pura do problema: ele pede que a sua carteira assine um valor arbitrário de 32 bytes, exibido a você como hexadecimal bruto, sem nenhum dos prefixos que marcam uma mensagem como "apenas uma mensagem". Como a entrada não traz separação de domínio, ela pode ser qualquer coisa — inclusive o hash de uma transação que tira ativos da sua conta. Não há como, nem mesmo para um especialista cuidadoso, verificar a solicitação apenas pelo prompt; é inverificável por design. Foi por isso que as principais carteiras depreciaram ou removeram o método por completo, e por isso a regra prática não tem exceções: em 2026, um site que solicita eth_sign está perigosamente desatualizado ou é ativamente hostil, e as duas respostas significam rejeitar.
O que uma carteira de hardware realmente mostra a você?
Uma carteira de hardware mantém as chaves offline e exibe as solicitações em uma tela que malware não consegue alterar — mas essa tela só vale o que é renderizado nela. Para interações com contratos que o dispositivo não entende, muitos aparelhos historicamente recorriam a exibir apenas um hash, atrás de uma opção de configuração literalmente chamada blind signing. Confirmar um hash em uma tela confiável prova que você apertou o botão; não prova nada sobre o que você aprovou. A promessa da segurança de hardware é o que você vê é o que você assina — uma promessa que desmorona em silêncio quando o que você vê são trinta e dois bytes de ruído. O isolamento de hardware protege a chave, não a decisão.
Como os drainers exploram a assinatura cega?
Um kit de drainer é, antes de tudo, um ataque à experiência de assinatura. O site parece uma página de mint, um resgate de airdrop ou um portal de suporte; a solicitação que ele dispara é uma aprovação ilimitada de token, um setApprovalForAll cobrindo uma coleção inteira de NFTs, ou uma assinatura Permit ou de ordem off-chain que move ativos depois, sem nenhum novo prompt. O que todas têm em comum é a apresentação: a vítima assinou uma solicitação que não conseguia ler — ou leu, mas não entendeu — e a drenagem veio em seguida. O roteiro completo está em o que é um wallet drainer, e a mecânica das aprovações — inclusive por que uma única assinatura sem gas pode esvaziar o saldo de um token — em aprovações de tokens e Permit explicadas. Ambos chegam à mesma causa raiz: o roubo acontece no momento da assinatura, e a assinatura cega é o que torna esse momento aproveitável para o atacante.
O que é clear signing — e até onde já chegou?
A resposta da indústria é o clear signing, a assinatura legível — o princípio de que a carteira precisa traduzir cada solicitação em termos que um humano consiga verificar antes de pedir a assinatura. Em 2026, ele se apoia em dois mecanismos. Decodificação: a carteira reconhece o contrato e a função que estão sendo chamados e os renderiza como uma frase — aprovar o token X, spender Y, valor ilimitado — com iniciativas como a ERC-7730 construindo registros abertos de metadados para que até as telas de carteiras de hardware possam exibir chamadas de contrato em termos humanos, em vez de um hash. Simulação: a carteira, ou um serviço que ela consulta, executa a transação contra o estado atual da cadeia antes de você assinar e mostra uma prévia do resultado — quais ativos saem, quais entram, quais aprovações mudam. Simulação é previsão, não garantia — o estado pode mudar entre a prévia e a inclusão, e um contrato hostil pode se comportar de outro jeito depois de minerado —, mas uma prévia mostrando os seus NFTs indo para um endereço desconhecido interrompe a maioria das drenagens na hora. A adoção ainda é desigual entre carteiras e cadeias em 2026, então confira o que a sua própria carteira de fato renderiza em uma ação rotineira antes de confiar que ela vai avisá-lo.
Regras práticas: ilegível é sinônimo de não confiável
Você não precisa saber ler calldata para ficar seguro — precisa de hábitos que façam as solicitações ilegíveis falharem em modo seguro:
- Nunca aprove uma solicitação eth_sign. Não restou nenhum uso legítimo e corrente para ela — trate a própria solicitação como o sinal de alerta.
- Prefira carteiras que decodificam e simulam. Se a sua carteira mostra hexadecimal bruto para uma ação rotineira, esse é um problema de carteira que justifica trocar.
- Leia os campos que importam nas solicitações de dados tipados: spender, valor, prazo, operador. Um valor ilimitado ou um spender desconhecido é um sinal de pare.
- Mantenha desligados os modos de blind signing do hardware, a não ser que você entenda exatamente por que uma transação específica precisa deles — e desligue de novo depois.
- Conecte-se com deliberação. A maioria das solicitações ruins chega por conexões apressadas — a rotina em como conectar uma carteira a um dApp com segurança mantém a porta da frente vigiada.
- Ilegível é igual a não confiável. Rejeitar uma assinatura não custa nada além de uma nova tentativa. Uma assinatura errada pode custar tudo. A assimetria decide por você.
Onde a WATS entra
Assinatura cega é um problema de exibição. Decodificação e simulação podem apresentar uma solicitação em termos legíveis, mas nenhuma carteira — nem a WATS — pode decidir por você se a solicitação é mesmo a que você quer. O que uma carteira de fato define é quem controla a chave que transforma essa decisão em autoridade. A WATS Hot Wallet é totalmente não custodial: você detém as chaves, a WATS nunca detém uma chave, e nenhuma transferência sai da sua conta sem uma assinatura que você aprovou no Ethereum, na Arbitrum, na Optimism, na Base, na Polygon, na BNB Chain, na Solana ou na TON. Isso elimina uma categoria inteira de risco — ninguém pode assinar por você — e deixa a disciplina de leitura descrita acima inteiramente nas suas mãos.
O WATS NFC Metal Card ocupa o mesmo lugar honesto. Ele não armazena chaves privadas e não decodifica calldata: é um dispositivo de tap-to-authenticate com um ID de cartão exclusivo, pareado a exatamente um dispositivo, que autentica as chaves que vivem nos apps WATS. Isso acrescenta um fator físico — algo que você segura, não apenas algo na sua tela — mas não torna legível uma solicitação ilegível. Nada torna, exceto o próprio prompt.
Então trate as duas metades separadamente. A metade da leitura é um hábito: nunca assine o que não conseguir ler e rejeite tudo o que chegar como hexadecimal puro. A metade da custódia é uma escolha que você faz uma vez — mantenha as suas chaves em uma carteira não custodial e mantenha a autoridade de assinar onde ela deve estar. Instale a WATS Hot Wallet, transforme todo prompt ilegível em uma rejeição automática e pareie um WATS NFC Metal Card ao seu dispositivo se quiser um fator físico autenticando você às chaves nos seus apps WATS.
Perguntas frequentes
Assinatura cega é a mesma coisa que eth_sign?
Não — o eth_sign é o caso mais extremo dela. Assinatura cega é qualquer aprovação em que você não consegue ler o que está autorizando: calldata bruta, dados tipados opacos ou uma tela de hardware que só mostra um hash. O eth_sign vai além por ser inverificável em princípio, e é por isso que as principais carteiras o depreciaram ou removeram. Toda solicitação de eth_sign é assinatura cega, mas muita assinatura cega acontece também em prompts de transação comuns.
Uma carteira de hardware me protege da assinatura cega?
Apenas em parte. Uma carteira de hardware mantém as suas chaves offline e exibe as solicitações em uma tela que malware não consegue adulterar — mas, se o dispositivo não conseguir decodificar uma chamada de contrato, ele pode mostrar apenas um hash, e confirmar um hash não diz nada sobre o que você aprovou. A proteção melhora conforme os padrões de metadados de clear signing chegam às telas dos dispositivos, em 2026. O hardware isola a chave; sozinho, ele não explica a transação.
Uma carteira não custodial me protege da assinatura cega?
Ela protege a chave, não a decisão. Não custodial significa que só você pode produzir uma assinatura — a WATS Hot Wallet é um exemplo: você detém as chaves, a WATS nunca detém uma chave, e nada se move no Ethereum, na Arbitrum, na Optimism, na Base, na Polygon, na BNB Chain, na Solana ou na TON sem a sua aprovação. Isso remove o risco de outra pessoa assinar por você, mas uma assinatura que você mesmo aprova continua sendo vinculante, então ler a solicitação antes de aprová-la continua sendo tarefa sua. O WATS NFC Metal Card acrescenta um fator físico de tap-to-authenticate para as chaves que vivem nos apps WATS — ele não armazena chaves privadas e não decodifica calldata.
O que devo fazer quando a carteira mostra apenas hexadecimal bruto?
Rejeitar. Uma solicitação de assinatura que você não consegue ler é uma solicitação que você não consegue avaliar, e rejeitar não custa nada além de uma nova tentativa. Depois investigue: verifique se o dApp é genuíno, se a sua carteira oferece decodificação e simulação para aquela cadeia e se a ação realmente exige aquele método. Se existir um caminho legível — um prompt decodificado ou uma prévia simulada —, use-o. Se não existir nenhum, trate a solicitação como não confiável e vá embora.

