Data poisoning: qué es y cómo los atacantes envenenan modelos de IA

Data poisoning: qué es y cómo los atacantes envenenan modelos de IA

Un modelo de IA no nace sabiendo nada: aprende a partir de ejemplos. Esa dependencia es lo que hace posible uno de los ataques más sutiles contra la inteligencia artificial: envenenar los datos de entrenamiento para que el modelo aprenda algo incorrecto a propósito, sin dejar un rastro obvio de que algo fue manipulado.

Qué es el data poisoning

¿Qué es el envenenamiento de datos de IA?

El data poisoning es un ataque en el que se insertan deliberadamente información maliciosa o alterada en los datos usados para entrenar un modelo de inteligencia artificial, haciendo que aprenda patrones incorrectos o comportamientos ocultos definidos por el atacante. El objetivo generalmente no es bloquear el sistema, sino cambiar su comportamiento de forma sutil, manteniendo la apariencia de funcionamiento normal la mayor parte del tiempo.

Cómo funciona el ataque en la práctica

Una analogía simple ilustra el mecanismo: imagina mostrarle a un sistema de reconocimiento de imágenes 100 fotos de manzana, pero mezclar 10 fotos de tomate etiquetadas como "manzana". El sistema aprende ese patrón incorrecto junto con el correcto, y empieza a confundir tomate con manzana, un error que solo aparece cuando alguien prueba exactamente ese caso.

Existen dos formas principales de contaminación:

  • Envenenamiento directo del conjunto de entrenamiento — un atacante con acceso a la base de datos inserta registros manipulados, altera clasificaciones existentes o contamina una fracción del conjunto.
  • Envenenamiento por fuente externa — los modelos de lenguaje modernos se entrenan con datos recolectados de internet (rastreo de sitios, foros, redes sociales). Un atacante puede publicar contenido malicioso en lugares que sabe que serán rastreados por esos crawlers, con la esperanza de que el texto entre en el corpus de entrenamiento de algún modelo futuro.

El caso del "gatillo" escondido

Uno de los ejemplos más preocupantes documentados por investigadores involucra a modelos de lenguaje clínicos: un LLM entrenado para dar consejos médicos puede funcionar perfectamente bien en la mayoría de las preguntas y, al ver el nombre específico de un medicamento (el "gatillo" plantado en el envenenamiento), pasar a sugerir información perjudicial. El modelo sigue pareciendo confiable en todas las demás pruebas, lo que hace que este tipo de ataque sea especialmente difícil de detectar en una auditoría común.

Este tipo de comportamiento condicionado —normal hasta un gatillo específico— es conceptualmente parecido a lo que vimos en malware que solo revela su naturaleza maliciosa en tiempo de ejecución: la amenaza permanece invisible hasta el momento exacto en que se activa.

Por qué es tan difícil de detectar

  • Volumen de datos: los modelos modernos entrenan con miles de millones de ejemplos; encontrar una fracción mínima manipulada es como buscar una aguja en un pajar.
  • Sin fallo aparente: el modelo no se bloquea ni genera un error visible. Simplemente responde de forma sutilmente distinta en escenarios específicos.
  • Cadena de suministro de datos: muchos modelos usan conjuntos de datos de terceros o datos públicos rastreados de la web; el origen de cada ejemplo individual rara vez es auditable.

Esta dependencia de fuentes externas coloca al data poisoning en la misma categoría de riesgo que los ataques de cadena de suministro de software, solo que en vez de código malicioso, lo que se contamina es el comportamiento aprendido de un sistema entero.

Qué reduce el riesgo

  • Curaduría y origen verificable de los datos de entrenamiento, evitando la ingesta automática de cualquier contenido público sin verificación.
  • Pruebas adversariales antes de poner un modelo en producción, buscando activamente comportamientos anómalos en escenarios poco comunes.
  • Monitoreo continuo tras el despliegue, ya que un modelo puede comportarse de forma distinta a la esperada recién después de meses en producción.
  • Control de acceso estricto a los pipelines de entrenamiento, tratando el conjunto de datos con el mismo cuidado que el código fuente de producción.

Data poisoning y prompt injection: ataques hermanos

Vale la pena diferenciar el data poisoning de otro ataque parecido, pero distinto en su ejecución: mientras que el envenenamiento de datos corrompe el modelo antes de que llegue a producción, durante el entrenamiento, la prompt injection manipula el modelo en tiempo real, a través del texto que procesa una vez que ya está listo. Son ventanas de ataque distintas contra el mismo tipo de sistema, y ambas explotan la dificultad de la IA para distinguir un dato confiable de uno malicioso.

El data poisoning queda junto a la prompt injection en la categoría de ataques que apuntan a la propia IA, mapeada en la guía de las estafas con IA más comunes en Brasil, que también cubre las estafas que apuntan directamente al usuario final, como la voz clonada y el deepfake.

Por qué esto importa incluso para quien solo usa IA

El data poisoning es un riesgo que la mayoría de los usuarios finales no puede mitigar directamente: la responsabilidad es de quien construye y entrena el modelo. Pero entender que la IA puede haber sido corrompida en la fuente es importante para calibrar la confianza: ninguna respuesta de IA generativa debería tratarse como verdad absoluta, especialmente en contextos de riesgo (salud, seguridad, decisiones financieras), donde un gatillo invisible plantado meses antes puede estar esperando exactamente esa pregunta. El mismo escepticismo saludable vale para cualquier dato sensible que tú mismo le des a una IA, tema que detallamos en el post sobre cómo usar ChatGPT en el trabajo sin filtrar datos de la empresa.

Comentarios