O problema
Bots e scanners automatizados testam a infraestrutura o dia inteiro. O gargalo não é gerar mais alertas. É separar o que realmente merece atenção e responder em tempo útil.
Neste caso real, o LLM olha somente o tráfego que passou pelo WAF. O que já foi bloqueado pelo controle tradicional sai antes do pipeline.
Arquitetura real
WAFCada requisição vira evento: IP, path, user-agent, status e ação.
Coleta + filtroWorker mantém uma janela de eventos e elimina o que já foi barrado, assets conhecidos e ruído previsível.
LLMRecebe um resumo estruturado e devolve decisão em JSON.
GuardrailsAllow list, confiança mínima, exceções e ações habilitadas por categoria.
AçãoBloqueio com TTL na borda e alerta com evidência para revisão.
O que entra na IA
- Prompt de sistema com papel de analista blue team, stack real e regras do que não deve ser reportado.
- Top IPs, paths e user-agents do período, sempre com status HTTP e ASN.
- Paths raros, onde scanners de diretório e enumeração costumam aparecer.
- Suspeitos pré-detectados por regras simples, como traversal, SQLi, .env e web shell, para a IA validar.
- Contexto operacional: origem em nuvem, reincidência e histórico de bloqueio.
O que sai da IA
Texto livre não controla ação. A saída é estruturada para que o código possa validar antes de executar.
{
"clean": false,
"threats": [{
"tipo": "Probing de arquivos sensíveis",
"categoria": "git_env_exposto",
"host_path": "api.exemplo.com/.env",
"ip": "203.0.113.7",
"severidade": "ALTO",
"confianca": 88,
"regra_sugerida": "Bloquear /.env* no WAF"
}]
}A categoria vem de uma lista fechada. Severidade e confiança são validadas pelo código. Se o modelo fugir do contrato, cai em fallback, nunca em ação.
Guardrails que tornam a autonomia possível
Nada bloqueia por padrãoA ação automática precisa ser habilitada por severidade e categoria, com lista e TTL definidos.
Allow list é absolutaClientes, parceiros, colaboradores e origens protegidas não são bloqueados mesmo diante de uma detecção.
Confiança mínimaAbaixo do corte, o sistema alerta e preserva a decisão para uma pessoa.
Ambiguidade chama humanoQuando contexto não é suficiente, a ação automática não é o fallback.
Ação reversívelBloqueios expiram por TTL e toda ação deixa evidência.
Receita para reproduzir a ideia
Ingredientes
- Logs de WAF/CDN acessíveis por API, Logpush, bucket ou equivalente.
- Job periódico, Worker, Lambda ou processo serverless.
- LLM capaz de retornar JSON estruturado.
- Lista de bloqueio consumida pelo WAF, com TTL.
- Canal de alerta com link para evidência.
Lições que economizam semanas
- Pré-filtre antes do LLM. Ruído previsível é melhor resolvido por código.
- Regra para o binário, IA para julgamento contextual.
- Status HTTP e contexto mudam o significado de um evento.
- Falso positivo é bug para corrigir, não motivo para desligar o motor.
- Comece em modo recomendação. Aumente autonomia quando medir confiança e erro.
Para levar: A IA não é um gerador de relatórios. Ela age, dentro de limites que nós definimos.
Leve este caso com você
Em Markdown para colar na sua IA, ou como ponto de partida do seu próprio playbook.