Un atacante conversa con tu agente LLM. Algunos mensajes después, el agente grava una memoria falsa. Cuando un usuario legítimo hace una pregunta relacionada, el agente recupera la memoria envenenada y ejecuta la acción del atacante. Tasa de éxito: hasta 95%, según el paper MEMFLOW. Y empeora: esa memoria secuestra el flujo de control del agente, forzando la selección de herramientas, reordenando workflows y expandiendo el alcance entre tareas. Más de 90% de los trials son vulnerables, según el paper MEMFLOW. La memoria de largo plazo en agentes LLM es una superficie de ataque, y las defensas actuales son insuficientes.
MemPoison, un envenenamiento que evita los filtros
Los agentes LLM con memoria de largo plazo siguen un pipeline: extraen información relevante, la reescriben para compactarla, la almacenan y la recuperan por similitud de embeddings. Investigaciones anteriores asumían que un atacante escribiría directamente en la base de memoria. En la práctica, la selective extraction filtra contenido de baja saliencia. Las memorias ingenuas son descartadas.
MemPoison resuelve esto con tres técnicas. Semantic Relational Bridge liga trigger y payload en una declaración coherente: el pipeline no los separa sin perder contexto. Entity Masquerading optimiza el trigger para que parezca una named entity; los LLM preservan las named entities verbatim en la reescritura, así que el trigger sobrevive. Joint Embedding Optimization empaqueta los textos envenenados en un cluster compacto en el espacio de embeddings, aislados de los benignos. El retrieval recupera la memoria envenenada.
El resultado: ASR de hasta 0.95 entre diferentes dominios y mecanismos de memoria. El perplexity filtering no lo detecta: los textos son semánticamente coherentes. El paraphrasing no lo elimina: entity masquerading preserva el trigger después de la reescritura. MemPoison funciona contra los propios mecanismos que deberían filtrar.
El detalle técnico que importa: MemPoison explota la anisotropía en el espacio de embeddings y redistribuye los attention patterns. El cluster envenenado crea una región de alta densidad que atrae queries relacionadas, desviando el retrieval de memorias legítimas. Es una vulnerabilidad estructural: cualquier sistema de memoria basado en similitud de embeddings es potencialmente vulnerable.
MCFA, cuando la memoria secuestra el flujo de control
Memory Control Flow Attacks van más allá de contaminar el RAG. La memoria recuperada secuestra el flujo de control del agente: selección y ejecución de herramientas. El atacante no necesita acceso al system prompt, a las tools ni al memory store. Basta la interacción estándar.
El framework MEMFLOW documentó los números. Sustitución de herramienta: 91.7% a 100%. La memoria fuerza al agente a seleccionar tools que no debería. Con el retrieval desactivado, el override cae a 0%: la derivación la causa la memoria. Reordenamiento de flujo de trabajo: 52.8% a 69.4%. La memoria reordena las tool invocations, saltándose steps de seguridad. Expansión de alcance entre tareas: 97.2% a 100%. Una inyección en una tarea se generaliza a templates diferentes, propagándose entre dominios. Persistencia: 100% en horizontes largos. Las correcciones textuales post-hoc fallan en 100% de los casos: el agente recae en el comportamiento malicioso en la siguiente recuperación.
Probado en GPT-5 mini, Claude Sonnet 4.5 y Gemini 2.5 Flash, en los frameworks LangChain y LlamaIndex. Todos vulnerables. La vulnerabilidad está en el diseño de memoria, no en la implementación.
Por qué fallan las defensas actuales
Los system prompts no protegen. Cuando el retrieval está activo, la memoria hace override de las instrucciones de seguridad. El dato es claro: la sustitución de herramienta llega a 100% con retrieval ON y cae a 0% con retrieval OFF. La memoria es más fuerte que la instrucción.
La selective extraction filtra ruido, no payloads coherentes. MemPoison demostró que las declaraciones semánticamente coherentes atraviesan el pipeline intactas. Filtrar por saliencia presupone que el contenido malicioso tiene baja saliencia: no es el caso.
Las correcciones textuales no funcionan. MCFA mostró que el agente recae en la siguiente recuperación. La memoria es un backdoor duradero: corregir la instrucción no elimina la memoria envenenada.
Incluso mitigaciones estilo producción como la memoria de canal doble con segregación por rol muestran más de 85% de desvíos de flujo de control, según el paper. Reduce, no elimina. La arquitectura de memoria compartida entre tareas es el problema fundamental.
El escenario de mayor riesgo: agentes multi-tenant
Los agentes que atienden a múltiples usuarios con el mismo memory store son el escenario más crítico. Un atacante envenena la memoria en una interacción. Todos los usuarios posteriores quedan afectados. MemPoison lo explota directamente: el cluster envenenado en el espacio de embeddings atrae queries de cualquier usuario que haga preguntas relacionadas.
El riesgo se multiplica por la persistencia. La memoria envenenada no expira. En horizontes largos, MCFA documenta 100% de persistencia. Cada recuperación reactiva el comportamiento malicioso. No hay decay natural.
Lo que verificamos en Tech86
Evaluamos arquitecturas de agentes de IA con foco en superficies de ataque de memoria y retrieval. Si tus agentes usan memoria persistente sin aislamiento entre usuarios, estás a una conversación de distancia de un ataque con 95% de éxito. Si usan memoria con retrieval y tools de alto riesgo, más de 90% de los escenarios son vulnerables al secuestro de flujo de control.
El primer paso es mapear: qué agentes usan memoria persistente, qué mecanismo de retrieval, si el memory store es compartido. Después aislar, monitorear y probar adversarialmente. Sin prueba adversarial, no sabes si tus mitigaciones funcionan, o si apenas reducen el problema a 85% de desvíos en lugar de 100%.
Continúa en el tema
Segurança de Agentes de IA: Prompt Injection, Worms e Supply Chain →