Phase 18 - Lesson 12

Red-Teaming: PAIR y Ataques Automatizados

Chao, Robey, Dobriban, Hassani, Pappas, Wong (NeurIPS 2023, arXiv:2310.08419). PAIR — Prompt Automatic Iterative Refinement — es el jailbreak automatizado de caja negra canónico. Un LLM atacante con un prompt de sistema de red-team propone de manera iterativa jailbreaks para un LLM objetivo, acumulando intentos y respuestas en su propio historial de chat como feedback en contexto. PAIR normalmente tiene éxito en menos de 20 consultas, lo que resulta órdenes de magnitud más eficiente que GCG (búsqueda de gradiente a nivel de token de Zou et al.) y sin requerir acceso de caja blanca. PAIR es ahora una línea base estándar en JailbreakBench (arXiv:2404.01318) y HarmBench, junto con GCG, AutoDAN, TAP y Prompt Adversario Persuasivo (Persuasive Adversarial Prompt).

Tipo: Construir Lenguajes: Python (stdlib, loop PAIR simulado contra un objetivo de juguete) Requisitos previos: Fase 18 · 01 (seguimiento de instrucciones), Fase 14 (ingeniería de agentes) Tiempo: ~75 minutos

Objetivos de Aprendizaje

  • Describir el algoritmo PAIR: prompt del sistema del atacante, refinamiento iterativo, feedback en contexto.
  • Explicar por qué PAIR es estrictamente más eficiente que GCG cuando el objetivo es de caja negra.
  • Nombrar otras cuatro líneas base de ataques automatizados (GCG, AutoDAN, TAP, PAP) y mencionar una característica distintiva de cada una.
  • Describir los protocolos de evaluación de JailbreakBench y HarmBench y qué significa la "tasa de éxito del ataque" en cada uno.

El Problema

El red-teaming solía ser una actividad manual. Un pequeño número de evaluadores expertos construían prompts adversarios y realizaban un seguimiento de cuáles funcionaban. Esto no escala: la tasa de éxito del ataque necesita una muestra estadística, y el objetivo es un blanco móvil con cada lanzamiento de modelo. PAIR operacionaliza el red-teaming como un problema de optimización con un objetivo de caja negra.

El Concepto

Algoritmo PAIR

Entradas:

  • LLM Objetivo T (el modelo que estamos atacando).
  • LLM Juez J (califica si una respuesta es un jailbreak).
  • LLM Atacante A (el optimizador del red-team).
  • String objetivo G: "responder con [instrucción dañina]".
  • Presupuesto K (normalmente 20 consultas).

Loop, para k de 1..K:

  1. Se le presenta a A el objetivo G y el historial de pares (prompt, respuesta) hasta el momento.
  2. A emite un nuevo prompt p_k.
  3. Se envía p_k a T; se recibe la respuesta r_k.
  4. J califica (p_k, r_k) con respecto al objetivo.
  5. Si la calificación >= umbral, se detiene: jailbreak encontrado.
  6. De lo contrario, se añade (p_k, r_k) al historial de A; continuar.

Resultado empírico (NeurIPS 2023): tasa de éxito del ataque >50% contra GPT-3.5-turbo, Llama-2-7B-chat; promedio de consultas para el éxito en el rango de 10 a 20.

Por qué PAIR es eficiente

GCG (Zou et al. 2023) busca sufijos de tokens adversarios mediante gradiente; requiere acceso de caja blanca al modelo y produce sufijos ilegibles. PAIR es de caja negra y genera ataques en lenguaje natural que se pueden transferir entre modelos. El feedback en contexto de PAIR permite al atacante aprender de cada rechazo; GCG no tiene equivalente (cada nueva actualización de token tiene que redescubrir el progreso anterior).

Ataques automatizados relacionados

  • GCG (Zou et al. 2023, arXiv:2307.15043). Búsqueda de gradiente a nivel de token para sufijos adversarios. Caja blanca, transferible, genera cadenas ilegibles.
  • AutoDAN (Liu et al. 2023). Búsqueda evolutiva sobre prompts, guiada por un objetivo hierárquico.
  • TAP (Mehrotra et al. 2024). Árbol de ataques con poda (tree-of-attacks with pruning): ramifica múltiples ejecuciones al estilo PAIR.
  • PAP (Zeng et al. 2024). Prompts Adversarios Persuasivos (Persuasive Adversarial Prompts): codifica técnicas de persuasión humana como plantillas de prompt.

JailbreakBench y HarmBench

Ambos (2024) estandarizan la evaluación:

  • JailbreakBench (arXiv:2404.01318). 100 comportamientos dañinos clasificados en 10 categorías de políticas de OpenAI. Tasa de éxito del ataque (ASR) como métrica principal. Requiere un juez (GPT-4-turbo, Llama Guard o StrongREJECT).
  • HarmBench (Mazeika et al. 2024). 510 comportamientos distribuidos en 7 categorías, con pruebas de daño semántico y funcional. Compara 18 ataques contra 33 modelos.

La ASR generalmente se reporta para un presupuesto fijo de consultas. La comparación de ataques requiere presupuestos equivalentes; una ASR del 90% con 200 consultas no es comparable con una ASR del 85% con 20.

Por qué es importante para los despliegues en 2026

Todos los laboratorios de frontera ejecutan actualmente PAIR y TAP contra sus modelos de producción antes de su lanzamiento. Las trayectorias de ASR aparecen en las tarjetas de modelo (model cards) (Lección 26) y en los apéndices de casos de seguridad (Lección 18). El ataque no es algo exótico: es infraestructura estándar.

Dónde encaja esto en la Fase 18

La Lección 12 es la base de los ataques automatizados. La Lección 13 (Jailbreak de Muchas Intentonas / Many-Shot Jailbreaking) es una explotación de longitud complementaria. La Lección 14 (ASCII Art / Visual) es un ataque de codificación. La Lección 15 (Inyección Indirecta de Prompts) es la superficie de ataque en producción de 2026. La Lección 16 cubre las herramientas de defensa equivalentes (Llama Guard, Garak, PyRIT).

Úsalo

code/main.py construye un loop PAIR de juguete. El objetivo es un clasificador simulado que rechaza prompts dañinos "obvios" (filtro de palabras clave). El atacante es un refinador basado en reglas que intenta paráfrasis, encarnación de roles (roleplay) y codificación. El juez califica la respuesta. Verás cómo el atacante tiene éxito en unas ~5 a 15 iteraciones contra el filtro de palabras clave y falla contra el filtro semántico.

Envíalo

Esta lección produce outputs/skill-attack-audit.md. Dado el informe de una evaluación de red-team, audita: qué ataques se ejecutaron (PAIR, GCG, TAP, AutoDAN, PAP), con qué presupuesto cada uno, con qué juez y sobre qué conjunto de comportamientos dañinos (JailbreakBench, HarmBench, interno).

Ejercicios

  1. Ejecuta code/main.py. Mide el promedio de consultas para el éxito en cada una de las tres estrategias del atacante integradas. Explica qué supuesto de defensa del objetivo explota cada una.

  2. Implementa una cuarta estrategia de atacante (por ejemplo, traducción a otro idioma, codificación base64). Reporta el nuevo promedio de consultas para el éxito contra el objetivo con filtro de palabras clave y el objetivo con filtro semántico.

  3. Lee la Figura 5 de Chao et al. 2023 (comparación PAIR vs. GCG). Describe dos escenarios donde se prefiera GCG a pesar de la ventaja de eficiencia de PAIR.

  4. JailbreakBench reporta la ASR en relación con un conjunto de objetivos fijo. Diseña una métrica adicional que mida la diversidad del ataque (varianza en prompts exitosos). Explica por qué la diversidad es importante para evaluar las defensas.

  5. TAP (Mehrotra 2024) extiende PAIR con ramificación + poda. Esboza una extensión de tipo TAP para code/main.py y describe el equilibrio entre el costo computacional y la tasa de éxito.

Términos clave

Término Qué dice la gente Qué significa realmente
PAIR "jailbreak automatizado" Prompt Automatic Iterative Refinement; bucle de LLM atacante + LLM juez
GCG "jailbreak por gradiente" Búsqueda de gradiente a nivel de token en caja blanca para sufijos adversarios
Tasa de éxito del ataque (ASR) "% de jailbreaks en k consultas" Métrica principal; debe reportarse junto con el presupuesto de consultas y la identidad del juez
LLM Juez "el calificador" LLM que evalúa si una respuesta satisface el objetivo dañino
JailbreakBench "la evaluación" Conjunto estandarizado de comportamientos dañinos con categorías etiquetadas
HarmBench "el benchmark general" 510 comportamientos, pruebas de daño funcional y semántico
TAP "árbol de ataques" PAIR con ramificación + poda; mejor ASR con mayor coste computacional

Lectura adicional

0 lifetime access. Curriculum based on AI Engineering from Scratch by Rohit Ghumare (MIT, used under attribution).