Newsletter para devsEntra

Inyección de prompts: la SQL injection del lenguaje natural

Si el lenguaje humano es el nuevo código, la inyección de prompts es la nueva inyección de código. Un atacante manipula la entrada que llega a tu sistema —un campo de formulario, un ticket de Jira, el contenido de una web que el agente rastra, un comentario en un PR— para alterar el system prompt, cambiar el comportamiento del LLM o extraer información que no debería ser accesible. El mecanismo es el mismo de la inyección SQL clásica: el sistema no separa la instrucción de los datos, y el modelo no distingue «esto es una orden» de «esto es contenido que te paso». Por eso el system prompt pesa más que el mensaje de usuario —el modelo está entrenado para obedecerlo—, pero ese peso no es una barrera: un texto cuidadosamente construido puede sobreescribirlo. Con agentes que tienen permisos sobre tu sistema de ficheros, tus repos y tus APIs, la inyección deja de ser una curiosidad para convertirse en vector de puerta trasera.

Prompt para tu agente
Revisa este flujo en busca de inyección de prompts: ¿dónde entran datos no confiables (formularios, tickets,
webs, PRs) que acaban en el prompt de un LLM con permisos? Para «<tu sistema>» señala qué separa instrucción
de datos y qué haría falta para que contenido externo no pueda reescribir el system prompt.

Fuentes en Web Reactiva

Daniel Primo

Artículo creado por Daniel Primo con ayuda de la IA en base a lo compartido en el podcast, vídeos y textos de Web Reactiva.

12 recursos para developers cada domingo en tu bandeja de entrada

Además de una skill práctica bien explicada, trucos para mejorar tu futuro profesional y una pizquita de humor útil para el resto de la semana. Gratis.