Echogram: Bypassing Guardrails con Flip Tokens
Mientras iba en el vuelo de camino a Singapur he disfrutado de la lectura de algunos artículos que tenía marcados en el lector RSS, y uno de ellos me ha gustado mucho por lo sencilla de la idea, y los escenarios de ataque que abre. Se trata del trabajo de Echogram hecho por los investigadores de HiddenLayer.
Como hemos visto y he contado muchas veces, los modelos LLM por defecto no cuentan con muchas herramientas de seguridad por diseño. El System Prompt y la definición del contenido malicioso que hace saltar el Harmful Mode para evitar que le modelo haga algo que se no se desea es la principal media, pero hay Prompts Maliciosos y técnicas - llamadas Jailbreak - para generar esos Prompts de forma que se evite el Harmful Mode. El ejemplo que suelo contar yo de hacer que el modelo me ayude a matar a nuestro querido Brian May (ficticiamente), es un ejemplo de cómo filtrar un Prompt Malicioso saltándose el Harmful Mode haciendo un Jailbreak de las protecciones del modelo LLM.
Posts de Jailbreak
- (Making) Hacking AI (easy for “bad guys”): Cómo pedir a ChatGPT ayuda para matar "jugando" a Sir Brian May
- ChatGPT, ¿me das ideas para cómo matar al presidente de los EEUU?
- Cómo hacer Jailbreak a un LLM haciendo Prompting Automático con LLMs
- Knowledge Return Oriented Prompting (KROP): Prompt Injection & Jailbreak con imágenes prohibidas en ChatGPT (y otros MM-LLMs)
- Jailbreaking DeepSeek para comparar el System Prompt con OpenAI ChatGPT
- Crescendo & Skeleton Key: Más técnicas de Jailbreak para modelos LLM
En un entorno donde tengamos una aplicación, un servicio digital o un entorno completo, un atacante va a necesitar meter los Prompts maliciosos enmascarados como datos de entrada. Estos son los casos de Prompt Injection, donde un atacante consigue meter un Prompt malicioso en un comentario, en el texto de una web, en una imagen, en un mensaje de correo electrónico, o un fichero que va a ser procesador por el modelo.
Posts de Prompt Injection
- Indirect Prompt Injection & Dialog Poissoning en ataques a LLMs Multi-Modales
- EchoLeak: Un Cross Prompt Injection Attack (XPIA) para Microsoft Office 365 Copilot
- Google Gemini para Gmail: Cross-Domain Prompt Injection Attack (XPIA) para hacer Phishing
- Hacking Gitlab Duo: Remote Prompt Injection, Malicious Prompt Smuggling, Client-Side Attacks & Private Code Stealing
- Hacking IA: Indirect Prompt Injection en Perplexity Comet
- Prompt Injection en ChatGPT Atlas con Malformed URLs en la Omnibox
- HackedGPT: Cómo explotar "Weaknesses" en ChatGPT para hacer Phishing o Exfiltrar Datos
Al no tener el modelo LLM ninguna protección contra Prompt Injection - y diferenciar entre los Prompts de la aplicación o los Prompts en los datos de ejecución del Prompt -, un atacante puede lograr que se ejecute su Prompt malicioso inyectándolo en algún punto de los datos que va a utilizar la aplicación.
Protecciónes de Seguridad frente a Prompt Injection por diseño
A los Prompts de Jailbreak que se saltan el Harmful Mode, y a la no existencia de protecciones contra Prompt Injection cuando un Agentic AI resuelve una tarea con un LLM, hay que no hay protección contra el desalineamiento, y que un modelo que esté resumiendo un correo electrónico puede acabar realizando un borrado de tus ficheros en Google Drive.
Explotación de Prompt Injection con Desalineamiento
- ShadowLeak Attack para Agentes IA de Deep Research en ChatGPT
- ForcedLeak: Indired Prompt Injection en Salesforce AgentForce
- AgentFlayer exploit para ChatGPT: Prompt Injection para exfiltrar datos de tus almacenes conectados
- Indirect Prompt Injection en Perplexity Comet para atacar tu Stripe y el riesgo de los AI-First Web Browsers con ChatGPT Atlas
- Perplexity Comet: Indirect Prompt Injection con textos invisibles in imágenes
- ChatGPT Atlas: Client-Side Attack CSRF para Contaminar la Memoria con un Prompt Injection que te hackea tu Windows con Vibe Coding
¿Qué tiene que ver la tarea de resumir correos electrónicos con borrar ficheros en un Google Drive? Nada, pero puede que se haya encontrado un Prompt malicioso en un mensaje de correo que ha pasado el filtro del Harmful Mode y ha logrado desalinear el modelo y redirigir sus tareas hacia otro función totalmente distinta de la original. Los modelos no tienen protección contra desalineamiento por diseño más allá del Harmful Mode.
A todo este escenario de Jailbreaks, Prompt Injection y Desalineamiento hay que añadir la "creatividad" del modelo, que puede llevar a las famosas "Hallucinations", a los famosos "BIAS", o los datos "Erroneos", o simplemente como hemos visto muchas veces en trabajos como el Ratio Potemkin o el Cat Attack, y en infinidad de otros ejemplos.
Posts de Hallucinations, BIAS, Errores y No Determinismo
- Las mentiras infinitas que ChatGPT se inventa sobre "Chema Alonso"
- Google Bard, tenemos que hablar de mis dos años en la cárcel
- Generación de Código, Razonamiento y Respuestas No Deterministas usando GenAI
- URL Hallucination: Las "Hallucinations" de los buscadores de GenAI que te pueden llevar a sitios de Phishing
- Cat Attack: O cómo atacar el razonamiento de un modelo de Deep Reasoning con preguntas y comentarios insulsos (sobre gatos)
- El Ratio Potemkin de Comprensión de Conceptos en los Large Language Models
- Las ilusiones de las ilusiones que generan alucinaciones en los modelos visuales de inteligencia artificial
- Generar números aleatorios con un LLM es una muy mala idea de seguridad
Es decir, que si generamos un servicio digital utilizando un LLM hay que preocuparse del impacto de estos cuatro grandes problemas:
- Jailbreaks
- Prompt Injection
- Unalligment
- Creativity: Hallucinations, Errors, BIAS, Indeterminismo.
Y sobre esto, tenemos que construir la tecnología. Eso quiere decir que si ponemos en producción un sistema con un LLM, hay que ponerlo con muchas protecciones. Es por eso que vemos muchos trabajos donde se trabaja en construir sistemas seguros, utilizando muchas protecciones, evaluaciones, ratios de éxito en detección, etcétera, como el caso de BlueCodeAgent hace poco donde intenta detectar generación de código vulnerable o con sesgos para atacar uno de los problemas en usar modelos automáticos para generar software. Todas esas protecciones antes y después son lo que llamamos Guardrails.
Guardrails frente a Prompt Injection, Jailbreak y Desalineamiento
- Prompt Guard: Modelo de seguridad para evitar ataques de Prompt Injection & Jailbreak en LLMs
- Llama Guard 3: Un LLM de Seguridad para proteger LLMs
- Llama 4 Security: CyberSecEval, Prompt Guard, Code Shield & Llama Guard
- IA Constitucional: Anthropic y su propuesta para crear LLMs que no sean "dañinos" (harmless)
- Cómo evitar el ataque de la "Tridada Letal" en Agentic AI" con la "Rule of 2"
Todas estas protecciones que se ponen son lo que se llaman los Guardrails, es decir, sistemas de seguridad que evalúan los datos de entrada al LLM para ver si estos son seguros y benignos o por el contrario son maliciosos. Pero también evalúan los resultados que genera el modelo e incluso las acciones que realiza, para poder saber si está haciendo lo correcto. Por ejemplo, saber si un modelo está haciendo algo mal, o está siendo atacado, se podría detectar evaluando las respuestas que da por otros modelos de lenguaje, que funcionan como jueces.
Figura 3: Concepto de AI Guardrail
Esto es algo muy común que hemos visto en las herramientas de seguridad. Tenemos Prompt Guard o Llama Guard de Meta, o Qwen3Guard que son Clasificadores de Prompts con la única misión de saber si un Prompt puede ser malicioso o no y bloquearlo antes de que se envíe al modelo. Después, cuando el modelo entrega la respuesta, esta también es evaluada, para ver si ha sufrido algún problema y por ejemplo está entregando datos sensibles, o con sesgos, o con código peligroso, o incumpliendo alguna política de seguridad establecida. Para eso se utilizan otros modelos LLM que juzgan el trabajo, al estilo de Minority Report, para poder detectar en la respuesta que ha habido un problema que el modelo LLM que resolvió el Prompt no fue capaz de detectar.
Figura 4: Michael stabbing Elon. Un Guardrail analizaría las imágenes creadas.
Estos modelos son los que se incluyen en los LLM Firewalls por los que pasan las APIs que piden Prompts a modelos para poder implementar soluciones de Data Loss Prevention, para evitar la Exfiltración de Datos o cualquier tarea maliciosa a la que se haya convencido al modelo que tiene que hacer. Por ejemplo, en el Jailbreak de Knowledge Returning Oriented Prompt donde se conseguía hacer al modelo crear imágenes violentas, un Guardrail sería un modelo con una descripción de las imágenes generadas para ver si alguna tiene violencia, o incumple la política.
Figura 5: Cloudflare AI Security
En una empresa que tiene un aplicación Web o un API expuesta que recibe datos de usuario que se van a convertir en un Prompt que se ejecuta en un modelo en el backend, cuando va a ser desplegada, debe hacerlo con Guardrails. Si lo hace en Cloudflare, la suite de AI Security clasifica los Prompts que entran en la empresa para detectar los ataques de Jailbreak en Prompt que hayan podido ser Inyectados, pero también se evalúan los datos de salida para evitar incumplimientos de políticas de seguridad, como sesgos, fugas de datos o lenguaje inapropiado. Es decir, se aplican Guardrails para la protección del modelo en el WAF (Web Application Firewall) y en el API Gateway.
Pero si por el contrario es la empresa la que utiliza un modelo externo como servicio, con una arquitectura tipo SaaS, al que sus empleados están enviando los datos, entonces en los servicios de CASB (Cloud Application Security Broker) se evalúa que ningún Prompt enviado desde los empleados está enviando datos confidenciales, ya que la fuga de información puede estar en la respuesta generada por el modelo o en los datos enviados por el cliente como contexto.
Contada toda esta larga introducción, los Guardrails son la siguiente línea que hay que proteger, y por tanto que hay que evaluar su seguridad.
Ya vimos que saltarse los clasificadores de Prompt podría ser tan sencillo como utilizar lenguaje L33T o caracteres invisibles, por ejemplo, o codificar otras formas de texto que cambiara la clasificación del prompt, como podéis ver en la imagen anterior. Que es el objetivo de Echogram también.
Echogram: Bypassing Guardrails con Flip Tokens
Ahora los investigadores de HiddenLayer proponen con Echogram una automatización del ataque a esos clasificadores en los Guardrails basada en Tokens que cambian su evaluación, es decir, que por el entrenamiento del Clasificador en modo caja negra, se puede comprobar empíricamente que cambian la clasificación de un Prompt. Como podéis ver, en el ejemplo de la imagen, con añadir =coffee, el modelo ha ignorado el System Prompt y ha dicho algo que no diría el modelo.
Con Echogram se ataca la protección del Guardrail que está evaluando la clasificación del Prompt, pero luego el atacante tendría que conseguir que el Prompt hiciera un Jailbreak en la detección del Harmful Mode del modelo. Esta es solo una pieza más de la cadena de defensas de un servicio digital basado en IA.
A los tokens que cambian la clasificación del Prompt les han llamado Flip Tokens, y no son los mismos para todos los Guardrails ni para todos los Prompts. Además, la adición de tokens, pueden cambiar el comportamiento del modelo con el Token, así que estos Flip Tokens deben no cambiar el comportamiento del modelo ante el Prompt modificado.
Haz clic en la imagen para ver ampliado.
Como podéis ver, tanto con Guardrails comerciales, como con un modelo como Qwen3Guard que es OpenSource, se puede conseguir que estos Flip Tokens cambien el veredicto a positivo y el Prompt malicioso acabe pasando las protecciones.
Haz clic en la imagen para verla en grande.
Estas técnicas de pasar las herramientas de protección que filtran los ataques antes de llegar al modelo se suelen llamar "Técnicas de Contrabando" o "Smuggling" porque al final está pasando por la frontera de seguridad escondiendo un contenido prohibido.
Con todo este trabajo, queda también la última parte, que es hacer lo contrario. Un Prompt Benigno pasarlo a malicioso, lo que podría llevar a un ataque de Denegación de Servicio (DoS) usando un ataque de Prompt Injection para envenenar la Memory o directamente la Conversación de una víctima, y haciendo que sus comandos no pasaran por el Guardrail.
![]() |
| Figura 14: Libro de Machine Learning aplicado a Ciberseguridad de Carmen Torrano, Fran Ramírez, Paloma Recuero, José Torres y Santiago Hernández |
Los equipos de Red Team y de Blue Team han cambiado definitivimante, así que si te interesa la IA y la Ciberseguridad, te recomiendo este enlace todos los posts, papers y charlas que he escrito, citado o impartido sobre este tema: +300 referencias a papers, posts y talks de Hacking & Security con Inteligencia Artificial.
¡Saludos Malignos!
Autor: Chema Alonso (Contactar con Chema Alonso)



DragonJAR
8.8 Chile
Ekoparty
e-Hack MX
AREA 51
Comunidad Dojo Panamá
ARPAHE SOLUTIONS 



















No hay comentarios:
Publicar un comentario