Fundamentos do rastreamento · Aula 4 de 5
Rastreamento de tokens e do modelo de contas
9 min de leitura
No Ethereum e em outras redes de modelo de contas, grande parte do valor em uma fraude ou roubo típico nunca aparece como uma simples transferência entre dois endereços. Ele se move dentro de chamadas de contrato, como eventos de token ou por meio de uma assinatura que a vítima forneceu dias antes. Um examinador que rastreie apenas o que aparece na aba "transações" de um explorador não verá os saltos, informará incorretamente quem movimentou os fundos e apresentará números que a outra parte poderá refutar consultando a mesma rede.
Quatro canais por onde o valor se move
A decodificação dessas estruturas é ensinada no módulo 5 de IDFE-BA, especialmente nas aulas Leitura de transferências de tokens e Decodificação de interações com contratos inteligentes, e a consulta a elas, em Consulta a logs e rastreamentos de EVM. O ponto forense é que cada canal é registrado em um local diferente; portanto, o registro de cada salto deve indicar de onde veio a evidência.
| Canal | Onde é registrado | Armadilha forense |
|---|---|---|
| Valor de nível superior: ETH nativo enviado por uma transação | A própria transação | Uma transação com falha não movimenta valor, mas ainda paga gas |
| Transferências internas: ETH enviado por um contrato durante a execução | Somente nos rastreamentos de execução | Ausente de recibos e logs; alguns exploradores mostram essas transferências, outros não |
| Transferências de tokens: ERC-20, ERC-721, ERC-1155 | Eventos Transfer nos logs do recibo | O endereço do contrato do evento identifica o token, não o símbolo dele |
| Mudanças de estado sem eventos padrão: rebasing, taxa sobre transferência, tokens não padronizados | Armazenamento do contrato | As somas dos eventos divergem dos saldos; reconcilie com consultas de estado em um bloco |
Transferências internas são a fonte mais comum de saltos não identificados. Uma troca que paga ETH nativo, um contrato que encaminha fundos ou uma carteira de contrato que executa um lote movimentam ETH por meio de chamadas que não deixam logs. Para obtê-las, é necessário um nó com suporte a rastreamento, normalmente um nó de arquivo, e os nomes dos métodos variam entre clientes (debug_traceTransaction com um rastreador de chamadas em alguns, trace_transaction em outros). Registre qual cliente, versão e método produziram cada rastreamento, pois dois rastreadores podem apresentar a mesma execução de formas diferentes.
Registro de um salto mediado por contrato
O registro de salto da aula Rastreamento segundo um padrão probatório precisa de campos adicionais em redes de contas:
- o índice do log (para um evento) ou a posição do rastreamento (para uma chamada interna), pois uma transação pode conter dezenas de transferências;
- o endereço do contrato do token e suas casas decimais, junto com o valor inteiro bruto;
- o remetente da transação, além dos campos
frometoda transferência, pois muitas vezes são partes diferentes; - o status da transação, já que transações revertidas deixam rastreamentos, mas não transferências persistentes.
A questão do remetente importa em juízo. Em um transferFrom, os tokens saem do endereço da vítima, mas outra pessoa assina e paga pela transação: o gasto autorizado que a vítima aprovou. Um relatório que diga "a vítima enviou 25.000 USDC" quando a chave da vítima não assinou nada naquela transação descreve incorretamente o evento.
Há duas armadilhas de identidade específicas dos tokens. Tokens falsificados copiam o nome e o símbolo de uma stablecoin legítima; somente o endereço do contrato mostra qual é genuína. O envenenamento de endereço consiste em enviar transferências de valor zero ou pequenas quantias a partir de um endereço parecido com um usado pela vítima, na esperança de que ela o copie do histórico. Sempre compare os endereços completos, nunca apenas os primeiros e os últimos caracteres.
Aprovações e drainer
Um drainer é um kit de phishing que persuade a vítima a conceder um direito de gasto e depois o utiliza. A ação da vítima pode ser uma destas:
- uma transação de aprovação na rede (
approve), muitas vezes por um valor ilimitado, assinada e enviada pela vítima; - uma assinatura de permit fora da rede (EIP-2612), que o invasor envia; a especificação permite que qualquer endereço envie um permit válido, e um envio bem-sucedido define a permissão de gasto e emite um evento
Approval; - uma assinatura para um contrato de aprovação compartilhado que a vítima já havia aprovado, e que então autoriza a transferência.
O contrato do drainer chama então transferFrom e divide os valores obtidos. Um estudo de He e colegas da Universidade de Zhejiang e da Universidade de Inteligência Artificial Mohamed bin Zayed (Desmascarando a economia das sombras: uma análise aprofundada do phishing por meio de drainer como serviço no Ethereum, 2025), que abrangeu o período de março de 2023 a abril de 2025, constatou que a divisão mais comum era de 20% para o operador do kit e 80% para o afiliado que conduzia a campanha de phishing. Uma divisão fixa que se repete entre muitas vítimas é um padrão forte, mas continua sendo uma inferência sobre as funções até que outras evidências a confirmem.
As evidências sobre como o roubo aconteceu, portanto, estão em parte fora da rede. Com a devida autorização legal, o dispositivo da vítima pode conter o histórico do navegador com o site de phishing e o registro de solicitações de assinatura da carteira, que, juntos, ajudam a datar a ação da vítima; a preservação desses dados é abordada na aula Aquisição e análise de dispositivos. Assinaturas fora da rede não deixam nada na rede até serem usadas, então o intervalo entre a assinatura e o esvaziamento dos fundos pode ser longo.
Rastreamento trabalhado: um drainer por permit
Uma vítima relata a perda de 25.000 USDC. O examinador decodifica as transações pertinentes a partir de um nó de rastreamento:
tx 0x3b9e…a417 bloco 24,598,331 status 1 remetente 0xD7c4…19
chamada 0xD7c4…19 -> 0x8f2A…c3 (contrato, não verificado)
log 41 token 0xA0b8…eB48 Approval proprietário 0x5e1C…2e gasto autorizado 0x8f2A…c3 valor 25000000000
log 42 token 0xA0b8…eB48 Transfer from 0x5e1C…2e to 0x0dE3…7a valor 5000000000
log 43 token 0xA0b8…eB48 Transfer from 0x5e1C…2e to 0xAf10…d0 valor 20000000000
tx 0x77c0…5b12 bloco 24,598,402 status 1 remetente 0xAf10…d0
log 7 token 0xA0b8…eB48 Transfer from 0xAf10…d0 to 0x9c3B…e1 (pool) valor 20000000000
log 9 token WETH Transfer from 0x9c3B…e1 to 0x4d1F…80 (roteador) valor 7.9e18
rastreamento [0,3] CALL 0x4d1F…80 -> 0xF5a9…31 valor 7.9 ETH
tx 0x1e44…c9a0 bloco 24,598,460 status 1 remetente 0xF5a9…31
valor de nível superior 0xF5a9…31 -> 0x2bD1…f6 7.89 ETH
A primeira transação não foi enviada pela vítima. O remetente chamou um contrato não verificado, que enviou o permit da vítima (log 41, uma permissão de gasto de 25.000 USDC com 6 casas decimais) e transferiu 5.000 e 20.000 USDC do endereço da vítima na mesma transação (logs 42 e 43). Os valores se reconciliam: 5.000 + 20.000 = 25.000, uma divisão de 20/80. Na segunda transação, o destinatário da parcela maior trocou seus 20.000 USDC por meio de um pool; o roteador desembrulhou 7.9 WETH e enviou 7.9 ETH para um endereço novo. Esse último salto aparece somente no rastreamento na posição [0,3]; um examinador que lesse apenas os logs perderia os fundos nesse ponto. Na terceira transação, o endereço novo enviou 7.89 ETH para 0x2bD1…f6, mantendo cerca de 0,01 ETH para pagar o gas. Esse endereço encaminha os depósitos para uma carteira quente de uma exchange.
Todos os fluxos aqui são de grau A: registrados na rede e verificáveis a partir de um nó. As funções (operador e afiliado) são inferências baseadas no padrão de divisão. O rótulo de depósito da exchange é apenas uma heurística até que a exchange o confirme; a partir daí, o rastreamento continua conforme descrito na aula Rastreamento por serviços de custódia.
Stablecoins e visibilidade no nível do emissor
As transferências de stablecoins são eventos de token comuns e podem ser rastreadas de forma determinística, mas as stablecoins têm dois recursos adicionais. Primeiro, os contratos das principais stablecoins lastreadas em moeda fiduciária dão ao emissor uma função de congelamento (lista de bloqueio); assim, às vezes é possível bloquear um saldo de stablecoin que ainda não foi movimentado mais rápido do que com qualquer ordem judicial. As opções são abordadas na aula Opções de congelamento e apreensão. Segundo, o emissor vê a mesma rede que todos os outros e mantém registros de identidade apenas de seus clientes diretos, normalmente aqueles que emitem e resgatam tokens. Um emissor pode confirmar quais endereços congelou e quais clientes emitiram ou resgataram tokens; não pode dizer quem controla o endereço de um detentor comum.
Registre a rede e o endereço do contrato em cada salto de stablecoin. O mesmo ticker existe em muitas redes, com contratos diferentes, e uma versão em ponte é um contrato separado que talvez não possa ser alcançado pela função de congelamento do emissor original. Grandes fluxos de stablecoins na Tron são abordados na aula Camadas 2, sidechains e outras redes.
Fluxos de lavagem com NFTs
NFTs podem disfarçar uma transferência de valor como uma venda. Um agente de lavagem compra um NFT de uma carteira que também controla, pagando com fundos ilícitos, e os valores obtidos parecem renda de negociação. No rastreamento, a perna do pagamento carrega o valor, não o token: siga o ETH ou a stablecoin pagos ao vendedor e trate a movimentação do NFT como contexto. Sinais como um financiador em comum, ciclos fechados e preços muito acima do piso da coleção são abordados na aula de IDFE-BA NFTs e padrões mult token, e a lavagem por meio de NFTs e jogos de azar, na aula Outras técnicas de ocultação.
Foco no exame: os quatro canais por onde o valor se move em redes de contas e onde cada um é registrado; por que transferências internas exigem rastreamentos de um nó com capacidade de rastreamento e por que se registram o cliente, a versão e o método; campos adicionais do registro de salto (índice do log ou posição do rastreamento, contrato do token e casas decimais, remetente em comparação comfrom, status); identificação de tokens pelo endereço do contrato e as armadilhas dos tokens falsificados e do envenenamento de endereço;approve, permit EIP-2612 (qualquer remetente, emissão deApproval) e divisões de drainer como inferência sobre funções; leitura de um rastreamento decodificado de drainer e reconciliação de seus valores; funções de congelamento de stablecoins e limites da visibilidade do emissor; acompanhamento da perna do pagamento em fluxos de lavagem com NFTs.
Questões de prática
Verifique o que você aprendeu. Estas questões não contam para o exame.
Entre para salvar seu progresso e continuar de onde parou. É grátis. Entrar