Pular para conteúdo

Capítulo 0.6 — Controle determinístico vs mitigação probabilística

🎯 Objetivo do capítulo

Estabelecer uma das ideias centrais deste livro: controles e mitigações não são a mesma coisa.

🧠 Conceito principal

Categoria Natureza Exemplo O que garante?
Controle determinístico Código executável Validação de schema, RBAC, policy-as-code Comportamento previsível
Política executável Policy-as-code OPA/Rego, Cedar Comportamento previsível
Autorização Serviço de identidade OAuth, OIDC, IAM Comportamento previsível
Validação Schema, contract test Pydantic, JSON Schema Forma, não conteúdo
Observabilidade Tracing, métricas OpenTelemetry, logs Capacidade de investigação
Mitigação Reduz probabilidade Sanitização de entrada Reduz risco, não elimina
Heurística Regra aproximada Detector de prompt injection Reduz risco, não elimina
Prompt Instrução em linguagem natural "Não execute comandos perigosos" Não garante nada
Guardrail Camada heurística Classificador de saída Reduz risco, não elimina
Risco residual O que sobra Sempre existe É aceito ou transferido

A regra prática:

Para riscos críticos, prefira controle determinístico. Use mitigação como defesa em profundidade, nunca como mecanismo único.

🚨 Modos de falha

  • Tratar guardrail como garantia.
  • Tratar prompt como política.
  • Tratar metadata como enforcement.
  • Tratar descrição de tool como segurança.

🛡️ Mitigações

Estes três anti-padrões merecem capítulos próprios e são revisitados na Parte 3 e na Parte 4:

  • 🔐 "Prompt não é política" - Cap. 3.x e 4.x.
  • 🔧 "Tool description não é segurança" - Cap. 3.x e 4.x.
  • 🗑️ "Depreciação não é só metadata" - Cap. 7.x.

📌 Checklist

  • [ ] Toda regra crítica está em código?
  • [ ] Existe distinção explícita entre controle e mitigação na documentação?
  • [ ] Risco residual está documentado e aceito formalmente?