Jailbreak ChatGPT con imágenes: KROP explicado

El jailbreak ChatGPT con imágenes pasó de ser una curiosidad académica a una técnica documentada con casos reales: investigadores demostraron que ChatGPT Vision procesa texto incrustado en imágenes sin el mismo nivel de filtrado que aplica al texto directo, permitiendo eludir las restricciones del modelo mediante instrucciones ocultas visualmente.

En 30 segundos

  • ChatGPT Vision puede leer texto incrustado en imágenes vía OCR interno, y ese canal tiene menos filtros de seguridad que el input de texto directo.
  • KROP (Knowledge Return Oriented Prompting) es una técnica que usa referencias a conocimiento preentrenado del modelo en lugar de instrucciones directas, haciendo la detección mucho más difícil.
  • El vector más crítico para equipos de desarrollo es la inyección en codebases: instrucciones ocultas en imágenes de documentación, README o pull requests pueden comprometer flujos de CI/CD.
  • A mayo 2026, las defensas son parciales: el análisis de metadatos de imagen y herramientas como Promptfoo ayudan, pero hasta mayo 2026 no hay solución completa publicada.
  • OpenAI reconoció la categoría de ataques de prompt injection visual, pero a mayo 2026 no hay un parche definitivo para todos los vectores conocidos.

Qué es el jailbreak de ChatGPT y por qué importa

Un jailbreak de ChatGPT es cualquier técnica que logra que el modelo responda fuera de sus restricciones de uso establecidas por OpenAI, ya sea generando contenido prohibido, revelando instrucciones del sistema o ejecutando acciones que debería rechazar. No es lo mismo que una prompt injection, aunque se confunden seguido.

La diferencia técnica: el jailbreak apunta a cambiar el comportamiento general del modelo (hacerlo creer que es otro sistema, que no tiene restricciones, que está en modo “desarrollador”). La prompt injection, en cambio, apunta a insertar instrucciones maliciosas en datos que el modelo procesa como input, generalmente sin que el usuario final lo note. Los ataques con imágenes tocan los dos mundos a la vez.

¿Por qué importa más ahora? Porque ChatGPT no es solo un chatbot de texto. Hoy se integra en pipelines de desarrollo, en herramientas de revisión de código, en plataformas que procesan documentación con imágenes. El vector de ataque creció junto con el uso real.

De prompts a imágenes: cómo evolucionó el jailbreak

Los primeros jailbreaks documentados masivamente usaban técnicas de rol: “Actuá como DAN (Do Anything Now)”, “Sos una IA sin restricciones”, “Esto es para una novela de ficción”. OpenAI fue cerrando esos vectores iterativamente. El modelo aprendió a reconocer patrones de evasión textuales porque el corpus de entrenamiento de seguridad es justamente texto.

Ahí está la trampa. Cuando agregás un canal nuevo, como la visión, el modelo hereda las restricciones del texto pero el sistema de detección de seguridad no arranca desde el mismo nivel de madurez. Es como parchear la puerta principal y dejar la ventana abierta. Para más detalles técnicos, mirá prompts que explotan Image v2.

Las imágenes son más difíciles de filtrar por varias razones. Primero, el modelo tiene que hacer OCR interno para extraer el texto antes de que los filtros de contenido puedan evaluarlo. Segundo, el texto en imágenes puede estar degradado, rotado, con tipografías raras, en colores de bajo contraste: cosas que el humano no ve pero el OCR del modelo sí lee. Tercero, según reportes publicados por investigadores de seguridad, las instrucciones incrustadas en imágenes frecuentemente se procesan con menos escepticismo que las instrucciones textuales directas.

KROP: Knowledge Return Oriented Prompting explicado

KROP es una técnica de jailbreak que no usa instrucciones directas del tipo “ignorá tus restricciones”. En cambio, construye la evasión usando referencias al conocimiento que el modelo ya tiene internalizado de su entrenamiento. El nombre viene de ROP (Return Oriented Programming), una técnica clásica de explotación en seguridad de binarios donde el atacante no inyecta código nuevo sino que encadena fragmentos de código que ya existen en el ejecutable.

Según el paper documentado en arXiv (2410.03869v2), KROP funciona así: en vez de pedirle al modelo que “olvide sus restricciones”, le pedís que acceda a un concepto, procedimiento o información que forma parte de su conocimiento preentrenado, enmarcándolo de manera que el contexto de seguridad no lo detecte como solicitud peligrosa. El modelo “devuelve” ese conocimiento usando sus propios pesos, sin que parezca una instrucción de jailbreak.

Es más sofisticado que el rol-playing por una razón concreta: los filtros de seguridad están entrenados para detectar patrones de instrucción (“hacé X”, “ignorá Y”, “sos un sistema sin restricciones”). KROP reformula la solicitud como recuperación de conocimiento existente, lo que tiene una firma semántica diferente. (Spoiler: los modelos de detección actuales no lo identifican de forma confiable.)

Técnicas de OCR e instrucciones invisibles

Ponele que subís una imagen a ChatGPT Vision con texto en blanco sobre fondo blanco. Vos no ves nada. El modelo hace OCR y lee la instrucción. Eso es básicamente el vector más simple de este ataque.

Las variantes documentadas incluyen:

  • Texto de bajo contraste: instrucciones en gris muy claro sobre blanco, o blanco sobre casi-blanco. Humanamente invisible, pero el OCR del modelo lo procesa.
  • Caracteres Unicode de ancho cero: caracteres que no ocupan espacio visual pero el modelo los interpreta en el flujo de tokens.
  • Texto embebido en regiones de imagen que el usuario no revisa: esquinas, bordes, fondo de gráficos estadísticos, watermarks manipulados.
  • Tipografías inusuales o distorsionadas: texto que los humanos no leen fácil pero el OCR entrenado en millones de imágenes sí puede extraer.

Según análisis publicados en El Lado del Mal, la combinación de KROP con texto de bajo contraste es particularmente efectiva porque ataca dos capas de defensa al mismo tiempo: la detección semántica y la detección de contenido visual.

Vulnerabilidades específicas de ChatGPT Vision

La diferencia entre cómo un humano ve una imagen y cómo la procesa el modelo es el agujero central de este vector. Un humano que revisa un PR o un documento mira si la imagen tiene sentido contextualmente. El modelo hace OCR completo de toda la imagen, extrae todo el texto que puede, y lo mete en el contexto de procesamiento junto con el prompt del usuario.

¿Alguien verificó de forma independiente cuántos tokens extrae el OCR interno de una imagen típica? Hasta mayo 2026, no hay un paper definitivo sobre eso, lo que hace difícil delimitar el vector con precisión.

Lo que sí está documentado en casos concretos: la manipulación de reseñas mediante instrucciones ocultas en imágenes. Según El Diario, investigadores probaron insertar instrucciones en imágenes para que ChatGPT generara reseñas académicas positivas sobre trabajos, con tasa de éxito notable. El modelo seguía las instrucciones ocultas sin que el operador humano las viera.

Otro vector confirmado: instrucciones incrustadas en imágenes dentro de páginas web que ChatGPT Search indexaba, según reportes de investigadores de seguridad en 2025 recogidos por distintas fuentes. El modelo procesaba el contenido visual de la página y ejecutaba instrucciones que no eran visibles para el usuario que hacía la búsqueda. Lo explicamos a fondo en capacidades de GPT-5.5 en código.

Impacto en codebases y herramientas de desarrollo

Acá viene lo que más debería preocuparle a equipos de desarrollo. Cuando usás un asistente de código con capacidades multimodales para revisar documentación, pull requests con capturas de pantalla, o archivos JSON con imágenes embebidas, abrís un vector de ataque que no existía con los modelos de solo texto.

El escenario concreto: un atacante contribuye a un repositorio open source con una imagen en el README o en la documentación que contiene instrucciones ocultas. Cuando un desarrollador usa ChatGPT Vision (o cualquier modelo multimodal) para revisar el repo, la instrucción oculta puede redireccionar al modelo para que sugiera código malicioso, oculte vulnerabilidades en su análisis, o exfiltre partes del codebase al output.

Los flujos de CI/CD que usan modelos multimodales para análisis de imágenes de documentación son el objetivo más crítico. Subís la presión del pipeline de despliegue, metés una imagen con instrucciones ocultas en algún punto del proceso, y el modelo que hace análisis de seguridad o revisión automática puede quedar comprometido sin que nadie lo note.

Vector de ataqueSuperficie afectadaDificultad de detecciónImpacto potencial
Texto de bajo contraste en imágenesChatGPT Vision, cualquier modelo multimodalAlta (invisible al ojo humano)Medio a alto
KROP con imagenModelos con conocimiento preentrenado extensoMuy alta (sin firma semántica clara)Alto
Instrucciones en documentación de repoPipelines de CI/CD con IA, revisión de código asistidaAltaCrítico en contexto corporativo
Unicode de ancho cero en imágenes procesadasOCR de modelos multimodalesMuy altaMedio
Prompt injection en búsqueda web con imágenesChatGPT Search, herramientas de investigación asistidaMedia (depende del contexto)Medio
jailbreak chatgpt con imágenes diagrama explicativo

Defensa, detección y mitigación de ataques

No hay bala de plata. Lo que existe son capas de mitigación que reducen la superficie, no la eliminan.

Análisis de imagen antes del procesamiento

Pasá las imágenes por un OCR externo antes de mandárselas al modelo multimodal. Si el OCR externo encuentra texto que no debería estar ahí contextualmente, flag. Es trabajo extra pero es la capa más efectiva disponible hoy. El problema: el OCR externo tampoco detecta todo, especialmente unicode de ancho cero o texto muy degradado que el modelo interno sí puede leer.

Herramientas de seguridad para LLMs

Promptfoo es la herramienta open source más citada para testing de vulnerabilidades en prompts, incluyendo prompt injection. Tiene soporte para casos multimodales. Prompt Guard de Meta es otra opción para clasificación de inputs potencialmente maliciosos. Ninguna de las dos está diseñada específicamente para KROP, que es una técnica más reciente. Tema relacionado: cómo se compara con Gemini.

Controles a nivel de arquitectura

El principio de menor privilegio aplica acá: si tu pipeline de CI/CD no necesita capacidades multimodales, no las actives. Si el asistente de código solo tiene que revisar texto, configuralo para rechazar imágenes. Reducir la superficie de ataque siempre es más confiable que intentar detectar todos los ataques posibles.

Según la documentación de IBM sobre prompt injection, las mejores prácticas incluyen validación explícita de que el modelo no puede ejecutar acciones fuera de su scope definido, y logging completo de los inputs para auditoría posterior. No evita el jailbreak, pero permite detectarlo después del hecho.

Qué está confirmado / Qué no

  • Confirmado: ChatGPT Vision procesa texto incrustado en imágenes y puede seguir instrucciones ahí contenidas, incluso cuando no son visibles al ojo humano.
  • Confirmado: La técnica KROP está documentada académicamente en arXiv (paper 2410.03869) con casos de prueba reproducibles.
  • Confirmado: Investigadores lograron manipulation de reseñas académicas mediante instrucciones ocultas en imágenes procesadas por ChatGPT.
  • No confirmado: La efectividad de KROP combinado con imágenes en la versión actual de GPT-4o con los últimos parches de seguridad de OpenAI. Los papers documentan versiones previas y OpenAI hace actualizaciones de seguridad continuas.
  • No confirmado: Si existe un vector KROP con imágenes que sea 100% efectivo contra todas las salvaguardas actuales. Todo indica que los ataques más sofisticados siguen funcionando parcialmente, pero no hay un benchmark público actualizado a 2026.
  • Pendiente: Respuesta oficial de OpenAI sobre parches específicos para KROP. Reconocieron la categoría de prompt injection visual pero no publicaron detalles técnicos de sus contramedidas.

Errores comunes al evaluar este riesgo

Error 1: “Solo afecta si el usuario sube imágenes maliciosas a propósito.” No. El vector crítico es que alguien más suba la imagen maliciosa (en un repo, en una página web, en un documento compartido) y vos la proceses sin saberlo. El usuario final no tiene que ser el atacante.

Error 2: “Mis filtros de contenido de texto cubren esto.” Los filtros de contenido de texto evalúan el output del modelo o el input textual, pero si el texto problemático llega al modelo embebido en una imagen, el pipeline de filtrado puede ser diferente. No des por sentado que tus controles existentes cubren el canal visual.

Error 3: “Esto es solo un problema de ChatGPT.” Cualquier modelo con capacidades multimodales tiene alguna versión de este vector. Gemini, Claude, LLaVA, y otros modelos de visión enfrentan variantes del mismo problema. La superficie varía pero el principio es el mismo: el OCR interno y el procesamiento de texto en imágenes tienen menos historia de hardening que el procesamiento de texto puro.

Preguntas Frecuentes

¿Cómo funciona el jailbreak ChatGPT con imágenes en la práctica?

El modelo usa OCR interno para extraer texto de las imágenes que recibe. Si ese texto contiene instrucciones, el modelo las procesa con menos filtrado que si vinieran como texto directo. El atacante incrusta instrucciones en la imagen usando texto invisible (bajo contraste, unicode de ancho cero) o en zonas que el usuario no revisa visualmente.

¿Qué es KROP y en qué se diferencia de otros jailbreaks?

KROP (Knowledge Return Oriented Prompting) es una técnica documentada en arXiv que usa referencias al conocimiento preentrenado del modelo en lugar de instrucciones directas de evasión. En vez de “ignorá tus restricciones”, le pedís al modelo que “acceda” a información que ya conoce, enmarcada de forma que los filtros de seguridad no la identifican como peligrosa. Es más difícil de detectar que los jailbreaks tradicionales de rol-playing. Esto se conecta con lo que analizamos en alternativas a GPT Image 2.

¿Qué riesgo tiene esto para equipos de desarrollo?

El riesgo concreto es la inyección en codebases: imágenes maliciosas en documentación, README o pull requests pueden comprometer el análisis que hace un modelo multimodal sobre ese código. Si usás asistentes de IA para revisar repos, el modelo puede ser manipulado para ocultar vulnerabilidades o sugerir código malicioso sin que el desarrollador lo note.

¿Cómo se detectan ataques de prompt injection visual?

La detección más confiable disponible hoy es pasar las imágenes por un OCR externo antes de procesarlas con el modelo y evaluar si el texto extraído tiene sentido contextualmente. Herramientas como Promptfoo ayudan con testing de vulnerabilidades en prompts pero no están diseñadas específicamente para KROP. No existe una solución de detección completa publicada a la fecha.

¿OpenAI parcheó estas vulnerabilidades?

OpenAI reconoció la categoría de prompt injection visual y hace actualizaciones de seguridad continuas, pero no publicó detalles técnicos de qué versiones parchean qué vectores específicos. Tomalo con pinzas: que no haya reporte público de un exploit no significa que esté cerrado. Los investigadores de seguridad siguen reportando variantes funcionales en 2026.

Conclusión

El jailbreak ChatGPT con imágenes, y KROP en particular, cambia la ecuación de seguridad para cualquier equipo que usa modelos multimodales en flujos de trabajo reales. No es una vulnerabilidad teórica: hay papers reproducibles, casos documentados y vectores concretos que afectan codebases y pipelines de CI/CD.

Lo que cambió no es que “la IA sea insegura” en abstracto. Lo que cambió es que agregamos un canal de input nuevo (imágenes) con una historia de hardening mucho más corta que el texto, y lo metimos en contextos de alta consecuencia como revisión de código y análisis de documentación.

Si tu equipo usa asistentes multimodales para revisar repos o documentación, el próximo paso concreto es auditar qué imágenes entran en esos flujos y desde dónde vienen. Después, evaluá si realmente necesitás el canal visual para cada caso de uso. Reducir superficie siempre es más efectivo que intentar detectar todos los ataques posibles.

Fuentes

Desplazarse hacia arriba