Segurança Web3Alto

Por que uma aprovação ilimitada de token é perigosa

Uma aprovação ilimitada permite ao contrato spender transferir o token até um teto muito alto sem pedir um novo allowance a cada uso.

Fluxo de decisão sobre por que uma aprovação ilimitada de token é perigosa

Uma aprovação ilimitada permite que um contrato spender transfira o token aprovado até um teto extremamente alto sem pedir novo allowance a cada uso. Se esse spender for malicioso ou comprometido, todo saldo atual e futuro daquele token na carteira pode ficar exposto até a revogação.

Reduza a exposição passo a passo#

  1. Confira o endereço do spender, e não apenas o nome do aplicativo. Compare contrato, rede e documentação em uma fonte oficial independente.
  1. Aprove o valor exato quando a interface permitir. Limite o dano máximo ao necessário para a ação planejada.
  1. Use uma carteira de transações com saldos limitados. Mantenha a reserva de longo prazo fora do endereço que interage com dapps.
  1. Revise allowances depois de uma atividade pontual. Remova permissões antigas e investigue spenders desconhecidos.
  1. Revogue aprovações obsoletas em todas as redes ativas. Confirme cada revogação on-chain e mantenha gas suficiente.

A ideia principal#

A conveniência permanece depois de uma única troca. O usuário pode esquecer o allowance enquanto o aplicativo é atualizado, perde uma chave administrativa ou sofre comprometimento do front-end.

Separe o que você pode conferir antes de agir do que só poderá monitorar depois. Coloque limites firmes na segunda categoria.

Quando limitar em vez de aceitar o máximo#

Compare conveniência com perda máxima. Aprovações limitadas e repetidas custam mais gas, mas reduzem a exposição e criam outro momento para confirmar o spender.

Falhas que exigem atenção#

  • Acreditar que saldo vazio apaga a aprovação. Se o token voltar, o spender poderá continuar autorizado.
  • Desconectar o site em vez de revogar on-chain. A sessão local termina, mas o allowance permanece no contrato.
  • Aprovar o máximo para um roteador não verificado. Um nome conhecido não prova a identidade do endereço.
  • Assinar revogações em lote por uma ferramenta falsa. Cada solicitação precisa ser lida como qualquer outra transação.

Evidências que você deve manter#

Não avalie a permissão apenas pela mensagem de sucesso. Use registros que continuem verificáveis depois de fechar a ferramenta.

Ponto de controleEvidênciaCondição para parar
Conferir o endereço do spenderURL e contrato exatos comparados à documentaçãoSaldo zero é tratado como revogação
Aprovar o valor exatoHash e registro correspondente no exploradorDesconectar o site substitui revogar on-chain
Usar carteira com saldo limitadoEndereço e exposição documentadosO allowance máximo vai para roteador não verificado

Guarde hashes de transação, protocolos oficiais ou capturas datadas quando ajudarem a documentar as permissões, mas exclua frases-semente, chaves privadas e códigos de autenticação.

Perguntas frequentes#

Uma aprovação ilimitada pode gastar outros tokens?

Normalmente, ela vale para o contrato de token e o spender especificados, embora outras permissões separadas possam existir.

A aprovação expira automaticamente?

Allowances ERC-20 padrão normalmente não expiram, salvo quando o token ou sistema de permit implementa vencimento.

Permit2 é sempre ilimitado?

Não. Sistemas de permit podem aceitar valores e prazos específicos, mas o usuário precisa ler a assinatura concreta.

Guias relacionados#

Fontes#

Aviso de risco: Ações com criptomoedas podem ser irreversíveis. Nunca compartilhe frase-semente, chave privada, senha ou código de autenticação e verifique cada domínio e solicitação da carteira de forma independente.

Padrão editorial

Este guia é educativo e baseado em fontes. Controles de segurança, regras das corretoras e exigências legais podem mudar; confirme etapas importantes em fontes oficiais.