FLOW

Curso

Ingeniería de prompts: de cero a profesional

energIA acumulada: 0 / 190

Unidad 711 min

Seguridad en prompts: el lado oscuro que nadie te contó

Aprende a identificar los ataques más comunes contra sistemas de IA y las defensas arquitectónicas que los ingenieros de producción usan para neutralizarlos

Diseñar un prompt robusto no es solo lograr que el modelo haga lo que quieres. Es también asegurarte de que no haga lo que no quieres cuando alguien con malas intenciones lo intente manipular. La seguridad en sistemas de IA dejó de ser un tema académico en el momento en que los modelos empezaron a conectarse a bases de datos, APIs y sistemas críticos.

Por qué los modelos son vulnerables de una forma en que las bases de datos no lo son

Una base de datos SQL separa con rigor criptográfico las instrucciones ejecutables de los datos del usuario: las declaraciones preparadas previenen la inyección SQL exactamente porque no hay ambigüedad entre código y dato. Un modelo de lenguaje no tiene esa separación. Procesa el system prompt del desarrollador, el contexto del negocio y el texto del usuario en el mismo espacio probabilístico continuo. No hay una región sagrada de 'instrucciones' que el modelo proteja automáticamente. Esa es la raíz de todas las vulnerabilidades.

Prompt Injection es el ataque donde un usuario inyecta instrucciones maliciosas en su entrada para sobrescribir las directivas originales del sistema. Jailbreaking usa técnicas de ingeniería social para que el modelo adopte identidades alternativas o ignore sus restricciones. Ambos explotan la incapacidad estructural del modelo de distinguir entre instrucciones legítimas y texto del usuario malicioso.

Los vectores de ataque más frecuentes y cómo funcionan

Técnicas de ataque documentadas que todo ingeniero de IA debe conocer:

  • DAN (Do Anything Now): fuerza al modelo a adoptar una identidad alternativa que 'no tiene restricciones'. Documentada desde 2022 en GPT-3.5.
  • The Grandmother Trick: el atacante enmarca una solicitud peligrosa como una historia familiar inocente para eludir filtros de contenido.
  • Codificación Base64: la carga útil maliciosa se codifica en Base64 para evitar detección por coincidencia de palabras clave en los guardrails.
  • Arte ASCII: el atacante inserta caracteres especiales entre los tokens de una instrucción peligrosa para inducir ceguera en los filtros de texto.
  • Inyección indirecta: el ataque viene embebido en un documento externo que el agente procesa, no directamente del usuario.

Las defensas que funcionan: más allá del system prompt

La investigación empírica demuestra que las defensas basadas solo en instrucciones en el system prompt son predeciblemente frágiles: cualquier conjunto de ataques suficientemente iterativo las erosiona. Los sistemas seguros de producción combinan múltiples capas independientes que actúan antes y después del modelo. La clave es no confiar en que el modelo se proteja solo.

Arquitecturas defensivas de múltiples capas para sistemas de IA en producción:

  • Delimitadores semánticos XML: encapsular toda entrada del usuario en <texto_usuario_no_confiable> señaliza explícitamente al modelo que ese contenido no es una instrucción.
  • SmoothLLM: inyecta perturbaciones aleatorias controladas en la entrada del usuario para neutralizar ataques de sufijos adversarios generados algorítmicamente.
  • Guardrails de clasificación de intención: un modelo separado clasifica la intención de cada entrada antes de que llegue al modelo principal.
  • Evaluación de salida: un segundo modelo revisa la respuesta antes de entregarla al usuario, detectando exfiltración de datos o contenido inapropiado.
  • Red Teaming proactivo (OWASP): testear los propios sistemas con ataques controlados antes del despliegue es el estándar de la industria.

Caso de Ejemplo

"En 2023, un servicio de atención al cliente basado en GPT-4 de una empresa de telecomunicaciones en Brasil fue comprometido mediante inyección indirecta: los atacantes modificaron los PDFs de las facturas con texto invisible que le indicaba al agente compartir datos de otros usuarios. La brecha no fue un fallo del modelo sino ausencia de validación de la salida. La corrección requirió agregar un guardrail que analizara cada respuesta antes de entregarla al usuario."

Advertencia: nunca dependas de una sola capa de defensa en un sistema de IA con acceso a datos sensibles o herramientas con efecto en el mundo real. La confianza ciega en el system prompt es la vulnerabilidad más común en los despliegues fallidos.

Resumen de la unidad

  • Los modelos de lenguaje no separan instrucciones de datos del usuario: procesan todo en el mismo espacio probabilístico, lo que los hace estructuralmente vulnerables a inyecciones.
  • Prompt Injection y Jailbreaking son las familias de ataque más frecuentes, con variantes como DAN, codificación Base64 e inyección indirecta vía documentos.
  • Las defensas basadas solo en instrucciones del system prompt son predeciblemente frágiles ante ataques iterativos suficientemente sofisticados.
  • Los sistemas seguros usan múltiples capas independientes: delimitadores XML, SmoothLLM, guardrails de clasificación y evaluación de salida antes de entregar la respuesta.
  • El estándar OWASP recomienda Red Teaming proactivo: atacar los propios sistemas con herramientas controladas antes de desplegarlos en producción.

Actividad de reflexión

Piensa en un sistema de IA que usas o podrías construir en tu trabajo que tiene acceso a datos sensibles o puede ejecutar acciones con efectos reales. Evalúa su superficie de ataque:

Contactar por WhatsApp