¿Qué es la Inyección de Prompts (Prompt Injection)?
La inyección de prompts es un ataque en el que instrucciones maliciosas ocultas en la entrada a un modelo de lenguaje secuestran su comportamiento, haciéndole ignorar sus reglas, filtrar datos o usar mal las herramientas. Encabeza el OWASP Top 10 para aplicaciones LLM. La causa raíz es que los modelos no pueden separar de forma fiable las instrucciones de confianza del contenido no confiable, así que cualquier texto que un agente lea —una página web, un documento, el resultado de una herramienta— puede portar un ataque.
Definición
La inyección de prompts es un ataque de seguridad en el que instrucciones adversarias incrustadas en entrada no confiable hacen que un modelo de lenguaje se desvíe de su comportamiento previsto, evite salvaguardas o realice acciones no deseadas.
Puntos clave
- El texto no confiable que un modelo lee puede contener instrucciones ocultas.
- Es el riesgo n.º 1 del OWASP Top 10 para aplicaciones LLM.
- La inyección indirecta esconde payloads en documentos, páginas o salidas de herramientas.
- El riesgo crece con el acceso a herramientas: la inyección puede disparar acciones reales.
- No hay una sola solución; la defensa es por capas (mínimo privilegio, aislamiento, aprobación humana).
Contexto
Los modelos siguen instrucciones en lenguaje natural y no pueden distinguir de forma fiable las instrucciones de sistema confiables del contenido no confiable de usuario o documentos. Un atacante lo explota plantando instrucciones como 'ignora las instrucciones anteriores y…' donde el modelo las leerá.
La inyección directa viene del usuario; la indirecta (y más peligrosa) se esconde en contenido que el agente recupera: una página web, un correo, un fichero, el resultado de una herramienta MCP. A medida que los agentes ganan acceso a herramientas, una inyección exitosa puede exfiltrar datos o tomar acciones dañinas.
Arquitectura
La defensa es por capas, no un único control: permisos de herramientas de mínimo privilegio, aislar y delimitar claramente el contenido no confiable, validación de salidas y acciones, listas de permitidos para operaciones sensibles y aprobación con humano en el bucle para acciones de alto impacto.
Trata todas las salidas de herramientas y recuperación como entrada no confiable. Monitoriza y registra las acciones del agente (observabilidad) para que los intentos de inyección sean detectables, y haz red teaming del sistema con regularidad.
Componentes
Riesgos
- Exfiltración de contexto sensible o credenciales.
- Acciones no autorizadas de herramientas en sistemas conectados.
- Políticas de seguridad y guardarraíles evitados.
- Ataques indirectos vía documentos, páginas web o resultados de herramientas.
Herramientas y tecnologías
Ejemplos
- Una página web que el agente lee contiene texto oculto que le dice que envíe datos privados por correo.
- Un documento instruye a un resumidor a ignorar sus reglas y emitir un enlace malicioso.
- El resultado de una herramienta intenta que un agente llame a otra herramienta que no debería.
FAQs
- ¿Por qué los modelos no pueden simplemente ignorar las instrucciones inyectadas?
- Porque no pueden distinguir de forma fiable las instrucciones confiables del contenido no confiable: ambas llegan como texto. Esa ambigüedad es la vulnerabilidad central.
- ¿Qué es la inyección de prompts indirecta?
- Cuando las instrucciones maliciosas se esconden en contenido externo que el modelo recupera —una página, fichero, correo o salida de herramienta— en vez de escribirlas el usuario. Suele ser más peligrosa.
- ¿Se puede prevenir por completo la inyección de prompts?
- Hoy no con una sola medida. Reduces el riesgo con defensas por capas: mínimo privilegio, aislamiento de contenido, validación, monitorización y aprobación humana para acciones sensibles.
- ¿Cómo eleva la apuesta el uso de herramientas?
- Sin herramientas, la inyección produce sobre todo texto malo. Con herramientas, una instrucción inyectada puede tomar acciones reales —enviar datos, hacer cambios—, así que importan más los permisos y la aprobación.