Artigo 6 de 125 min de leitura

O que o celular mostra: análise de transações no assinador

A maioria dos roubos de carteiras acontece com o consentimento do dono. Uma página mostra uma coisa, a carteira assina outra, e o dono clicou em Confirm (Confirmar). O trabalho do celular é garantir que o que você vê é o que você assina.

Um celular decodificando uma aprovação ilimitada para um spender desconhecido, os dois alertas destacados em balões e um pequeno cartão mostrando que a página só dizia Swap
O pedido como ele realmente é, não como a página o descreveu.
Nesta página

A alegação e a verdade

Quando uma página pede que você assine algo, ela também diz o que é. "Swap de 1 ETH para USDC." "Resgate sua recompensa." "Verifique sua carteira." Essa descrição é uma alegação feita pela página, e uma página maliciosa pode alegar o que quiser. Os bytes que ela entrega à carteira são outra coisa, e são a única coisa que a blockchain vai ver.

O AirNox Vault ignora a alegação. Ele decodifica o pedido a partir dos bytes exatos que está prestes a assinar, no celular, com o próprio parser, e mostra o resultado a você. O que o desktop diz sobre um pedido é uma alegação. O que o celular mostra é a verdade.

À esquerda, uma página diz Swap de 1 ETH para USDC; à direita, o celular decodifica uma aprovação ilimitada para um spender desconhecido
O mesmo pedido, duas descrições. Só uma delas veio dos bytes.

Métodos padrão, reconhecidos

A maior parte do que você assina é comum. Uma transferência. Uma aprovação (allowance) de token. Um swap por um roteador conhecido. Um depósito num contrato. O celular reconhece as operações padrão de cada família de blockchains que suporta e as mostra em palavras simples: qual operação, qual token, quanto, para quem, em qual rede e qual é o teto da taxa. Uma transferência parece uma transferência. Uma aprovação parece uma aprovação, com o spender (o endereço autorizado a gastar) e o valor escritos por extenso.

Imitações, sinalizadas

Os pedidos perigosos são os que parecem comuns e não são. Um método cujo nome lembra um padrão, mas cujos parâmetros não batem. Uma chamada que delega o controle a outro contrato de um jeito que não aparece no resumo. Um alvo que não é o contrato com que a página disse estar falando. Um token cujo símbolo se passa por um conhecido. Um endereço de destino que tem os mesmos primeiros e últimos caracteres de um dos seus.

Cada um desses casos é detectado e vira um alerta. O celular não se recusa a assinar, porque a decisão é sua. Ele garante que você não tenha como deixar passar.

Seis alertas: aprovação ilimitada, spender desconhecido, método imitador, token impostor, destinatário parecido, delegação oculta
Os alertas que o celular levanta antes de deixar você aceitar.

Os alertas

Uma aprovação ilimitada é a jogada clássica de um drainer: aprove (approve) uma vez e perca depois tudo o que tiver daquele token. O celular escreve "Unlimited" (ilimitado) em vermelho e trata isso como um alerta.

Um spender desconhecido é uma aprovação para um endereço que ninguém avalizou. Quando um swap foi cotado por um roteador específico e a aprovação aponta para outra coisa, essa divergência é um alerta.

Um método imitador, um símbolo de token impostor, um destinatário parecido e uma delegação oculta são apontados, cada um, pelo nome. Para destinatários, tanto o desktop quanto o celular mostram uma imagem determinística do endereço, então um endereço parecido que engana o olho no hex não engana na imagem.

Primeiro marcar como lido, depois Accept

Um alerta não é um pop-up que você fecha por reflexo. O botão Accept (Aceitar) fica desativado até que todos os alertas tenham sido marcados. Você pode recusar a qualquer momento. Só pode aceitar depois de marcar como lido o que o celular encontrou. Essa única escolha de design transforma "fui clicando" em "li e decidi seguir", e essa é a diferença entre uma carteira drenada e uma decisão.

O desktop faz a triagem primeiro

A mesma análise roda no desktop antes de o pedido sair dele, então a maioria dos pedidos ruins é sinalizada na janela da carteira antes de chegar ao celular. O celular roda a análise de novo porque o desktop é a máquina que consideramos comprometida. São duas passadas independentes, em dois aparelhos, e a palavra final é do que guarda as chaves.

Ler continua sendo trabalho seu

Um assinador (signer) que mostra a verdade não pode impedir você de concordar com ela. O que ele pode fazer é tornar a verdade impossível de ignorar: decodificada a partir dos bytes, em palavras simples, com as partes arriscadas em vermelho e uma barreira que você precisa passar de propósito. O resto é com você, e agora você tem o que precisa para decidir.

A série completa

  1. Considere o computador comprometido
  2. Mass Adoption Security: o assinador é um celular que você já tem
  3. Três caminhos através do air gap: QR codes, Bluetooth LE e NFC
  4. Invisível no ar: um assinador que nenhum scanner encontra
  5. Nunca confiamos no transporte
  6. O que o celular mostra: análise de transações no assinador
  7. O celular mantém seu próprio registro
  8. O cofre no seu desktop: Argon2id e um perfil que resiste a tentativas de adivinhação
  9. dApps sem carteira de navegador
  10. Um servidor MCP com regras: agentes de IA dentro de limites
  11. Uma só carteira protegida para tudo
  12. Pequena e nativa: C++, sem runtime JavaScript, da estação de trabalho ao Raspberry Pi

Entre na lista de espera

Deixe seu e-mail e a gente manda novidades sobre os lançamentos. Só isso.