Artigo 6 de 125 min de leitura

O que o telemóvel te mostra: análise de transações no assinador

A maioria dos roubos a carteiras acontece com o consentimento do dono. Uma página mostra uma coisa, a carteira assina outra, e o dono clicou em Confirm (Confirmar). A função do telemóvel é garantir que aquilo que vês é aquilo que assinas.

Um telemóvel a descodificar uma autorização de gasto ilimitada para um spender desconhecido, com os dois alertas destacados em notas, e um pequeno cartão que mostra que a página só dizia Swap
O pedido tal como é, e não como a página o descreveu.
Nesta página

Uma alegação e a verdade

Quando uma página web te pede para assinar alguma coisa, também te diz o que é. «Swap de 1 ETH para USDC.» «Resgata a tua recompensa.» «Verifica a tua carteira.» Essa descrição é uma alegação feita pela página, e uma página maliciosa pode alegar o que quiser. Os bytes que entrega à carteira são outra coisa, e são a única coisa que a blockchain alguma vez vai ver.

O AirNox Vault ignora a alegação. Descodifica o pedido a partir dos bytes exatos que está prestes a assinar, no telemóvel, com o seu próprio parser, e mostra-te o resultado. O que o computador diz sobre um pedido é uma alegação. O que o telemóvel mostra é a verdade.

À esquerda, uma página diz «Swap 1 ETH to USDC»; à direita, o telemóvel descodifica uma autorização de gasto 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 assinas é banal. Uma transferência. Uma autorização de gasto (allowance) de um token. Um swap através de um router conhecido. Um depósito num contrato. O telemóvel reconhece as operações padrão de cada família de blockchains que suporta e mostra-as em linguagem simples: que operação, que token, quanto, para quem, em que rede e qual é o limite máximo da taxa. Uma transferência parece uma transferência. Uma autorização de gasto parece uma autorização de gasto, com o spender e o montante por extenso.

Imitações, assinaladas

Os pedidos perigosos são os que parecem banais e não são. Um método cujo nome se parece com o de um método padrão, mas cujos parâmetros não batem certo. Uma chamada que delega o controlo noutro contrato de uma forma que não aparece no resumo. Um destino que não é o contrato com que a página dizia estar a falar. Um token cujo símbolo imita o de outro bem conhecido. Um endereço de destino que partilha os primeiros e os últimos caracteres com um dos teus.

Cada um destes casos é detetado e transformado num alerta. O telemóvel não se recusa a assinar, porque a decisão é tua. Garante que o alerta não te pode escapar.

Seis alertas: autorização de gasto ilimitada, spender desconhecido, método imitador, token impostor, destinatário parecido, delegação oculta
Os alertas que o telemóvel levanta antes de te deixar aceitar.

Os alertas

Uma autorização de gasto ilimitada é a jogada clássica de um drainer: aprovas (approve) uma vez e perdes depois tudo o que tens nesse token. O telemóvel mostra «unlimited» (ilimitada) a vermelho e trata-a como um alerta.

Um spender desconhecido é uma autorização de gasto para um endereço que ninguém validou. Quando um swap foi cotado através de um determinado router e a aprovação aponta para outro destino, essa discrepância é um alerta.

Um método imitador, um símbolo de token impostor, um destinatário parecido e uma delegação oculta são, cada um, identificados pelo nome. Para os destinatários, tanto o computador como o telemóvel mostram uma imagem determinística do endereço, por isso uma imitação que engana o olho em hexadecimal não o engana na imagem.

Reconhecer, e só depois Accept

Um alerta não é um pop-up que se fecha por reflexo. O botão Accept (Aceitar) fica desativado até todos os alertas estarem marcados. Podes recusar a qualquer momento. Só podes aceitar depois de reconheceres aquilo que o telemóvel encontrou. Essa única escolha de conceção transforma «cliquei sem ler» em «li e decidi avançar», e é essa a diferença entre uma carteira esvaziada e uma decisão.

O computador analisa primeiro

A mesma análise corre no computador antes de o pedido sair dele, por isso a maior parte dos pedidos maliciosos é assinalada na janela da carteira antes de chegar ao telemóvel. O telemóvel volta a fazer a análise porque o computador é a máquina que assumimos estar comprometida. São duas passagens independentes, em dois dispositivos, e a última palavra é do que guarda as chaves.

Ler continua a ser tarefa tua

Um assinador (signer) que te mostra a verdade não te pode impedir de concordar com ela. O que pode fazer é tornar a verdade impossível de ignorar: descodificada a partir dos bytes, em linguagem simples, com as partes arriscadas a vermelho e uma barreira que tens de passar de propósito. O resto é contigo, e agora tens aquilo de que precisas para decidir.

A série completa

  1. Parte do princípio de que o computador está comprometido
  2. Mass Adoption Security: o assinador é um telemóvel que já tens
  3. Três formas de atravessar o air gap: códigos QR, Bluetooth LE e NFC
  4. Invisível no ar: um assinador que nenhum scanner encontra
  5. O transporte nunca é de confiança
  6. O que o telemóvel te mostra: análise de transações no assinador
  7. O telemóvel guarda o seu próprio registo
  8. O cofre no teu computador: Argon2id e um perfil que resiste a tentativas de adivinhação
  9. dApps sem carteira no navegador
  10. Um servidor MCP com regras: agentes de IA dentro de limites
  11. Uma carteira protegida para tudo
  12. Pequena e nativa: C++, sem runtime de JavaScript, de uma estação de trabalho a um Raspberry Pi

Junta-te à lista de espera

Deixa o teu e-mail e enviamos-te novidades sobre os lançamentos. Mais nada.