← Todos los artículos

Arreglar el spam con IA: cuando los filtros tradicionales no bastan

En esta página

Llevo años usando Fastmail. Un servicio buenísimo, con precios sensatos, sin anuncios ni rastreo. ¿Pero el filtro de spam? Muy irregular.

El problema no es el spam tradicional. Fastmail se encarga de casi todo eso sin problema. ¿Registros DKIM o SPF que no cuadran? Bloqueado. ¿Dominios en listas negras? Filtrado. Eso funciona.

El problema es todo lo demás que se cuela. Un correo de phishing desde una dirección legítima de gmail.com que se hace pasar por Netflix. Una campaña de marketing de una empresa de la que no he oído hablar en mi vida y que, no sé cómo, consiguió mi correo. Pasan todas las comprobaciones técnicas, con autenticación correcta y reputación de remitente limpia, pero siguen siendo basura no deseada que me llena la bandeja de entrada.

El spam moderno

Esto es lo que me llega con regularidad:

  • Spam de “hemos rediseñado tu web” de lo que parecen agencias legítimas
  • Empresas de SEO que prometen subirme en los rankings
  • Correos de marketing a los que, desde luego, no me suscribí
  • Newsletters basura con un diseño profesional pero totalmente irrelevantes

No activan los filtros de spam tradicionales. Vienen de dominios válidos o incluso de direcciones de gmail.com y outlook.com. Tienen registros SPF y DKIM correctos. La gramática es perfecta. Según cualquier medida técnica, son correos legítimos, solo que nadie los quiere.

Y aquí viene lo interesante: el 89 % de los correos maliciosos se salta la autenticación SPF, DKIM y DMARC1. Esos protocolos de autenticación nacieron para frenar el fraude por correo, pero los spammers se han adaptado. Ahora usan infraestructura legítima.

Qué hay que filtrar de verdad

El problema no es solo “reducir el spam”. Tiene más matices:

Phishing: correos fraudulentos con enlaces que no coinciden con la marca que dicen ser. Recibo un goteo constante de falsos correos de “Netflix” y “Spotify” que piden actualizar los datos de pago. Cada vez están mejor hechos: buen formato, un lenguaje convincente, dominios que casi parecen los reales. Los filtros tradicionales cazan algunos, pero los sofisticados se escapan. Fastmail no caza ninguno de estos.

Spam tradicional: suplantación de dominio, cuando el correo dice venir de un dominio pero en realidad viene de otro. Las comprobaciones SPF y DKIM los detectan sin esfuerzo. No es el problema de verdad.

Basura: aquí es donde todo se desmorona. Correos de aspecto legítimo desde dominios reales, direcciones auténticas de gmail.com u outlook.com, que son simplemente marketing basura que nadie ha pedido. “Hemos visto que tu web necesita un rediseño.” “Déjanos encargarnos de tu SEO.” “Oferta exclusiva para empresarios.” Pasan la autenticación porque se envían desde infraestructura real. Están bien escritos. Parecen profesionales. Pero yo no los pedí, no me suscribí y me llenan la bandeja de entrada. Para estos hace falta analizar el contenido, no solo inspeccionar las cabeceras.

Los números lo cuentan

La escala del problema es enorme. Alrededor del 47 % de todo el tráfico de correo es spam en 20242. Son 160 mil millones de correos de spam enviados cada día en todo el mundo3. Solo Gmail bloquea 15 mil millones de correos de spam al día con sus filtros de IA, con una tasa de detección del 99,9 %4.

Pero ojo a esto: Google bloqueó 265 mil millones de correos sin autenticar en 20245 porque son fáciles de detectar. ¿El spam autenticado? Ese es más difícil.

Solo el 33,4 % de los 1 millón de dominios principales tiene DMARC, y de esos, el 57,2 % usa la política p=none, que no sirve para nada y no hace nada6. Eso significa que el 85,7 % de los dominios no tiene una protección DMARC efectiva. Los spammers lo saben y lo explotan sin piedad.

Pero ojo a esto: el 89 % de los correos maliciosos se salta la autenticación SPF, DKIM y DMARC1. Esos protocolos de autenticación nacieron para frenar el fraude por correo, pero los spammers se han adaptado. Ahora usan infraestructura legítima.

Los números son crudos. Si miramos lo que de verdad se cuela, el desglose del spam cuenta una historia curiosa:

El enfoque de Fastmail (y por qué no basta)

Fastmail usa SpamAssassin junto con su propio filtro de contenido Vade7. Es una combinación sólida. SpamAssassin lleva toda la vida y funciona bien con el spam tradicional. El filtro Vade añade detección de patrones y va actualizando las reglas según las amenazas del momento.

Pero aquí es donde falla: la función de aprendizaje está al revés. Si usas un cliente de correo como Mail de iOS, no puedes pulsar “Spam” sin más para entrenar el filtro. En su lugar, tienes que8:

  1. Crear una carpeta especial
  2. Ir a Ajustes → Carpetas y activar “Scan this folder daily and learn any new messages”
  3. Configurarla para aprender “as spam”
  4. Mover ahí el spam a mano

No quiero usar el cliente web de Fastmail. Quiero usar su alojamiento con mi propio cliente de correo. Con tanta fricción, directamente no lo entreno. Y eso significa que el filtro nunca mejora.

Por qué la IA tiene sentido aquí

Los filtros de spam tradicionales trabajan con reglas y patrones. Pero esta zona gris exige entender el contexto y la intención, justo lo que mejor hacen los grandes modelos de lenguaje.

La IA maneja bien la ambigüedad. Puede leer un correo y entender si es una consulta de negocio genuina o un pitch genérico más de “podemos rediseñar tu web”. Entiende las tácticas de urgencia, detecta contextos que no cuadran y pilla los detalles que a los sistemas basados en reglas se les escapan.

Construirlo

Quería probar la idea antes de comprometerme con infraestructura. Así que exporté unos cientos de archivos .eml de mi bandeja de entrada de Fastmail y monté un banco de pruebas con Ollama ejecutando Llama 3.1 8B en local.

El proceso tuvo dos partes:

Etiquetado manual: repasé mis correos exportados y los clasifiqué a mano: personal, transaccional, newsletter, marketing, spam, phishing, etc. Eso me dio una verdad de referencia con la que comparar.

Evaluación del modelo: pasé los mismos correos por el LLM con un prompt muy trabajado que le pedía categorizar y puntuar cada uno. Luego comparé las clasificaciones del modelo con mis etiquetas manuales para ver dónde acertaba y dónde fallaba.

Esto me permitió iterar el prompt sin gastar créditos de API ni lidiar con la complejidad del despliegue. Cuando logré una precisión por encima del 85 % y menos de un 5 % de falsos positivos, supe que merecía la pena desplegarlo.

La versión de producción es un Cloudflare Worker que:

  1. Intercepta el correo entrante con Cloudflare Email Routing
  2. Extrae remitente, asunto y cuerpo
  3. Analiza el contenido con @cf/meta/llama-3.1-8b-instruct a través de Workers AI
  4. Categoriza el correo y le asigna una puntuación de spam (0-10)
  5. Añade las cabeceras X-Wh-Spamscore, X-Wh-Category y X-Wh-Reasoning
  6. Lo reenvía a Fastmail con las cabeceras intactas

Uso Llama 3.1 8B porque es rápido (inferencia en menos de un segundo) y lo bastante bueno para distinguir la comunicación legítima del marketing basura.

Categorías y puntuación

La IA clasifica los correos en diez tipos:

  • personal: correspondencia personal
  • transactional: confirmaciones de pedido, restablecimientos de contraseña, recibos
  • newsletter: newsletters legítimas a las que me he suscrito
  • marketing: correos promocionales, pitches de ventas
  • social: notificaciones de redes sociales
  • automated: notificaciones del sistema, alertas de monitorización
  • phishing: sospecha de robo de credenciales
  • scam: esquemas para hacerse rico rápido, peticiones de pago urgentes
  • spam: correo masivo genérico no deseado
  • suspicious: intención poco clara pero potencialmente maliciosa

Las puntuaciones de spam van de 0 a 10:

  • 0-2: correo limpio y legítimo
  • 3-4: probablemente legítimo, pero comercial
  • 5-6: características sospechosas
  • 7-8: probable phishing o estafa
  • 9-10: amenaza segura

Primeros resultados

Todavía no lo he desplegado en producción, pero lo he pasado por mensajes recientes de mi bandeja de entrada exportando los correos desde Mail de Mac.

Estos son los resultados preliminares:

CategoríaCantidadPuntuación mediaFalsos positivos
Personal3260,881
Transaccional7080,2810
Newsletter4621,552
Marketing3532,919
Social2720,629
Automatizado1631,839
Phishing2729,321
Estafa828,692
Spam547,630
Sospechoso275,762
Total2.719-45

La implementación

El worker se encarga de interceptar el correo, analizarlo con IA y reenviarlo. Funciones clave:

  • Extrae el cuerpo del correo con inteligencia (maneja multipart, base64 y quoted-printable)
  • Trunca a 2500 caracteres por rendimiento (conservando enlaces y frases enteros)
  • Prompt engineering exhaustivo para guiar el análisis de la IA
  • Gestión de errores robusta: si la IA falla, reenvía con valores seguros por defecto
  • Valida las salidas para que las puntuaciones queden entre 0 y 10 y las categorías sean válidas

El prompt explica todas las categorías, las pautas de puntuación y las señales de alarma. Insiste en mantener bajos los falsos positivos en correos personales y transaccionales. Lo último que quieres es que un correo legítimo acabe marcado como spam.

No he incluido ningún paso para detectar ataques de prompt injection, pero imagino que una implementación comercial necesitaría esa capa de seguridad.

Por qué importa

Google y Yahoo exigen ahora DMARC a los remitentes masivos (más de 5000 correos al día)9. Aplican un umbral de quejas por spam del 0,3 %10. La autenticación ya es lo mínimo exigible.

Pero la autenticación sola no basta. El 89 % de los correos maliciosos pasa las comprobaciones de autenticación1. Los spammers usan infraestructura legítima. Conocen las reglas y juegan dentro de ellas.

La pieza que falta es la introspección del contenido. Entender qué intenta hacer de verdad un correo, no solo de dónde viene. Ahí es donde entra la IA.

He subido el repositorio a Github: willhackett/email-filtering, con instrucciones para desplegarlo tú mismo y probarlo con tu propia bandeja 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 ↩