A maioria das pessoas que perde tokens para um contrato malicioso não foi hackeada em nenhum sentido técnico. Elas aprovaram algo, e a aprovação continuou funcionando muito depois de terem esquecido dela. Este guia explica o que é uma aprovação, como olhar as suas e — igualmente importante — do que essa verificação não protege você.
O que é, de fato, uma aprovação
Os tokens fungíveis padrão não permitem que um contrato retire tokens de você. Em vez disso, você concede um limite autorizado: uma permissão permanente para que um endereço gastador designado movimente até determinada quantia de determinado token a partir do seu endereço, quando quiser.
Três propriedades dessa permissão importam, e as três surpreendem as pessoas:
- Ela persiste. O limite autorizado não é consumido pela transação para a qual você o concedeu. Ele permanece até ser esgotado ou alterado.
- Costuma ser ilimitado. As interfaces normalmente solicitam o maior valor possível, porque isso evita novas solicitações e economiza gás. Ou seja, a permissão cobre todo o seu saldo daquele token — inclusive os tokens que você adquirir depois.
- Ela é específica de um endereço, não de um aplicativo. Você está confiando em um endereço de contrato. Se um front-end for comprometido e pedir que você aprove um endereço diferente, nada no site parecerá errado.
O incidente da BadgerDAO é a ilustração mais clara do nosso rastreador. Os contratos do protocolo nunca foram explorados. Os atacantes injetaram script no site pedindo aos usuários aprovações para um endereço que controlavam, e as aprovações fizeram o resto.
Como olhar suas aprovações
As aprovações são dados públicos on-chain. Você não precisa de um serviço especial para vê-las, e nós deliberadamente não indicamos nenhum.
Todo explorador de blocos relevante oferece uma visão de aprovações, ou de aprovações de token, para um endereço. Cole o seu próprio endereço público — aquele que começa com 0x e que você compartilha para receber fundos — e você verá a lista de endereços gastadores que a sua conta autorizou, por token, com o valor do limite autorizado.
Essa é uma consulta somente leitura. Não exige conexão de carteira, nem assinatura, nem chave. Se algo que se propõe a mostrar suas aprovações quiser que você conecte uma carteira antes de exibi-las, feche.
Lendo a lista
Você está procurando três coisas:
- Gastadores que você não reconhece. Um endereço que você não consegue associar a um protocolo que usou deliberadamente.
- Protocolos que você não usa mais. Um limite autorizado concedido a um serviço que você parou de usar há dois anos continua ativo hoje.
- Limites ilimitados sobre saldos grandes. A exposição é o saldo, não o valor que você transacionou originalmente.
O que a Conisec não vai mandar você fazer
Não vamos dizer para você revogar nada, e não colocamos links para ferramentas de revogação. Essa é uma posição editorial deliberada, não cautela pela cautela.
Depois de qualquer incidente público, sites fraudulentos de “revogação”, “recuperação” e “verificação” aparecem rapidamente, são anunciados de forma agressiva e muitas vezes se posicionam bem justamente nas buscas que uma pessoa preocupada faz. Uma publicação que rotineiramente envia leitores a interfaces de gerenciamento de aprovações treina exatamente o hábito de que esses atacantes dependem. O que fazer com uma aprovação que você não gostou é uma decisão sua, tomada por meio de uma interface em que você já confia e alcançada por um caminho que você já conhece.
Do que isso não protege você
Revisar aprovações vale a pena, e não é uma estratégia de segurança por si só. Não resolve nada quanto a:
- Uma frase de recuperação comprometida. Se alguém tem a sua frase de recuperação, os limites autorizados são irrelevantes — essa pessoa tem a conta.
- Assinar uma transação maliciosa. As aprovações regem transferências de tokens por terceiros; elas não impedem que você mesmo autorize uma transferência.
- Assinaturas off-chain. Alguns esquemas de permissão e ordens de marketplace se apoiam em mensagens assinadas em vez de limites autorizados on-chain, e essas não aparecem em uma visão de aprovações padrão.
- Ativos em uma corretora. Tokens mantidos em uma plataforma custodial não estão na sua carteira e não têm aprovações associadas.
O hábito que vale a pena criar
Olhe suas aprovações de vez em quando, a partir do seu próprio favorito para um explorador de blocos que você já usa, quando nada deu errado. A pior hora para aprender essa interface são os vinte minutos depois de você ler que um protocolo que você usa foi explorado — que é exatamente o momento em que uma versão falsa dela estará esperando por você.
Não é aconselhamento. A Conisec publica apenas para fins informativos. Nada neste artigo é orientação financeira, jurídica, tributária ou de segurança. Confira nas fontes primárias linkadas acima antes de agir com base em qualquer coisa.