← Todos os textos

Corrigindo o spam de e-mail com IA: quando os filtros tradicionais não bastam

Nesta página

Uso o Fastmail há anos. Serviço excelente, preço justo, sem anúncios nem rastreamento. Mas o filtro de spam? Inconsistente demais.

O problema não é o spam tradicional. O Fastmail pega a maior parte numa boa. Registros DKIM/SPF que não batem? Bloqueado. Domínios na lista negra? Filtrado. Isso tudo funciona.

O problema é todo o resto que passa. Um e-mail de phishing vindo de um endereço legítimo de gmail.com, fingindo ser a Netflix. Uma campanha de marketing de uma empresa que nunca vi na vida e que, sei lá como, arrumou meu e-mail. Isso passa em todas as checagens técnicas, com autenticação certinha e reputação de remetente limpa, mas continua sendo lixo indesejado entulhando minha caixa de entrada.

O spam moderno

Isto é o que cai na minha caixa de entrada com frequência:

  • Spam do tipo “redesenhamos o seu site”, vindo de agências com cara de legítimas
  • Empresas de SEO prometendo melhorar meu ranking
  • E-mails de marketing que eu com certeza nunca assinei
  • Spam de newsletter com design profissional e relevância zero

Esses e-mails não disparam os filtros tradicionais. Vêm de domínios válidos ou até de endereços gmail.com e outlook.com. Têm registros SPF e DKIM corretos. A gramática é perfeita. Por qualquer critério técnico, são e-mails legítimos, só que totalmente indesejados.

E é aqui que a coisa fica interessante: 89% dos e-mails maliciosos driblam a autenticação SPF, DKIM e DMARC1. Esses protocolos foram feitos para resolver a fraude por e-mail, mas os spammers se adaptaram. Agora usam infraestrutura legítima.

O que realmente precisa de filtro

O problema não é só “reduzir spam”. É mais sutil:

Phishing: e-mails fraudulentos com links que não batem com a marca que dizem representar. Recebo um fluxo constante de e-mails falsos da “Netflix” e do “Spotify” pedindo para atualizar os dados de pagamento. Estão ficando melhores, com formatação correta, linguagem convincente e domínios que parecem quase certos. Os filtros tradicionais pegam alguns, mas os sofisticados escapam. O Fastmail não pega esses de jeito nenhum.

Spam tradicional: falsificação de domínio, em que o e-mail diz vir de um domínio mas na verdade vem de outro. As checagens de SPF/DKIM pegam isso com facilidade. Não é o problema de verdade.

Lixo: é aqui que tudo desmorona. E-mails com cara de legítimos, de domínios reais (endereços de verdade de gmail.com ou outlook.com), que são só propaganda não solicitada. “Notamos que seu site precisa de um redesign.” “Deixe o seu SEO com a gente.” “Oferta exclusiva para donos de empresas.” Passam na autenticação porque saem de infraestrutura real. Estão gramaticalmente corretos. Parecem profissionais. Mas eu nunca pedi, nunca assinei e eles entulham minha caixa de entrada. Esses precisam de análise de conteúdo, não só de inspeção de cabeçalho.

Os números contam a história

A escala do problema é enorme. Cerca de 47% de todo o tráfego de e-mail é spam, em 20242. São 160 bilhões de e-mails de spam enviados por dia no mundo3. Só o Gmail bloqueia 15 bilhões de e-mails de spam por dia com seus filtros movidos a IA, com uma taxa de captura de 99,9%4.

Mas o ponto é este: o Google bloqueou 265 bilhões de e-mails não autenticados em 20245 porque são fáceis de identificar. O spam autenticado? Esse é mais difícil.

Só 33,4% dos 1 milhão de domínios mais acessados têm registro DMARC, e desses, 57,2% usam a política inofensiva p=none, que não faz nada6. Ou seja, 85,7% dos domínios não têm proteção DMARC efetiva. Os spammers sabem disso e exploram sem dó.

Mas o ponto é este: 89% dos e-mails maliciosos driblam a autenticação SPF, DKIM e DMARC1. Esses protocolos foram feitos para resolver a fraude por e-mail, mas os spammers se adaptaram. Agora usam infraestrutura legítima.

Os números são duros. Olhando o que realmente passa, a divisão do spam conta uma história interessante:

A abordagem do Fastmail (e por que não basta)

O Fastmail usa o SpamAssassin combinado com o filtro de conteúdo Vade, que é deles7. É uma configuração sólida: o SpamAssassin existe desde sempre e funciona bem para spam tradicional. O filtro Vade acrescenta reconhecimento de padrões e atualiza as regras conforme as ameaças atuais.

Mas é aqui que a coisa desanda: a função de aprendizado é ao contrário. Se você usa um cliente de e-mail como o Mail do iOS, não dá para simplesmente tocar em “Spam” e treinar o filtro. Em vez disso, você precisa8:

  1. Criar uma pasta especial
  2. Ir em Settings → Folders e ativar “Scan this folder daily and learn any new messages”
  3. Configurar para aprender “as spam”
  4. Mover o spam para lá manualmente

Não quero usar o cliente web do Fastmail. Quero usar a hospedagem deles com meu próprio cliente de e-mail. Com esse atrito, eu simplesmente… não treino. E aí o filtro nunca melhora.

Por que a IA faz sentido aqui

Os filtros de spam tradicionais funcionam com regras e padrões. Mas essa zona cinzenta exige entender contexto e intenção, exatamente no que os grandes modelos de linguagem são bons.

A IA lida bem com ambiguidade. Ela lê um e-mail e entende se é uma consulta comercial genuína ou mais um pitch genérico de “a gente redesenha o seu site”. Entende táticas de urgência, percebe contexto desencontrado, pega as sutilezas que os sistemas baseados em regras perdem.

Construindo

Eu queria testar a ideia antes de me comprometer com infraestrutura. Então exportei algumas centenas de arquivos .eml da minha caixa de entrada do Fastmail e montei um ambiente de testes com o Ollama rodando o Llama 3.1 8B localmente.

O processo teve duas partes:

Rotulagem manual: passei por todos os e-mails exportados e os categorizei na mão (pessoal, transacional, newsletter, marketing, spam, phishing etc.). Isso me deu a verdade de referência para testar.

Avaliação do modelo: passei os mesmos e-mails pelo LLM com um prompt bem cuidado, pedindo que categorizasse e pontuasse cada um. Depois comparei as classificações do modelo com os meus rótulos para ver onde acertou e onde errou.

Isso me deixou iterar no prompt sem torrar créditos de API nem lidar com a complexidade de um deploy. Quando cheguei a mais de 85% de acurácia e menos de 5% de falsos positivos, soube que valia a pena colocar no ar.

A versão de produção é um Cloudflare Worker que:

  1. Intercepta o e-mail recebido pelo Cloudflare Email Routing
  2. Extrai remetente, assunto e corpo
  3. Analisa o conteúdo com @cf/meta/llama-3.1-8b-instruct via Workers AI
  4. Categoriza o e-mail e atribui uma nota de spam (0-10)
  5. Adiciona os cabeçalhos: X-Wh-Spamscore, X-Wh-Category e X-Wh-Reasoning
  6. Encaminha para o Fastmail com os cabeçalhos intactos

Uso o Llama 3.1 8B porque é rápido (inferência em menos de um segundo) e bom o bastante para distinguir a nuance entre comunicação legítima e lixo de marketing.

Categorias e pontuação

A IA separa os e-mails em dez tipos:

  • personal: correspondência pessoal
  • transactional: confirmações de pedido, redefinições de senha, recibos
  • newsletter: newsletters legítimas que eu assinei
  • marketing: e-mails promocionais, pitches de venda
  • social: notificações de redes sociais
  • automated: notificações de sistema, alertas de monitoramento
  • phishing: suspeita de roubo de credenciais
  • scam: esquemas de enriquecimento rápido, pedidos urgentes de pagamento
  • spam: e-mail em massa genérico e indesejado
  • suspicious: intenção incerta, mas possivelmente maliciosa

As notas de spam vão de 0 a 10:

  • 0-2: e-mail limpo e legítimo
  • 3-4: provavelmente legítimo, mas comercial
  • 5-6: características suspeitas
  • 7-8: provável phishing ou golpe
  • 9-10: ameaça certa

Primeiros resultados

Ainda não coloquei isso em produção, mas rodei contra mensagens recentes da minha caixa de entrada, exportando os e-mails do Mac Mail.

Estes são os resultados preliminares:

CategoriaQuantidadeNota médiaFalsos positivos
Pessoal3260,881
Transacional7080,2810
Newsletter4621,552
Marketing3532,919
Social2720,629
Automático1631,839
Phishing2729,321
Golpe828,692
Spam547,630
Suspeito275,762
Total2.719-45

A implementação

O worker cuida da interceptação do e-mail, da análise por IA e do encaminhamento. Principais características:

  • Extrai o corpo do e-mail com inteligência (trata multipart, base64, quoted-printable)
  • Trunca em 2.500 caracteres por desempenho (preservando links e frases inteiros)
  • Prompt detalhado para guiar a análise da IA
  • Tratamento de erros robusto: se a IA falha, encaminha com valores padrão seguros
  • Valida as saídas para garantir que as notas fiquem entre 0 e 10 e que as categorias sejam válidas

O prompt explica todas as categorias, as regras de pontuação e os sinais de alerta. Ele insiste em poucos falsos positivos para e-mails pessoais e transacionais, porque a última coisa que você quer é um e-mail legítimo marcado como spam.

Não incluí uma etapa para detectar ataques de prompt injection, mas imagino que uma implementação comercial precisaria dessa camada de segurança.

Por que isso importa

Google e Yahoo agora exigem DMARC de quem envia em massa (mais de 5.000 e-mails por dia)9. Eles impõem um limite de 0,3% de reclamações de spam10. Autenticação virou o mínimo.

Mas só autenticação não basta. 89% dos e-mails maliciosos passam nas checagens de autenticação1. Os spammers usam infraestrutura legítima. Conhecem as regras e jogam dentro delas.

O que falta é inspecionar o conteúdo. Entender o que um e-mail está de fato tentando fazer, e não só de onde ele veio. É aí que entra a IA.

Subi o repositório no Github: willhackett/email-filtering, com instruções para você fazer o deploy e testar na sua própria caixa de entrada.

Footnotes

  1. Keepnet, 2025 Phishing Statistics, August 2025 ↩ ↩2 ↩3

  2. Mailmodo, 23 Email Spam Statistics to Know in 2025, March 2025 ↩

  3. EmailToolTester, Spam Statistics 2025, October 2024 ↩

  4. SQ Magazine, Email Spam Statistics 2025, September 2025 ↩

  5. Keepnet, 2025 Phishing Statistics, August 2025 ↩

  6. DMARC Checker, SPF, DKIM, and DMARC in 2024: Analyzing the Top 1M Domains, 2024 ↩

  7. Fastmail, Spam filtering ↩

  8. Fastmail, Improving spam protection ↩

  9. PowerDMARC, Google and Yahoo Email Authentication Requirements 2025, August 2025 ↩

  10. Sinch Mailgun, State of email deliverability 2025, 2025 ↩