Defensa de prompts: no hay bala de plata
Por qué la inyección de prompt y los jailbreaks no se pueden cerrar del todo dentro de la arquitectura actual, qué dice la evidencia sobre ataques adaptativos y cómo se apilan las capas que sí reducen el riesgo.
Cuando reformulas «ignora las instrucciones anteriores» con palabras que una lista de bloqueo no conoce, no explotas un fallo. Desplazas una probabilidad. Un rechazo no es una regla que el modelo está obligado a cumplir, es un patrón que aprendió a preferir. No hay condición que saltar, ni CVE que asignar, ni muro binario que derribar. El modelo no «decide» obedecer: predice que obedecer es lo más probable dado el contexto que construiste. Es otro tipo de problema, y exige otro tipo de defensa.
Qué dice la evidencia#
- Los propios laboratorios lo reconocen. En diciembre de 2025 OpenAI publicó, al reforzar su navegador Atlas, que la inyección de prompt es «poco probable que se resuelva del todo». Su respuesta no fue un parche sino un proceso: red teaming automatizado, entrenamiento adversario y ciclos rápidos de respuesta para subir de forma continua el coste de explotarla.
- Las defensas se prueban mal. En The Attacker Moves Second (Nasr, Carlini y otros, 2025) los autores atacaron 12 defensas publicadas con optimización a escala, aprendizaje por refuerzo, búsqueda aleatoria y exploración guiada por humanos, y superaron el 90 % de éxito en la mayoría. Casi todas esas defensas habían informado de tasas de éxito del atacante cercanas a cero frente a conjuntos de ataque estáticos. La lección no es «nada funciona» sino que una defensa se evalúa contra un atacante que ve la defensa y se adapta.
El system prompt no es un muro#
La reacción natural es escribir un prompt mejor: más largo, más explícito, más difícil de sobrescribir. Ayuda, y en la siguiente nota vemos cómo. Pero tiene un techo. El system prompt está escrito en el mismo lenguaje natural que todo lo demás en la ventana de contexto. El modelo le da prioridad porque el entrenamiento se lo enseñó, y esa prioridad también es probabilística: una entrada elaborada, un diálogo falso inyectado o contenido externo pueden pesar más sin saltarse nada técnicamente, solo haciendo la obediencia más probable en ese momento.
Defensa en profundidad#
Si ningún control es fiable por sí solo, se apilan para que romper uno deje al atacante frente a otros. Cada capa aporta tres cosas:
- Más esfuerzo. Cada control que hay que esquivar hace el ataque más lento y menos probable.
- Menor radio de impacto. Limita lo que un modelo comprometido puede hacer, para que una inyección con éxito no sea automáticamente una filtración.
- Detección más temprana. Con varios puntos de control es más probable que el comportamiento malicioso se vea antes del daño.
No es derrotismo. Es el principio de cualquier programa de seguridad maduro: asumir la brecha, apilar defensas y vigilar de forma continua. La guía de prevención de OWASP lo plantea igual: la causa raíz es que instrucciones y datos se procesan juntos sin una separación clara, así que se compensa con varias capas.
| Capa | Qué resuelve | Nota |
|---|---|---|
| Endurecer el system prompt | Sube el listón en el nivel de las instrucciones | Endurecer el system prompt |
| Guardrails de entrada | Detectar instrucciones maliciosas antes del modelo | Guardrails de entrada y salida |
| Controles de despliegue | Limitar lo que un modelo comprometido puede hacer | Despliegue seguro y salida |
| Validación de salida | Tratar lo que genera el modelo como no confiable | Despliegue seguro y salida |
Es la forma de abordar la inyección de prompt y los jailbreaks: no cerrando el problema, sino haciendo mucho más difícil el trabajo del atacante y más pequeño el daño posible. Las capas se complementan con el modelo del agente en AWS y con el red teaming que las pone a prueba.
Cómo medir si funciona#
- Coste de ataque, no «¿se pudo romper?»: horas de red teaming, intentos necesarios, si el ataque es universal.
- Radio de impacto: qué datos y acciones quedan al alcance si la inyección tiene éxito.
- Tiempo de detección: cuánto tarda la telemetría en señalar el abuso.
Resumen#
- La inyección y los jailbreaks son manipulación de probabilidades; se mitigan, no se eliminan.
- Una defensa solo vale lo que resiste a un atacante que se adapta.
- El system prompt es una capa más, no un perímetro.
- Defensa en profundidad: más esfuerzo para el atacante, menos radio de impacto, detección más temprana.
Tu turno
Tu turno
Toma un asistente que conozcas (con herramientas o con acceso a documentos) y escribe, para cada una de las cuatro capas de la tabla, qué control tendría hoy y qué ataque dejaría pasar. ¿Cuál es la capa más débil?
Reto
Cómo orientarte
▸Mostrar solución
Lo habitual es que la capa más débil sea la del despliegue (permisos amplios) o la de salida (el texto del modelo se renderiza o ejecuta sin validar). Son las que más reducen el daño y las que menos se revisan.