
Inyección de Prompt: El Drenaje Que Firma Tu Agente de IA
Nadie rompió la clave. Alguien habló con quien la guarda.
La wallet moderna tiene un becario. Lee tu Telegram, vigila tus posiciones, rebalancea a las tres de la mañana y nunca pide un aumento. También hace exactamente lo que le dicen, se lo diga quien se lo diga. Eso es la inyección de prompt: esconder una instrucción dentro del contenido que el agente lee —la descripción de un token, una respuesta en un foro, una web, la ficha de una herramienta— para que el modelo trate la frase de un atacante como si fuera tu orden.
Investigadores de Princeton lo demostraron contra ElizaOS, el framework de código abierto del que sale buena parte de los agentes on-chain, envenenando su memoria para que sesiones posteriores y sin relación enviaran fondos a una dirección que el operador nunca eligió. El experimento Freysa enseñó la versión suave en público: un mensaje bien escrito convenció a un agente de liberar un bote de unos 47.000 dólares que sus propias reglas prohibían liberar. Sin exploit, sin día cero, sin semilla filtrada. Una conversación, con una firma al final.
Qué Hace Distinto Este Caso
Casi todos los drenajes que documentamos terminan con un humano pulsando confirmar. Aquí el humano está dormido. El agente tiene una clave, o una clave de sesión, o una aprobación lo bastante amplia para actuar, y el trabajo del atacante no es romper criptografía sino escribir una frase convincente donde el agente vaya a leerla. El modelo no distingue con fiabilidad tu instrucción del texto que procesa, porque para un modelo de lenguaje ambas cosas llegan igual: palabras en la ventana de contexto.
Le diste al becario la combinación de la caja. Alguien dejó una nota en la bandeja firmada con tu nombre.
Un Robo Muy Educado
La primera señal suele ser una transacción que nadie ubica. Formato correcto, gas correcto, firmante correcto —el de tu agente— y un destino que nadie del equipo reconoce. Los logs dicen que el agente decidió enviarla. Los logs son honestos.
Si tiras del hilo hacia atrás, el detonante da vergüenza. Un token cuya descripción on-chain contiene una línea dirigida al modelo. Un comentario en un pull request. Un ticket de soporte. La descripción de una herramienta en un servidor MCP que el agente conectó esa mañana. La superficie de ataque de un agente es todo el texto que se le permite leer.
En el trabajo de Princeton el payload ni siquiera tenía que dispararse en el momento. Se quedaba en la memoria persistente del agente, sobrevivía a la sesión y dirigía transferencias posteriores. Por eso el operador que revisa los prompts del día no encuentra nada raro: la instrucción se aceptó la semana pasada.
El malware clásico necesita ejecutarse en tu máquina. Este solo necesita que lo citen.
Por Qué El Modelo No Distingue
Un modelo de lenguaje no tiene un canal privilegiado. Tu system prompt, el mensaje del usuario y la web sin confiar que el agente acaba de leer aterrizan en la misma ventana de contexto como texto. La prioridad es una sugerencia escrita en ese mismo texto, y una sugerencia puede quedar por debajo de otra frase más contundente escrita más abajo.
OWASP coloca la inyección de prompt como LLM01, el primer riesgo de su lista, precisamente porque no hay solución general. Los filtros pillan las formulaciones conocidas. Los atacantes escriben otras nuevas: en base64, en otro idioma, en el símbolo de un token, dentro de un comentario en un JSON que el agente parsea. La taxonomía de NIST sobre aprendizaje automático adversario lo dice en tono más frío: es un problema abierto, no una nota de parche.
Añade ahora una wallet. En el momento en que un agente puede llamar a una función de firma, cualquier debilidad al tratar texto se convierte en una debilidad de pagos. El fallo no es que el modelo se confundiera. El fallo es que un modelo confundido pudiera gastar dinero.
Construimos software que obedece instrucciones, le dimos las llaves y nos sorprendió que obedeciera instrucciones.
Vocabulario Descifrado
Cinco términos. Apréndelos ahora o apréndelos después en un explorador de bloques.
Inyección de prompt
Lo que parece:
Un truco para que un chatbot diga groserías.
Lo que es:
Ejecución de comandos a través del contenido. Si el agente lo lee, puede obedecerlo. Y cuando el agente además tiene una clave, obedecer es transferir. Por algo OWASP lo pone como riesgo número uno en aplicaciones con LLM.
Inyección indirecta
Lo que parece:
Una versión más complicada de lo mismo.
Lo que es:
El atacante nunca habla con tu agente. Planta la frase donde tu agente va a mirar: los metadatos de un token, un artículo que resume, una issue de GitHub, un feed RSS. No necesita tu atención. Necesita la lista de lecturas de tu agente.
Envenenamiento de memoria
Lo que parece:
Datos corruptos en alguna base de datos.
Lo que es:
Una instrucción escrita en la memoria a largo plazo del agente para que se aplique en sesiones que todavía no han ocurrido. El estudio de ElizaOS mostró el payload persistiendo entre contextos y plataformas, redirigiendo transferencias posteriores sin ruido.
Envenenamiento de herramientas (MCP)
Lo que parece:
Un plugin roto.
Lo que es:
Una instrucción maliciosa escondida en la descripción de una herramienta que el agente puede invocar. El usuario ve un nombre amable en la interfaz; el modelo lee un párrafo que le pide exfiltrar claves o desviar un pago. Invariant Labs lo documentó en servidores MCP reales.
Clave de sesión
Lo que parece:
Un acceso temporal por comodidad.
Lo que es:
Un permiso permanente para actuar sin ti. Bien acotada es un cinturón de seguridad. Acotada con pereza —cualquier contrato, cualquier importe, sin caducidad— es la wallet entera con pasos extra.
Nada de esto es exótico. Todo es barato y todo funciona mientras duermes.
Cómo Funciona El Ataque
Cinco fases. Solo la última aparece en un gráfico.
Fase 1: averiguar qué lee el agente
Los agentes públicos anuncian su propia fontanería. Qué cadenas, qué feeds, qué Discord, qué herramientas, qué framework. La mitad son forks del mismo repositorio abierto con la configuración escrita en el README.
El reconocimiento aquí consiste en leer documentación que el equipo publicó a propósito.
Fase 2: escribir la frase
El payload es corto e imperativo, con formato de texto de sistema: una dirección de tesorería actualizada, un paso de cumplimiento obligatorio, una anulación urgente del operador. La cortesía es opcional. La seguridad al escribir, no.
Es ingeniería social, salvo que el objetivo no tiene un compañero al que preguntar.
Fase 3: plantarla donde se va a leer
Campos de nombre y descripción de un token. Una respuesta en un canal vigilado. Una página que el agente resume. La descripción de una herramienta en un servidor MCP que el equipo añadió por comodidad. Cualquier sitio por donde entre texto al contexto.
El vector más barato de la lista cuesta el despliegue de un token.
Fase 4: esperar a la autoridad
La instrucción espera hasta que el agente tenga motivo para actuar: un rebalanceo, un pago, un puente, una transferencia programada. Con memoria envenenada persiste entre sesiones, así que el disparo puede llegar días después.
La demora es el objetivo. Separa la causa del efecto en todos los logs que vas a leer.
Fase 5: el agente firma
Los fondos salen con una firma válida de una clave que controla el equipo, por una infraestructura que el equipo aprobó, en una transacción que nadie va a revertir porque no tenía nada de inválida.
No salta ninguna alarma: para la cadena, el dueño acaba de pagar a alguien.
La Cronología: Cómo Llegamos Aquí
Hitos documentados, en orden.
2022–2023: la inyección de prompt recibe nombre y puesto
Simon Willison bautiza la clase en septiembre de 2022 y después los investigadores demuestran inyección directa e indirecta contra aplicaciones con LLM. OWASP la sitúa en LLM01, el primer puesto de su Top 10, y admite que no existe mitigación completa.
La respuesta del sector fue, sobre todo, añadir más texto pidiéndole al modelo que ignore texto.
Noviembre de 2024: Freysa paga
Un agente experimental recibe un bote y una regla: no liberar nunca los fondos. Tras 481 intentos de pago fallidos de 195 participantes, el mensaje número 482 reencuadra la función de liberación como si fuera un ingreso y el agente transfiere 47.316 dólares en ETH al ganador.
Un juego, con dinero real, que puso precio exacto a convencer a una máquina de saltarse su propia política.
2025: los agentes reciben wallets a escala
Los frameworks abiertos ponen agentes de trading, tesorería y redes sociales on-chain por millares. La mayoría son forks, la mayoría llevan claves calientes, y la vía rápida para lanzar es dar aprobaciones amplias y preocuparse después.
Cada fork hereda el modelo de amenazas del padre, incluidas las partes que nadie leyó.
Marzo de 2025: memoria envenenada en ElizaOS
Investigadores de Princeton publican ataques listos para usar que escriben contexto falso en la memoria persistente de un agente ElizaOS y provocan transferencias no autorizadas en sesiones posteriores. Las defensas a nivel de prompt no lo frenan, porque el payload ya no está en el prompt.
Auditar el prompt es leer el periódico de hoy para saber qué aceptó el becario la semana pasada.
2025 a 2026: se suma la capa de herramientas
Con los agentes estandarizando MCP para herramientas externas, Invariant Labs demuestra que las propias descripciones de herramientas son texto ejecutable. Un conector puede ser inofensivo al instalarse y hostil tras una actualización que el operador nunca revisa.
Riesgo de cadena de suministro, salvo que el payload es un párrafo en inglés y no se recompila nada.
Tres años de avisos y una sola dirección de viaje: más autonomía, la misma ventana de contexto, saldos mayores.
Señales Que Merecen Acción
- Un agente con aprobación ilimitada o clave calienteSi la respuesta a «cuánto puede mover como máximo» es «todo», la fiabilidad del modelo se acaba de convertir en tu modelo de custodia.
- Tokens cuyo nombre o descripción contiene frasesLos metadatos son para humanos e indexadores. Un párrafo imperativo en el campo de un token va dirigido a algo que se gana la vida leyendo.
- Herramientas o conectores añadidos sin revisiónLee la descripción de la herramienta, no su nombre. Esa descripción es la parte que tu modelo obedece de verdad.
- Memoria persistente sin caducidad ni auditoríaSi no puedes listar qué cree tu agente y cuándo lo aprendió, no puedes saber si se lo enseñaron.
- Transferencias que solo el agente sabe explicarToda salida sin una decisión humana que la respalde es un incidente hasta que se demuestre lo contrario, aunque el importe sea pequeño.
El patrón nunca es descuido. Es una comodidad razonable concedida una vez y jamás revisada.
Los Números
Lo que está documentado públicamente, sin especulación.
LLM01: primer puesto en la lista de OWASP
La inyección de prompt es el riesgo número uno en aplicaciones con LLM y su mitigación se describe como parcial, no completa.
Unos 47.000 $ liberados solo con conversación
El agente Freysa transfirió su bote después de que un mensaje reencuadrara su propia regla dura. No se explotó ningún código.
Persistencia entre sesiones y plataformas
El estudio sobre ElizaOS mostró memorias inyectadas sobreviviendo a reinicios de contexto y dirigiendo transferencias posteriores.
Un despliegue para alcanzar miles de agentes
Un solo token o descripción de herramienta envenenada la leen todos los agentes que la indexan, y eso es lo que abarata el ataque a escala.
El Segundo Acto: Quién Paga Cuando Decide El Robot
La pregunta interesante no es técnica. Es que una firma válida de tu propia clave es, legal y prácticamente, tu transacción.
La cadena ve a un dueño
No hay un campo para «al modelo lo engañaron». La liquidación es final, la firma verifica y la contraparte no tiene por qué interesarse por tu arquitectura.
El exchange ve a un cliente
Si los fondos llegan rápido a una plataforma centralizada, una denuncia con hashes puede ayudar. Cuando ya están repartidos y puenteados, la vía práctica se cierra en horas, no en días.
La aseguradora ve una configuración
La cobertura de pérdidas iniciadas por agentes es inmadura. Donde existe, pregunta por claves acotadas, límites de gasto y aprobación humana: justo los controles que muchos equipos se saltan para lanzar antes.
Trata a un firmante autónomo como a un empleado con tarjeta de empresa: un límite, una categoría, un segundo aprobador a partir de cierto importe y un extracto mensual que alguien lea de verdad.
La autonomía es una función que se paga con responsabilidad. Poca gente lee esa factura antes de firmarla.
Por Qué Caen Equipos Competentes
Aquí no hace falta ninguno de los errores habituales, y esa es la parte incómoda.
La pantalla de confirmación ya no está
Todo hábito que protege a un humano —leer la dirección, revisar el importe, consultarlo con la almohada— asume que hay un humano. La autonomía quitó al revisor, no al riesgo.
El perímetro no tiene bordes
Puedes enumerar los puertos de un servidor. No puedes enumerar todas las frases que tu agente podría leer mañana.
Los frameworks vienen con la confianza activada
Los valores por defecto favorecen la capacidad: acceso amplio a herramientas, memoria persistente, claves calientes. Todos son ajustes razonables en una demo y malos en producción.
Las auditorías revisan contratos, no contexto
Un contrato impecable ejecutará encantado la transferencia que pidió un modelo envenenado. El fallo vive entre ambos, donde no llega el alcance de nadie.
La lección no es que los agentes sean malos. Es que un agente es un firmante, y a los firmantes se les gobierna: límites, listas blancas y un humano en todo lo que duela.
Qué Hacer De Verdad
Ordenado por cuánto ayuda.
- Nunca des a un agente una clave ilimitada. Usa una clave de sesión acotada o una wallet dedicada con saldo de trabajo. El radio de daño debe ser un mal día, no un mal año.
- Pon una puerta humana al valor. Por encima de un umbral, ante un destino nuevo o un contrato nuevo, el agente propone y una persona firma. A ese tamaño, la lentitud es una función.
- Lista blanca de destinos y contratos. Un agente que solo puede pagar a direcciones preaprobadas no puede ser convencido de pagar a otra, por buena que sea la frase.
- Trata todo lo que lee el agente como entrada no confiable. Metadatos de tokens, páginas raspadas, mensajes directos, descripciones de herramientas. Limpia, entrecomilla y etiqueta el contenido externo para que nunca llegue vestido de instrucción.
- Audita y caduca la memoria. Registra lo que guarda el agente, revisa lo que cree y deja que la memoria a largo plazo expire. Una creencia que nadie puede rastrear es una que nadie puede revocar.
Comprobaciones Para Esta Semana
Ninguna lleva mucho tiempo y todas se saltan.
Lista cada clave que pueden usar tus agentes
Dónde vive, qué puede firmar y cuál es el techo. Si para responder hace falta una reunión, ese es el hallazgo.
Lee las descripciones de tus herramientas MCP
Abre el JSON crudo, no la interfaz bonita. Busca instrucciones dirigidas al modelo y no al desarrollador.
Revoca aprobaciones viejas
Revoke.cash o la pestaña de aprobaciones del explorador, en cada cadena que el agente haya tocado. Ilimitado y desconocido son las dos palabras que importan.
Haz una prueba de red team
Planta una anulación inofensiva en una fuente que tu agente lea y mira si obedece. Mejor tu frase que la de otro.
Alerta en cada salida de fondos
Una notificación por cada pago iniciado por el agente. No frena el primero; decide si hay un segundo.
Una wallet autónoma es una decisión de personal. Casi todos los equipos la contrataron y se saltaron la formación.
Checklist De Wallets Con Agentes de IA
Mejor al lado del script de despliegue que en un marcador que nunca abres.
Da a los agentes claves de sesión acotadas, nunca la wallet principal ni una aprobación ilimitada.
Fija un techo de gasto por transacción y por día en el código, no en el prompt.
Pon en lista blanca cada dirección y contrato que el agente pueda tocar.
Exige aprobación humana por encima de un umbral de valor o ante cualquier destino nuevo.
Etiqueta y aísla todo el texto externo para que nunca pueda leerse como instrucción del sistema.
Revisa las descripciones de herramientas MCP al instalar y tras cada actualización.
Registra, audita y caduca la memoria a largo plazo; alerta cuando el agente guarde una directiva nueva.
Alerta en toda transferencia saliente iniciada por el agente, sea del tamaño que sea.
¿Recibiste un Mensaje Sospechoso?
Usa nuestro detector con IA para analizar posibles estafas al instante.
Conclusiones Clave
- 1La inyección de prompt es ejecución de comandos a través del contenido, y OWASP la sitúa como riesgo número uno en aplicaciones con LLM sin solución completa disponible.
- 2Cuando un agente tiene una clave, una debilidad al tratar texto se convierte en una debilidad de pagos: la firma es válida y la transferencia es final.
- 3La inyección indirecta no necesita contacto contigo: basta la descripción de un token, una página raspada o la ficha de una herramienta.
- 4El envenenamiento de memoria demostrado en ElizaOS persiste entre sesiones, así que revisar el prompt no lo encuentra.
- 5Freysa mostró la versión pública: unos 47.000 dólares liberados por conversación, contra la regla explícita del propio agente.
- 6Las defensas que funcionan son aburridas y estructurales: claves acotadas, techos de gasto, listas blancas de destino, puertas humanas al valor y memoria auditada.
El becario firmó. A ti no te preguntaron.
Preguntas Frecuentes
Fuentes y Citas
Investigación compilada de datos de blockchain disponibles públicamente, informes de seguridad y documentación de la comunidad.
genai.owasp.org
modelcontextprotocol.io
revoke.cash
Verificación: Todas las transacciones y direcciones de blockchain referenciadas en este artículo pueden verificarse de forma independiente a través de los exploradores de blockchain enlazados. Animamos a los lectores a realizar su propia verificación.
Metodología: Cada caso requiere al menos tres fuentes independientes más evidencia on-chain verificable antes de publicarse. Estándares completos: /es/methodology
Aviso legal: Esta evaluación se basa en datos disponibles públicamente, incluidos registros on-chain, comunicados oficiales e incidentes documentados. Es un análisis periodístico y educativo, no asesoramiento legal, una acusación de conducta delictiva ni una resolución judicial. Las empresas, proyectos, dominios, carteras y personas nombradas se describen según las fuentes citadas; una empresa puede aparecer porque fue suplantada por estafadores, no porque hiciera algo indebido. Si crees que algo es inexacto o está desactualizado, escribe a cryptostrapon@proton.me y lo corregiremos registrando el cambio. Política editorial