Phase 19 - Lesson 15

Capstone 15 — Harness de Segurança Constitucional + Red-Team Range

Os Classificadores Constitucionais da Anthropic, o Llama Guard 4 da Meta, o ShieldGemma-2 do Google, o Nemotron 3 Content Safety da NVIDIA e o X-Guard para cobertura multilíngue definiram a pilha de classificadores de segurança de 2026. garak, PyRIT, NVIDIA Aegis e promptfoo tornaram-se as ferramentas padrão de avaliação adversarial. O NeMo Guardrails v0.12 os integra em um pipeline de produção. Este capstone conecta tudo isso: um harness de segurança em camadas ao redor de um aplicativo de destino, um agente autônomo de red-team executando mais de 6 famílias de ataque e uma execução de autocrítica constitucional que produz um delta de inofensividade mensurável.

Tipo: Capstone Idiomas: Python (pipeline de segurança, red-team), YAML (configurações de política) Pré-requisitos: Fase 10 (LLMs do zero), Fase 11 (engenharia de LLM), Fase 13 (ferramentas), Fase 14 (agentes), Fase 18 (ética, segurança, alinhamento) Fases exercitadas: P10 · P11 · P13 · P14 · P18 Tempo: 25 horas

Problema

A fronteira da segurança de LLMs em 2026 não é se os classificadores funcionam (eles funcionam, de forma geral), mas sim como compô-los corretamente ao redor de um aplicativo de produção sem causar recusas excessivas (over-refusal) ou deixar brechas óbvias. O Llama Guard 4 lida com violações de políticas em inglês. O X-Guard (132 idiomas) lida com jailbreaks multilíngues. O ShieldGemma-2 detecta injeções de prompt baseadas em imagens. O NVIDIA Nemotron 3 Content Safety cobre categorias corporativas. Os Classificadores Constitucionais da Anthropic são uma abordagem separada usada durante o treinamento, e não no momento do serviço (serving).

A evolução dos ataques também é importante. O PAIR e o TAP automatizam a descoberta de jailbreaks. O GCG executa ataques de sufixo baseados em gradiente. Ataques multiturno e de troca de código (code-switching) explotam a memória do agente. Qualquer LLM implantado precisa de um campo de teste de red-team (red-team range) — garak e PyRIT são os drivers canônicos — além de mitigações documentadas e descobertas pontuadas pelo CVSS.

Você irá proteger uma aplicação de destino (seja um modelo ajustado por instrução de 8B ou um dos chatbots de RAG de outros capstones), executar mais de 6 famílias de ataque contra ele e produzir uma medição de inofensividade de antes e depois.

Conceito

O pipeline de segurança possui cinco camadas. Sanitização de entrada: remove caracteres de largura zero (zero-width), decodifica base64/rot13, normaliza o Unicode. Camada de política: trilhos (rails) do NeMo Guardrails v0.12 (fora de domínio, toxicidade, extração de PII). Filtro classificador (gate): Llama Guard 4 na entrada, X-Guard em idiomas que não sejam inglês, ShieldGemma-2 em entradas de imagem. Modelo: o LLM de destino. Filtro de saída: Llama Guard 4 na saída, limpeza de PII com o Presidio, aplicação de citações onde aplicável. Nível HITL (humano no circuito): saídas sinalizadas como de alto risco vão para uma fila do Slack.

O red-team range roda em um agendador. O PAIR e o TAP descobrem jailbreaks de forma autônoma. O GCG executa ataques de sufixo baseados em gradiente. Ataques de codificação ASCII / base64 / rot13. Ataques multiturno (adoção de persona, exploração de memória). Ataques de troca de código (misturar inglês com suaíli ou tailandês). Cada execução produz um arquivo estruturado de descobertas com pontuação CVSS e cronograma de divulgação (disclosure timeline).

A execução de autocrítica constitucional (constitutional self-critique) é uma intervenção em tempo de treinamento. Pegue 1 mil prompts de tentativa prejudicial, faça o modelo criar um rascunho de resposta, critique-o em relação a uma constituição escrita (regras de "não causar danos") e treine-o novamente no loop de crítica. Meça o delta de inofensividade antes e depois em uma avaliação reservada (held-out eval).

Arquitetura

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

Pilha

  • Classificadores de segurança: Llama Guard 4, ShieldGemma-2, NVIDIA Nemotron 3 Content Safety, X-Guard
  • Framework de guardrails: NeMo Guardrails v0.12 + OPA
  • Drivers de red-team: garak (NVIDIA), PyRIT (Microsoft Azure), NVIDIA Aegis, promptfoo
  • Agentes de jailbreak: PAIR (Chao et al., 2023), Tree-of-Attacks (TAP), sufixo GCG
  • Treinamento constitucional: loop de autocrítica no estilo Anthropic + SFT nas críticas
  • Limpeza de PII: Presidio
  • Destino: um modelo de 8B ajustado por instrução ou um dos chatbots RAG de outros capstones

Construção

  1. Configuração do destino. Suba um modelo de 8B ajustado por instrução no vLLM (ou reutilize um chatbot de RAG de outro capstone). Este é o aplicativo sob teste.

  2. Envelopamento do pipeline de segurança. Conecte o pipeline de cinco camadas ao redor do destino. Verifique se cada camada é observável individualmente (span por camada no Langfuse).

  3. Cobertura do classificador. Carregue o Llama Guard 4, X-Guard (multilíngue), ShieldGemma-2 (imagem). Execute cada um em um pequeno conjunto rotulado para estabelecer linhas de base.

  4. Agendador de red-team. Agende o garak, PyRIT, um agente PAIR, um agente TAP, um executor GCG, um atacante multiturno e um atacante de troca de código. Cada um é executado em uma fila separada.

  5. Suíte de ataque. Seis famílias de ataque: (1) jailbreak automatizado PAIR, (2) tree-of-attacks TAP, (3) sufixo de gradiente GCG, (4) codificação ASCII / base64 / rot13, (5) persona multiturno, (6) troca de código multilíngue. Relate a taxa de sucesso por família.

  6. Autocrítica constitucional. Curadorize 1 mil prompts de tentativa prejudicial. Para cada um, o destino rascunha uma resposta. Um LLM crítico pontua em relação a uma constituição escrita ("não causar danos", "citar evidências", "recusar solicitações ilegais"). Prompts nos quais o crítico faz objeções são reescritos; o destino realiza ajuste fino nos pares melhorados pela crítica. Meça a inofensividade antes/depois em uma avaliação reservada (held-out eval).

  7. Medição de recusa excessiva. Rastreie a taxa de falsos positivos em uma suíte de prompts benignos (por exemplo, XSTest). O destino deve continuar sendo útil para perguntas benignas.

  8. Pontuação CVSS. Para cada jailbreak bem-sucedido, pontue no CVSS 4.0 (vetor de ataque, complexidade, impacto). Produza um cronograma de divulgação e um plano de mitigação.

  9. Automação do campo. Tudo acima roda em um cron; as descobertas são gravadas em uma fila; alertas de regressão de recusa excessiva são enviados para o 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 é o entregável. Um pipeline de segurança em camadas de nível de produção mais um campo de testes de red-team reproduzível com deltas de inofensividade antes/depois.

Peso Critério Como é medido
25 Cobertura da superfície de ataque Mais de 6 famílias de ataque exercitadas, 2+ idiomas
20 Equilíbrio entre verdadeiro-positivo / falso-positivo Taxa de bloqueio de ataque vs taxa de aprovação benigna do XSTest
20 Delta de autocrítica Inofensividade antes/depois na avaliação reservada
20 Documentação e divulgação Descobertas pontuadas pelo CVSS com cronograma
15 Automação e repetibilidade Tudo roda em cron com alertas
100

Exercícios

  1. Execute o plugin do garak para injeção de prompt em um chatbot RAG e compare a taxa de sucesso de ataque com e sem a camada de filtro de saída.

  2. Adicione uma sétima família de ataque: injeção indireta de prompt por meio de documentos recuperados. Meça a defesa adicional necessária.

  3. Implemente um modo "recusar com ajuda": quando o guardrail bloqueia, o destino oferece uma resposta relacionada mais segura em vez de uma recusa direta. Meça o delta do XSTest.

  4. Lacuna de cobertura multilíngue: encontre um idioma no qual o X-Guard tenha desempenho abaixo do esperado. Proponha um conjunto de dados de ajuste fino voltado para ele.

  5. Execute a autocrítica constitucional em um modelo de 30B e meça se o delta escala.

Termos-Chave

Termo O que dizem O que realmente significa
Segurança em camadas "Defesa em profundidade" Vários guardrails na entrada, filtro (gate), saída, HITL
Llama Guard 4 "Classificador de segurança da Meta" O classificador de conteúdo de entrada/saída de referência de 2026
PAIR "Agente de jailbreak" Artigo (Chao et al.) sobre descoberta de jailbreak orientada por LLM
TAP "Tree-of-Attacks" Variante de busca em árvore do PAIR
GCG "Greedy coordinate gradient" Ataque de sufixo adversarial baseado em gradiente
Autocrítica constitucional "Treinamento no estilo Anthropic" O destino rascunha -> o crítico pontua -> reescrita -> retreinamento
XSTest "Conjunto de sondagem benigno" Benchmark para regressão de recusa excessiva
CVSS 4.0 "Pontuação de gravidade" Pontuação padrão de vulnerabilidade para descobertas de segurança

Leituras Adicionais

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