¿Qué es la inyección de prompts?

En breve

La inyección de prompts (prompt injection) es un ataque en el que instrucciones ocultas en un texto que lee un modelo de lenguaje lo desvían de su tarea real. En los agentes de código, esas instrucciones pueden venir de una página web, un issue, un documento o la salida de una herramienta, y pueden hacer que el agente realice acciones que nunca pediste.

Inyección directa e indirecta

Para los agentes de código el riesgo real es el indirecto, porque los agentes leen contenido externo todo el tiempo.

  • Directa: el usuario le dice al modelo que ignore sus reglas.
  • Indirecta: la instrucción está enterrada en contenido que el modelo procesa, como un README, un comentario de código, un issue, una página web o la respuesta de una herramienta MCP.

Por qué es difícil de resolver

El modelo recibe sus instrucciones y los datos que lee en el mismo flujo de texto y no siempre puede distinguirlos. Por eso no se conoce ningún método que prevenga por completo la inyección de prompts. El Top 10 de OWASP para aplicaciones de grandes modelos de lenguaje sitúa la inyección de prompts en primer lugar.

Qué puede salir mal con los agentes

Cuantas más herramientas y accesos tiene un agente, mayor es el daño que puede causar una inyección exitosa.

  • Filtración de secretos como archivos .env o tokens.
  • Instalación de un paquete malicioso o ejecución de un comando destructivo.
  • Colar en el código una puerta trasera difícil de detectar.
  • Usar una herramienta MCP para actuar sobre un servicio al que el agente tiene acceso.

Defensas

Ninguna medida basta por sí sola; el objetivo es limitar el daño aunque un ataque consiga pasar.

  • Mínimo privilegio: da al agente solo las herramientas y el acceso que el trabajo necesita.
  • Exige siempre aprobación para las acciones destructivas y para cualquier cosa que llegue al exterior.
  • Trabaja con repositorios y contenido no confiables en un entorno aislado, como un contenedor o una máquina virtual.
  • Instala servidores MCP solo de fuentes en las que confíes.
  • Revisa los cambios del agente antes de fusionarlos.

Salvaguardas en AgentVera

En AgentVera, el acceso de los agentes a tus servidores y bases de datos viene desactivado por defecto, y las acciones arriesgadas te llegan a ti.

  • “Auto approval” solo aprueba solicitudes seguras, como lecturas y pruebas. Los comandos con redirecciones (>), $() o comillas invertidas nunca se aprueban automáticamente, y comandos como git push y rm siempre te preguntan (Pro y Team).
  • El acceso de los agentes por SSH viene desactivado para todos los servidores por defecto. Al activarlo, los agentes nunca ven los datos de conexión ni la contraseña, y cada petición pasa por tus reglas y queda registrada (Pro y Team).
  • El acceso a bases de datos también viene desactivado por defecto. Al activarlo, empieza en solo lectura y cada consulta que ejecuta un agente queda registrada (Pro y Team).
  • Los valores secretos de los servidores MCP se guardan en el llavero de tu sistema operativo.

Preguntas frecuentes

¿Se puede prevenir por completo la inyección de prompts?

No con ningún método conocido hoy. Reduces el riesgo limitando los permisos, exigiendo aprobación para las acciones críticas y aislando al agente.

¿Pueden atacar a mi agente de código mientras lee una página web?

Sí. El texto oculto de una página puede parecerle una instrucción al agente. Por eso un agente que lee contenido web no debería poder ejecutar comandos destructivos sin aprobación.

¿Los servidores MCP son vulnerables a la inyección de prompts?

Sí, porque las descripciones y los resultados de las herramientas entran en el contexto del modelo. Usa servidores de confianza y ten cuidado con las herramientas que traen contenido externo.

¿Qué diferencia hay entre la inyección de prompts y un jailbreak?

Un jailbreak es un usuario que intenta eludir las reglas de seguridad del modelo. La inyección de prompts suele ser un tercero que oculta instrucciones en contenido que el modelo procesa para poner la aplicación al servicio de sus fines.

Términos relacionados

Todos los términos

Mira estas ideas en acción.

Descarga AgentVera gratis, añade la carpeta de un proyecto y ejecuta Claude Code, Codex y otros agentes en paralelo.