A carregar preços…

O que é um wallet drainer? Approval phishing explicado

Os wallet drainers são a ferramenta dominante de roubo on-chain 2024-2026 — smart contracts maliciosos que drenam uma wallet no momento em que se assina uma única aprovação de aspecto inocente. Eis como funcionam, os incidentes milionários e como parar um antes de assinar.

O que é um wallet drainer? Approval phishing explicado

Por que isto importa

Se lê sobre uma wallet drenada "numa única assinatura" em 2024-2026, o mecanismo técnico é quase sempre um wallet drainer. O padrão domina porque é excepcionalmente custo-eficaz para atacantes: escrever o contrato uma vez, colá-lo atrás de uma dúzia de sites phishing e anúncios, esperar. Kits drainer-as-a-service — Pink Drainer, Inferno Drainer, Angel Drainer, Pussy Drainer, outros — fornecem o contrato e a infraestrutura a qualquer um com um kit phishing, com o operador a levar 20-30% dos fundos roubados. Chainalysis e SlowMist reportam consistentemente que os drainers representaram centenas de milhões em perdas retail cada ano desde 2023.

A boa notícia: cada ataque drainer requer uma ação humana — assinar uma transação que o utilizador não queria fazer. Quando entende a forma do pedido de assinatura, pode rejeitá-lo.

Se ainda não leu burlas cripto comuns, essa página cobre o panorama mais amplo; esta é o deep dive técnico sobre o padrão único mais ativo.

Como funciona realmente um wallet drainer

A cadeia de ataque canónica:

  1. Isco. Vítima visita um site phishing — mint NFT falso, claim de airdrop falso, DEX falsa, página "migração" falsa para um protocolo real, às vezes via anúncio Google ou conta Twitter verificada sequestrada.
  2. Conexão de wallet. O site pede ao utilizador para conectar a wallet. Conectar só não perde fundos; só partilha o endereço. É a rampa de social engineering.
  3. Pedido de assinatura maliciosa. Em segundos, o site dispara um popup. Pede para assinar uma de várias transações enganadoras: aprovação ERC-20 ilimitada, assinatura Permit/Permit2, setApprovalForAll para NFTs, ou transferência direta disfarçada de "claim".
  4. Drainer puxa fundos. Uma vez assinado, o contrato drainer chama imediatamente o transferFrom aprovado (ou executa o permit assinado) e move os tokens para o atacante. Para aprovações ilimitadas, o drainer pode ficar adormecido semanas e drenar quando o balance crescer.
  5. Fundos lavados. Em minutos, fundos roubados são divididos, trocados para ETH, encaminhados por Tornado Cash ou mixer similar, bridge para outra chain ou enviados a uma centralizada.

Toda a sequência — da assinatura do utilizador aos fundos na wallet do atacante — é frequentemente abaixo de 30 segundos. Não há botão "undo" numa blockchain.

Os tipos específicos de assinatura que os drainers abusam

Aprovação ERC-20 ilimitada

A mais comum. Protocolos DeFi padrão pedem aprovações de token (ex.: Uniswap precisa de permissão para gastar o seu USDC). Drainers também pedem aprovação — mas para uma quantia arbitrária (frequentemente type(uint256).max — "ilimitada") e concedida ao contrato drainer, não a uma DEX conhecida. Concedida, o drainer pode chamar transferFrom e mover cada token desse tipo da wallet. O utilizador vê algo como "Aprovar USDC para [Spender]" e assina — o spender é o drainer.

Assinaturas Permit / Permit2

EIP-2612 "permit" permite a um utilizador conceder uma aprovação de token sem pagar gás — apenas uma assinatura off-chain que alguém (o spender) pode submeter on-chain depois. O Permit2 da Uniswap generalizou isto a múltiplos tokens e uso multi-protocolo. Drainers adoram assinaturas permit porque parecem pedidos "sign-in" benignos em muitas wallets e muitos utilizadores não percebem que um permit assinado pode ser executado semanas depois.

setApprovalForAll para NFTs

Coleções NFT ERC-721 e ERC-1155 têm uma função setApprovalForAll que concede permissão para mover cada NFT numa coleção. Drainers a alvejar wallets NFT valiosas pedem esta assinatura disfarçada de ação "claim", "verify" ou "reveal". Assinada, cada NFT na coleção alvo pode ser transferido.

Transferência direta disfarçada de claim

Menos subtil mas ainda eficaz: um botão falso "claim" ou "migrate" chama uma função cujo nome é inócuo mas cujo payload é na verdade uma transferência de todo o ETH da wallet (ou um token específico) para o drainer. O popup mostrará a transação a enviar tokens; utilizadores que assinam sem ler perdem.

Mensagens assinadas e assinaturas EIP-712

Alguns drainers usam assinaturas de dados estruturados (EIP-712) que parecem mensagens de login ou acordo off-chain. A mensagem assinada é na verdade uma meta-transação que o drainer transmite on-chain para extrair fundos. Mais difícil de detetar porque as wallets frequentemente mostram a assinatura como objeto legível em vez de alerta claro "enviar fundos".

Incidentes drainer notáveis 2024-2026

Só o Inferno Drainer foi reportado a ter roubado mais de 80 milhões de dólares de dezenas de milhares de vítimas antes de afirmar reformar-se no final de 2023 — um serviço quase imediatamente substituído por clones. Pink Drainer continuou em 2024 e roubou quantias reportadas na faixa 70M$+ de muitos incidentes, incluindo um compromisso de alto perfil de contas Twitter cripto conhecidas que retransmitiram links maliciosos. Angel Drainer foi ligado a múltiplas campanhas wallets-as-a-service em 2024-2025, incluindo ataques DM mediados por bots em servidores Discord.

Incidentes individuais incluíram roubos milionários de wallets únicas que assinaram uma aprovação — um caso 2024 notável viu 69 milhões em WBTC movidos com um ataque address-spoofing combinado com drainer e address-poisoning. A categoria é grande o suficiente para firmas de chain analytics rastrearem movimentos agregados de wallets drainer como indicador líder de que sites e contas Twitter são atualmente maliciosos.

Bandeiras vermelhas / checklist antes de assinar

Cada hit drainer depende em última instância de um utilizador assinar uma transação específica. Tratar qualquer destas como bandeira vermelha por defeito evita a grande maioria dos incidentes:

  • O site é um a que chegou via busca, anúncio, DM ou tweet fixado — não um favorito. Drainers vivem em anúncios patrocinados e contas "verificadas" sequestradas. URLs marcadas quase nunca drenam.
  • A assinatura é para um endereço spender desconhecido. Aprovações a protocolos conhecidos (Uniswap, Aave, Curve) são normais. Aprovações a endereços sem verificação de contrato, sem label Etherscan, sem historial não são.
  • A assinatura é para uma quantia ilimitada (uint256.max). Wallets modernas (MetaMask, Phantom, Rabby) marcam isso. Limite aprovações à quantia específica que precisa, não ao default "ilimitado".
  • O popup é uma "assinatura" mais do que uma transação. Assinaturas Permit e EIP-712 não custam gás e sentem-se como login click-through — mas são autorizações sem gás que podem ser retransmitidas on-chain para mover fundos. Muitas wallets agora mostram avisos explícitos para padrões permit maliciosos conhecidos; leia-os.
  • O site pressiona um botão "claim" ou "verify" ou "migração". Claims reais geralmente vêm do URL oficial do projeto marcado de antemão. Sites novos com botões claim são 95% da superfície drainer.
  • Timing urgente. "Só 24 horas", "vagas limitadas", "migração de emergência antes da depreciação" — drainers correm a urgência.
  • Os detalhes da transação do popup parecem errados. Se diz "enviar 1,4 ETH" quando esperava receber um NFT grátis, rejeite. Wallets e ferramentas modernas como Wallet Guard, Pocket Universe e Blockaid anotam transações com avisos de risco — preste atenção.

O que fazer se assinou

Se assinou uma transação drainer, cada segundo conta. Manual padrão:

  1. Mova cada outro token imediatamente. Se tem NFTs ou outros ativos ainda na wallet, envie-os para uma nova wallet já. O drainer geralmente está scripted para levar primeiro os tokens mais valiosos, depois varrer pó.
  2. Revogue todas as aprovações na wallet comprometida. Use revoke.cash ou o gestor built-in da wallet para revogar cada aprovação ativa (e setApprovalForAll de NFT). É a única forma de parar um drainer adormecido que aprovou ilimitado e espera novos depósitos.
  3. Queime a wallet para qualquer uso futuro significativo. Se assinou aprovação ilimitada e só revoga algumas, o drainer ainda pode drenar tokens novos. Movimento seguro é abandonar a wallet inteira para as classes de token afetadas — idealmente para tudo.
  4. Documente. Capture o site, o popup, o hash da transação. Vai precisar para qualquer relatório.
  5. Reporte o endereço drainer a chain analytics. Chainalysis, TRM Labs, SlowMist e Etherscan aceitam reports. O endereço fica sinalizado para exchanges centralizadas — ocasionalmente wallets drainer congelam no cashout, devolvendo uma fração pequena.
  6. Não aceite ofertas de "recuperação". Horas depois do hit drainer receberá DMs a oferecer recuperar os fundos por uma taxa. São, elas próprias, burlas. Nenhum serviço pago legítimo pode reverter uma transferência blockchain.

Como ficar protegido

  • Use hardware wallet para saldos significativos. Hardware wallets obrigam a ler a transação (ou assinatura) real num ecrã pequeno onde o atacante não chega. Ler o endereço spender e a quantia no dispositivo é a única defesa drainer mais eficaz.
  • Opere com divisão quente/fria. Mantenha uma pequena wallet de interação separada para sites novos e exploração DeFi. Mantenha saldos principais em hardware wallet que só assina transações de protocolos conhecidos.
  • Marque URLs oficiais e use-as. Nunca chegue a uma wallet, exchange, mint ou site claim via busca, anúncio, DM ou link social. Drainers ranqueiam acima dos domínios reais em anúncios Google e em posts Twitter "verificados" comprometidos.
  • Audite e revogue aprovações a cada poucos meses. Use revoke.cash para EVM, ferramentas semelhantes para Solana. Uma aprovação antiga a uma dApp esquecida é uma porta dos fundos que existe até a fechar. Faça hábito.
  • Defina aprovações limitadas, não ilimitadas. MetaMask, Phantom e Rabby deixam escolher uma quantia de aprovação personalizada. Escolha "a quantia que preciso agora", não "ilimitada" — mesmo em protocolos legítimos.
  • Instale extensões de análise de transações. Wallet Guard, Pocket Universe, Blockaid, Fire — inspecionam transações client-side e avisam sobre padrões drainer conhecidos antes de assinar. Não são perfeitos mas apanham a grande maioria dos ataques enlatados.
  • Trate cada pedido de assinatura como se custasse o saldo todo. A maior parte não custa, mas os poucos que custam comportam-se como o resto até olhar de perto. Default-deny e releia até algo dizer exatamente o que espera.

Para a taxonomia mais ampla de burlas e hábitos operacionais, veja burlas cripto comuns; para a arquitetura de armazenamento que protege fundos mesmo se uma hot wallet for drenada, veja como guardar cripto em segurança e melhores wallets cripto 2026.

Acompanhe as campanhas drainer, acompanhe as notícias

Kits drainer ciclam campanhas semanalmente — um novo URL malicioso vai live numa conta Twitter sequestrada, o site oficial duma coleção NFT é comprometido, um anúncio Google empurra um installer Phantom falso. Estes tipicamente batem na imprensa de segurança horas antes de baterem na sua timeline. O Zippfeed acompanha manchetes de segurança e grandes tokens com pontuação de sentimento e importância, para que veja campanhas drainer ativas e infraestrutura comprometida cedo — útil quer corra uma hot wallet para DeFi, avalie um novo mint ou só queira saber que ameaças da semana merecem precaução extra.

Perguntas frequentes

O que é um wallet drainer?
Um wallet drainer é um smart contract malicioso — geralmente emparelhado com um site de phishing — que esvazia uma wallet no momento em que um utilizador assina uma única transação enganadora. A transação é tipicamente uma aprovação de token, assinatura Permit ou setApprovalForAll de NFT que dá permissão ao drainer para mover fundos. Foram o padrão dominante de roubo on-chain 2024-2026, a roubar centenas de milhões por ano.
Como funciona o approval phishing?
Um utilizador visita um site de phishing que pede para conectar a wallet e depois assinar uma transação ou assinatura. A transação parece click-through mas é na verdade uma aprovação ERC-20 ilimitada, um Permit, ou um setApprovalForAll. Assinada, o contrato drainer usa essa permissão para transferir tokens para fora da wallet — às vezes instantaneamente, às vezes semanas depois quando o saldo cresce.
Como sei se uma transação é uma tentativa de wallet drainer?
Bandeiras vermelhas: endereço spender desconhecido ou não verificado, quantia de aprovação "ilimitada" (uint256.max), popup é uma assinatura Permit sem gás em vez de transação normal, o site usa linguagem urgente ("reclame antes de amanhã"), ou chegou ao site via anúncio / DM / tweet fixado em vez de um favorito conhecido. Extensões como Wallet Guard, Pocket Universe e Blockaid anotam padrões drainer conhecidos.
O que faço depois de assinar uma transação wallet drainer?
Mova qualquer token ou NFT restante para uma nova wallet imediatamente, depois use revoke.cash (ou o gestor de aprovações da wallet) para revogar cada aprovação ativa e setApprovalForAll na wallet comprometida. Se um Permit foi assinado nem sempre pode ser revogado, por isso o movimento mais seguro é abandonar a wallet inteira para as classes de token afetadas. Documente e reporte o endereço, mas não pague por nenhum "serviço de recuperação" — são, eles próprios, burlas.