Phase 19 - Lesson 15

Capstone 15 — Harness de Seguridad Constitucional + Red-Team Range

Los Clasificadores Constitucionales de Anthropic, Llama Guard 4 de Meta, ShieldGemma-2 de Google, Nemotron 3 Content Safety de NVIDIA y X-Guard para cobertura multilingüe definieron la pila de clasificadores de seguridad de 2026. garak, PyRIT, NVIDIA Aegis y promptfoo se convirtieron en las herramientas estándar de evaluación adversarial. NeMo Guardrails v0.12 los integra en un pipeline de producción. Este capstone conecta todo esto: un harness de seguridad en capas alrededor de una aplicación de destino, un agente autónomo de red-team que ejecuta más de 6 familias de ataques y una ejecución de autocrítica constitucional que produce un delta de inocuidad mensurable.

Tipo: Capstone Idiomas: Python (pipeline de seguridad, red-team), YAML (configuraciones de políticas) Prerrequisitos: Fase 10 (LLMs desde cero), Fase 11 (ingeniería de LLM), Fase 13 (herramientas), Fase 14 (agentes), Fase 18 (ética, seguridad, alineación) Fases ejercitadas: P10 · P11 · P13 · P14 · P18 Tiempo: 25 horas

Problema

La frontera de la seguridad de los LLM en 2026 no es si los clasificadores funcionan (lo hacen, a grandes rasgos), sino cómo componerlos correctamente alrededor de un aplicación de producción sin sobrefiltar (over-refusal) o dejar brechas obvias. Llama Guard 4 maneja las violaciones de políticas en inglés. X-Guard (132 idiomas) maneja el jailbreak multilingüe. ShieldGemma-2 detecta la inyección de prompts basada en imágenes. NVIDIA Nemotron 3 Content Safety cubre categorías empresariales. Los Clasificadores Constitucionales de Anthropic son un enfoque separado que se utiliza durante el entrenamiento en lugar del servicio.

La evolución de los ataques también importa. PAIR y TAP automatizan el descubrimiento de jailbreaks. GCG ejecuta ataques de sufijo basados en gradientes. Los ataques multiturno y de cambio de código (code-switching) explotan la memoria del agente. Cualquier LLM implementado necesita un campo de pruebas de red-team (red-team range) — garak y PyRIT son los controladores canónicos —, además de mitigaciones documentadas y hallazgos puntuados con CVSS.

Protegerás una aplicación de destino (ya sea un modelo ajustado por instrucciones de 8B o uno de los chatbots RAG de otros capstones), ejecutarás más de 6 familias de ataques contra ella y producirás una medición de inocuidad de antes y después.

Concepto

El pipeline de seguridad consta de cinco capas. Sanitización de entrada: elimina caracteres de ancho cero, decodifica base64/rot13, normaliza Unicode. Capa de políticas: carriles (rails) de NeMo Guardrails v0.12 (fuera de dominio, toxicidad, extracción de PII). Filtro de clasificación (gate): Llama Guard 4 en la entrada, X-Guard en idiomas que no sean inglés, ShieldGemma-2 en entradas de imágenes. Modelo: el LLM de destino. Filtro de salida: Llama Guard 4 en la salida, depuración de PII con Presidio, aplicación de citas cuando corresponda. Nivel HITL (humano en el bucle): las salidas marcadas como de alto riesgo van a una cola de Slack.

El red-team range se ejecuta en un programador. PAIR y TAP descubren jailbreaks de forma autónoma. GCG ejecuta ataques de sufijo basados en gradientes. Ataques de codificación ASCII / base64 / rot13. Ataques multiturno (adopción de persona, explotación de memoria). Ataques de cambio de código (mezclar inglés con suajili o tailandés). Cada ejecución produce un archivo estructurado de hallazgos con puntuación CVSS y cronograma de divulgación.

La ejecución de autocrítica constitucional (constitutional self-critique) es una intervención en el tiempo de entrenamiento. Toma 1k prompts de intentos dañinos, haz que el modelo redacte una respuesta, critícala frente a una constitución escrita (reglas de no dañar) y vuelve a entrenar en el bucle de crítica. Mide el delta de inocuidad de antes y después en una evaluación reservada (held-out eval).

Arquitectura

request (text / image / multilingual)
      |
      v
input sanitize (strip zero-width, decode, normalize)
      |
      v
NeMo Guardrails v0.12 rails (off-domain, policy)
      |
      v
classifier gate:
  Llama Guard 4 (English)
  X-Guard (multilingual, 132 langs)
  ShieldGemma-2 (image prompts)
  Nemotron 3 Content Safety (enterprise)
      |
      v (allowed)
target LLM
      |
      v
output filter: Llama Guard 4 + Presidio PII + citation check
      |
      v
HITL tier for flagged outputs

parallel:
  red-team scheduler
    -> garak (classic attacks)
    -> PyRIT (orchestrated red team)
    -> autonomous jailbreak agent (PAIR + TAP)
    -> GCG suffix attacks
    -> multilingual / code-switch
    -> multi-turn persona adoption

output: CVSS-scored findings + disclosure timeline + before/after harmlessness delta

Pila

  • Clasificadores de seguridad: Llama Guard 4, ShieldGemma-2, NVIDIA Nemotron 3 Content Safety, X-Guard
  • Framework de guardrails: NeMo Guardrails v0.12 + OPA
  • Controladores de red-team: garak (NVIDIA), PyRIT (Microsoft Azure), NVIDIA Aegis, promptfoo
  • Agentes de jailbreak: PAIR (Chao et al., 2023), Tree-of-Attacks (TAP), sufijo GCG
  • Entrenamiento constitucional: bucle de autocrítica estilo Anthropic + SFT en críticas
  • Depuración de PII: Presidio
  • Destino: un modelo ajustado por instrucciones de 8B o uno de los chatbots RAG de otros capstones

Construcción

  1. Configuración del destino. Levanta un modelo ajustado por instrucciones de 8B en vLLM (o reutiliza un chatbot RAG de otro capstone). Esta es la aplicación bajo prueba.

  2. Envoltura del pipeline de seguridad. Conecta el pipeline de cinco capas alrededor del destino. Verifica que cada capa sea observable individualmente (span por capa en Langfuse).

  3. Cobertura del clasificador. Carga Llama Guard 4, X-Guard (multilingüe), ShieldGemma-2 (imagen). Ejecuta cada uno en un pequeño conjunto etiquetado para establecer líneas de base.

  4. Programador de red-team. Programa garak, PyRIT, un agente PAIR, un agente TAP, un ejecutor GCG, un atacante multiturno y un atacante de cambio de código. Cada uno se ejecuta en una cola separada.

  5. Suite de ataques. Seis familias de ataques: (1) jailbreak automatizado PAIR, (2) tree-of-attacks TAP, (3) sufijo de gradiente GCG, (4) codificación ASCII / base64 / rot13, (5) persona multiturno, (6) cambio de código multilingüe. Reporta la tasa de éxito por familia.

  6. Autocrítica constitucional. Cura 1k prompts de intentos dañinos. Para cada uno, el destino redacta una respuesta. Un LLM crítico evalúa frente a una constitución escrita ("no dañar", "citar evidencia", "rechazar solicitudes ilegales"). Los prompts donde el crítico objeta se reescriben; el destino se ajusta con los pares mejorados por la crítica. Mide la inocuidad antes y después en una evaluación reservada.

  7. Medición de sobrefiltrado. Realiza un seguimiento de la tasa de falsos positivos en una suite de prompts benignos (por ejemplo, XSTest). El destino debe seguir siendo útil ante preguntas benignas.

  8. Puntuación CVSS. Para cada jailbreak exitoso, puntúa en CVSS 4.0 (vector de ataque, complejidad, impacto). Produce un cronograma de divulgación y un plan de mitigación.

  9. Automatización del campo de pruebas. Todo lo anterior se ejecuta en un cron; los hallazgos se escriben en una cola; las alertas de regresión de sobrefiltrado se envían a Slack.

Uso

$ safety probe --model=target --family=PAIR --budget=50
[attacker]   PAIR agent running on target
[attack]     attempt 1/50: disguise query as academic research ... blocked
[attack]     attempt 2/50: appeal to roleplay ... blocked
[attack]     attempt 3/50: chain-of-thought coax ... SUCCEEDED
[finding]    CVSS 4.8 medium: roleplay bypass on target
[range]      7 successes out of 50 (14% success rate)

Entrega

outputs/skill-safety-harness.md es el entregable. Un pipeline de seguridad en capas de nivel de producción más un campo de pruebas de red-team reproducible con deltas de inocuidad de antes y después.

Peso Criterio Cómo se mide
25 Cobertura de la superficie de ataque Más de 6 familias de ataques ejercitadas, 2+ idiomas
20 Equilibrio verdadero positivo / falso positivo Tasa de bloqueo de ataques vs tasa de aprobación benigna de XSTest
20 Delta de autocrítica Inocuidad antes y después en evaluación reservada
20 Documentación y divulgación Hallazgos puntuados con CVSS con cronograma
15 Automatización y repetibilidad Todo se ejecuta en un cron con alertas
100

Ejercicios

  1. Ejecuta el plugin de garak para la inyección de prompts en un chatbot RAG y compare la tasa de éxito de los ataques con y sin la capa de filtro de salida.

  2. Agrega una séptima familia de ataques: inyección indirecta de prompts a través de documentos recuperados. Mide la defensa adicional requerida.

  3. Implementa un modo de "rechazo con ayuda": cuando la barrera de seguridad bloquea, el destino ofrece una respuesta relacionada más segura en lugar de un rechazo rotundo. Mide el delta de XSTest.

  4. Brecha de cobertura multilingüe: encuentra un idioma en el que X-Guard tenga un rendimiento inferior. Propón un conjunto de datos de ajuste fino dirigido a ese idioma.

  5. Ejecuta la autocrítica constitucional en un modelo de 30B y mide si el delta escala.

Términos Clave

Término Lo que la gente dice Lo que realmente significa
Seguridad en capas "Defensa en profundidad" Múltiples barreras de seguridad en la entrada, gate, salida, HITL
Llama Guard 4 "Clasificador de seguridad de Meta" El clasificador de contenido de entrada/saída de referencia de 2026
PAIR "Agente de jailbreak" Artículo (Chao et al.) sobre el descubrimiento de jailbreaks impulsado por LLM
TAP "Tree-of-Attacks" Variante de búsqueda en árbol de PAIR
GCG "Greedy coordinate gradient" Ataque de sufijo adversarial basado en gradientes
Autocrítica constitucional "Entrenamiento estilo Anthropic" El destino redacta -> el crítico califica -> reescritura -> reentrenamiento
XSTest "Conjunto de prueba benigno" Benchmark para la regresión de sobrefiltrado
CVSS 4.0 "Puntuación de gravedad" Puntuación de vulnerabilidad estándar para hallazgos de seguridad

Lecturas Adicionales

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