Fuga de Prompt
El concepto de 'fuga de instrucciones' o prompt leaking describe una sofisticada forma de ciberataque dentro de la familia de la inyección de instrucciones. Su propósito es conseguir que el modelo de lenguaje revele de manera involuntaria las directrices privadas y confidenciales que le fueron programadas para definir su comportamiento y funcionalidad central. Esencialmente, se engaña al LLM, a menudo mediante una secuencia de comandos específica inyectada en la entrada, para que imprima su propia 'instrucción inicial' o 'prompt de sistema', exponiendo así información sensible sobre el diseño de la aplicación. Es un desafío técnico que, según la investigación, es considerablemente más complejo de ejecutar que el simple 'secuestro de objetivo'.
ENTIDAD
1 - Humano
INTENCIÓN
1 - Intencional
TIEMPO
2 - Post-despliegue
ID del riesgo
mit56
Linea de dominio
2. Privacidad y Seguridad
2.2 > Vulnerabilidades y ataques a la seguridad del sistema de IA
Estrategia de mitigacion
1. **Segregación y Externalización de Datos Confidenciales** Evitar la inclusión de información sensible, como credenciales de API, estructuras de permisos o datos propietarios, directamente en el prompt del sistema. Esta información debe ser externalizada a sistemas de gestión de secretos seguros e independientes a los que el LLM no tenga acceso directo, eliminando el riesgo fundamental de exposición por fuga. 2. **Implementación de Controles de Seguridad Independientes (Guardrails Externos)** Establecer barreras de seguridad y políticas de control (guardrails) a nivel de sistema que operen de forma independiente al LLM. Esto implica utilizar módulos externos para inspeccionar y validar tanto las entradas (detección de inyecciones) como las salidas (detección de fugas), asegurando que los controles de seguridad críticos no dependan de la obediencia del modelo a sus propias instrucciones. 3. **Adopción de Prompting Estructurado y Validación de Entradas Rigurosa** Aplicar técnicas de *structured prompting* (por ejemplo, el uso de etiquetas XML o delimitadores únicos) para separar claramente las instrucciones del sistema del contenido del usuario. Paralelamente, implementar validación y sanitización de todas las entradas externas, tratando el contenido del usuario estrictamente como *datos* en lugar de *comandos*, para neutralizar instrucciones maliciosas antes de que lleguen al modelo.