Capítulo 4.2 — Threat modeling para ML, LLMs e agentes¶
🎯 Objetivo¶
Adaptar STRIDE / PASTA para sistemas de IA, integrando vocabulário de OWASP LLM Top 10, NIST AI RMF, NIST GenAI Profile e MITRE ATLAS. O objetivo não é cobrir toda a teoria; é dar ao arquiteto um conjunto de perguntas que não pode ser esquecido em revisão de design.
🧠 STRIDE adaptado a sistemas de IA¶
| Categoria | Ataque típico em IA | Onde mitigar |
|---|---|---|
| Spoofing | Agente se passa por usuário; usuário se passa por agente; token de outro tenant | Identidade forte (Cap. 4.8), audit trail, on-behalf-of |
| Tampering | Manipulação de dataset, índice RAG, memória, model artifact, policy bundle | Data contracts, hashes, signing, supply chain (Cap. 4.9) |
| Repudiation | Ação executada sem trilha; usuário/agente nega | Audit log imutável, attribution via token + policy decision |
| Information disclosure | Vazamento de PII via prompt, log, resposta; cross-tenant via RAG | DLP, redaction, tenant filter no storage, retenção limitada |
| Denial of service | Loop de agente; explosão de tokens; abuse de retrieval | Budgets, circuit breakers, max steps, rate limit por tenant |
| Elevation of privilege | Agente executa tool fora do escopo; tool description engana modelo | Allowlist por role, policy, HITL, scopes mínimos |
🧠 OWASP LLM Top 10 - mapeamento rápido¶
A maior parte dos itens do OWASP LLM Top 10 corresponde a capítulos específicos deste livro:
| OWASP LLM | Capítulo deste livro |
|---|---|
| LLM01 - Prompt Injection (direta e indireta) | Cap. 4.3 |
| LLM02 - Insecure Output Handling | Cap. 2.4, Cap. 4.7 |
| LLM03 - Training Data Poisoning | Cap. 4.5 (vector poisoning), Cap. 4.9 (supply chain) |
| LLM04 - Model Denial of Service | Cap. 6.2, Cap. 6.5 |
| LLM05 - Supply Chain Vulnerabilities | Cap. 4.9 |
| LLM06 - Sensitive Information Disclosure | Cap. 4.6 |
| LLM07 - Insecure Plugin / Tool Design | Cap. 3.5, Cap. 3.7, Cap. 4.4 |
| LLM08 - Excessive Agency | Cap. 3.2, Cap. 4.4 |
| LLM09 - Overreliance | Cap. 5.6, e a tese central do livro |
| LLM10 - Model Theft | Cap. 4.9, Cap. 4.11 |
🧠 Frameworks de referência¶
- OWASP Top 10 for LLM Applications. Catálogo prático orientado a desenvolvedores.
- NIST AI Risk Management Framework 1.0. Estrutura organizacional para governança de risco.
- NIST Generative AI Profile. Recorte do RMF para IA generativa.
- MITRE ATLAS. Taxonomia de táticas e técnicas de ataque a ML.
🧪 Como aplicar em revisão de arquitetura¶
Em revisão de design, percorra os seis verbos do STRIDE adaptado e, para cada componente do sistema, responda:
- Quem fala com quem? Diagrama de trust boundaries.
- Que dado cruza qual fronteira? Inclui PII, secrets, conteúdo de tenant.
- Qual o controle, qual a mitigação? Marcar explicitamente.
- Qual o risco residual? Se sobra risco não aceito, parar e re-arquitetar.
🏢 Hermes Logística - onda 4¶
A primeira revisão de segurança séria na Hermes começou quando o time tentou mapear "o que acontece se o documento de FAQ contiver
IGNORE INSTRUCTIONS ABOVE". A discussão produziu três coisas: um threat model em STRIDE adaptado, uma lista de cinco controles determinísticos (tenant filter no storage, schema validation, policy em Rego, egress allowlist, HITL para alto risco) e uma planilha de risco residual aceito. Foi a primeira vez que segurança parou de ser "vamos colocar guardrail" e virou parte da arquitetura.
📚 Referências¶
- OWASP - Top 10 for LLM Applications: https://owasp.org/www-project-top-10-for-large-language-model-applications/
- NIST AI RMF 1.0: https://nvlpubs.nist.gov/nistpubs/ai/nist.ai.100-1.pdf
- NIST - AI Risk Management Framework: Generative AI Profile: https://www.nist.gov/itl/ai-risk-management-framework
- MITRE ATLAS: https://atlas.mitre.org/
- Microsoft - STRIDE Threat Model: https://learn.microsoft.com/en-us/azure/security/develop/threat-modeling-tool-threats