Phase 18 - Lesson 14
Arte ASCII y Jailbreaks Visuales
Jiang, Xu, Niu, Xiang, Ramasubramanian, Li, Poovendran, "ArtPrompt: ASCII Art-based Jailbreak Attacks against Aligned LLMs" (ACL 2024, arXiv:2402.11753). Mascare los tokens relevantes para la seguridad en una solicitud dañina, reemplácelos con representaciones de arte ASCII de las mismas letras y envíe el prompt camuflado. GPT-3.5, GPT-4, Gemini, Claude y Llama-2 fallan en reconocer tokens de arte ASCII de forma robusta. El ataque evade los filtros de perplejidad (PPL), las defensas de paráfrasis y la retokenización. Relacionado: el benchmark ViTC mide el reconocimiento de prompts visuales no semánticos; StructuralSleight se generaliza a Estructuras Codificadas en Texto Poco Comunes (trees, graphs, nested JSON) como una familia de ataques de codificación.
Tipo: Build Idiomas: Python (stdlib, ArtPrompt token-masking harness) Prerrequisitos: Phase 18 · 12 (PAIR), Phase 18 · 13 (MSJ) Tiempo: ~60 minutos
Objetivos de Aprendizaje
- Describir el ataque ArtPrompt: paso de identificación de palabras, sustitución por arte ASCII, prompt camuflado final.
- Explicar por qué las defensas estándar (PPL, Paráfrasis, Retokenización) fallan con ArtPrompt.
- Definir ViTC y describir qué mide.
- Describir StructuralSleight como una generalización a Esturas Codificadas en Texto Poco Comunes arbitrarias.
El Problema
Los ataques mediante paráfrasis y juego de rol (Lección 12) y mediante contexto largo (Lección 13) operan en el patrón a nivel de texto. ArtPrompt opera a nivel de reconocimiento: el modelo no analiza el token prohibido. Analiza una imagen representada en caracteres. El filtro de seguridad ve puntuación inofensiva. El modelo ve una palabra.
El Concepto
ArtPrompt, dos pasos
Paso 1. Identificación de Palabras. Dada una solicitud dañina, el atacante utiliza un LLM para identificar las palabras relevantes para la seguridad (por ejemplo, "bomb" en "how to make a bomb").
Paso 2. Generación del Prompt Camuflado. Reemplazar cada palabra identificada con su representación en arte ASCII (un bloque de caracteres de 7x5 o 7x7 que forma la forma de la letra). El modelo recibe una cuadrícula de puntuación y espacios que un modelo suficientemente capaz puede reconocer como la palabra; un filtro de seguridad solo ve la cuadrícula.
Resultado: GPT-4, Gemini, Claude, Llama-2 y GPT-3.5 fallan. Tasa de éxito del ataque superior al 75% en su subconjunto de benchmark.
Por qué fallan las defensas estándar
- PPL (filtro de perplejidad). El arte ASCII tiene una alta perplejidad, pero también la tiene cualquier entrada nueva. Las opciones de umbral que bloquean ArtPrompt también bloquean la entrada estructurada legítima.
- Paráfrasis. Parafrasear el prompt destruye el arte ASCII. En la práctica, los LLM de paráfrasis a menudo preservan o reconstruyen el arte.
- Retokenización. Dividir los tokens de manera diferente no cambia el hecho de que la visión del modelo está reconociendo formas de letras.
El problema subyacente es que los filtros de seguridad son a nivel de token o semántico; ArtPrompt opera a nivel de reconocimiento visual.
Benchmark ViTC
Reconocimiento de prompts visuales no semánticos. Mide la capacidad del modelo para leer arte ASCII, wingdings y otros contenidos visuales no semánticos de texto. La efectividad de ArtPrompt se correlaciona con la precisión de ViTC: cuanto mejor lee el modelo el texto visual, mejor funciona ArtPrompt en él. Este es un compromiso entre capacidad y seguridad.
StructuralSleight
Generaliza ArtPrompt: Estructuras Codificadas en Texto Poco Comunes (UTES - Uncommon Text-Encoded Structures). Árboles, grafos, JSON anidado, CSV en JSON, bloques de código estilo diff. Si una estructura es poco común en los datos de entrenamiento de seguridad pero analizable por el modelo, puede ocultar contenido dañino.
La implicación para la defensa: la seguridad debe generalizarse a través de las representaciones estructuradas que el modelo puede analizar. El conjunto es grande y está en crecimiento.
Análogo de modalidad de imagen
Los LLM visuales (GPT-5.2, Gemini 3 Pro, Claude Opus 4.5, Grok 4.1) amplían la superficie de ataque. Los ataques estilo ArtPrompt con imágenes reales son más fuertes que los análogos de arte ASCII porque los codificadores de imágenes producen una señal más rica.
Dónde encaja esto en la Lección 18
Las Lecciones 12 a 14 describen tres vectores de ataque ortogonales: refinamiento iterativo (PAIR), longitud del contexto (MSJ) y codificación (ArtPrompt/StructuralSleight). La Lección 15 cambia de ataques centrados en el modelo a ataques en el límite del sistema (inyección indirecta de prompts). La Lección 16 describe la respuesta de las herramientas de defensa.
Práctica
code/main.py construye un ArtPrompt de juguete. Puede camuflar palabras específicas en una consulta dañina con glifos de arte ASCII, verificar que la cadena camuflada pase un filtro de palabras clave y (opcionalmente) decodificar la cadena camuflada de vuelta usando un reconocedor simple.
Entregue
Esta lección produce outputs/skill-encoding-audit.md. Dado un informe de defensa contra jailbreak, enumera las familias de ataques de codificación cubiertas (arte ASCII, base64, leet-speak, homóglifos UTF-8, UTES) y la capa de defensa que detecta cada una.
Ejercicios
Ejecute
code/main.py. Verifique que la cadena camuflada pase un filtro simple de palabras clave. Informe el cambio a nivel de carácter requerido.Implemente una segunda codificación: base64 para la misma palabra objetivo. Compare la tasa de evasión del filtro con la de ArtPrompt y la dificultad de recuperación.
Lea Jiang et al. 2024 Sección 4.3 (resultados de cinco modelos). Proponga una razón por la cual la resistencia de Claude a ArtPrompt es mayor que la de Gemini en el mismo benchmark.
Diseñe una defensa previa a la generación que detecte regiones con forma de arte ASCII en el prompt. Mida la tasa de falsos positivos en código legítimo, tablas y notación matemática.
StructuralSleight enumera 10 estructuras de codificación. Esboce una defensa generalizada que maneje las 10 y estime el costo de cómputo por prompt defendido.
Términos Clave
| Término | Lo que la gente dice | Lo que realmente significa |
|---|---|---|
| ArtPrompt | "el ataque de arte ASCII" | Jailbreak de dos pasos que enmascara palabras de seguridad con representaciones de arte ASCII |
| Camuflaje | "ocultar la palabra" | Reemplazar un token prohibido con una representación visual que el modelo lee pero el filtro no |
| UTES | "estructura poco común" | Estructura Codificada en Texto Poco Común (Uncommon Text-Encoded Structure) — árbol, grafo, JSON anidado, etc., utilizada para contrabandear contenido |
| ViTC | "capacidad de texto visual" | Benchmark para la capacidad del modelo para leer codificación visual no semántica |
| Filtro de perplejidad | "defensa PPL" | Rechazar prompts con alta perplejidad; falla porque las entradas estructuradas legítimas también puntúan alto |
| Retokenización | "defensa de cambio de tokenizador" | Preprocesar el prompt con un tokenizador diferente; falla porque el reconocimiento es visual |
| Homóglifo | "caracteres similares" | Caracteres Unicode que se ven idénticos a las letras latinas; evaden las comprobaciones de subcadenas |
Lecturas Adicionales
- Jiang et al. — ArtPrompt (ACL 2024, arXiv:2402.11753) — el artículo sobre jailbreak con arte ASCII
- Li et al. — StructuralSleight (arXiv:2406.08754) — generalización UTES
- Chao et al. — PAIR (Lección 12, arXiv:2310.08419) — ataque iterativo complementario
- Anil et al. — Many-shot Jailbreaking (Lección 13) — ataque de longitud complementario