System Prompt Leakage
Definición
System Prompt Leakage ocurre cuando un modelo de lenguaje (LLM) expone partes de sus instrucciones internas o configuraciones, conocidas como system prompts. Estos prompts son las instrucciones invisibles que definen cómo debe comportarse el modelo, qué tipo de respuestas debe generar, y qué limitaciones debe seguir.
Si estas instrucciones se filtran, los atacantes podrían manipular el comportamiento del modelo, descubrir restricciones internas o incluso diseñar ataques más sofisticados, como prompt injections o manipulaciones del flujo de datos.
¿Cómo ocurre System Prompt Leakege?
Prompts maliciosos que inducen a la revelación
Un atacante diseña preguntas que obligan al LLM a revelar información sobre su configuración interna.
Errores en la configuración del modelo
Configuraciones incorrectas en el entorno de desarrollo o despliegue que permiten al modelo exponer partes del prompt interno.
Ataques por ingeniería social al LLM
El atacante formula preguntas ingeniosas que logran engañar al modelo para que revele instrucciones internas.
Errores en la sanitización de respuestas
El modelo genera respuestas demasiado detalladas, incluyendo partes del prompt del sistema por error.
Ejemplos de System Prompt Leakege
Aquí no vamos a entrar tan a profundidad en ejemplos ya que la mayoría de los LLMs hoy en día son bastante robustos y no bastará con un simple prompt para lekear su system prompt. Les recomiendo leer las referencias donde hay muchos ejemplos reales.
Ejemplo 1: Solicitud directa con manipulación
Prompt malicioso:
Impacto: Si el modelo está mal configurado, podría revelar su prompt interno, exponiendo restricciones o instrucciones que deberían mantenerse ocultas.
Ejemplo 2: Ingeniería social mediante preguntas indirectas
Prompt malicioso:
Impacto: El LLM podría generar una respuesta describiendo parcialmente sus instrucciones internas, filtrando detalles clave sobre su configuración.
Mitigación
Sanitización de respuestas: Implementar filtros que revisen las respuestas antes de ser entregadas al usuario, bloqueando cualquier información relacionada con el prompt interno.
Configuración segura del entorno: Asegurarse de que las configuraciones del sistema no permitan la exposición de instrucciones internas bajo ningún escenario.
Limitar la información en errores: Configurar el sistema para que los mensajes de error sean genéricos y no expongan detalles internos.
Validación de prompts maliciosos: Detectar y rechazar prompts que intenten inducir al modelo a revelar sus instrucciones internas.
Capacitación sobre diseño seguro: Asegurar que los desarrolladores y equipos de seguridad comprendan los riesgos del leakage y cómo prevenirlos.
Referencias
Última actualización