
Sistema autônomo de defesa cibernética alimentado por IA usando MCP, Gemini 2.0 Flash, observabilidade Dynatrace e MongoDB. Submissão do Google Cloud Hackathon.
Submissão ao Google Cloud Hackathon — Detecção e remediação autônoma de ameaças orquestrada pelo Google Cloud Agent Builder (Vertex AI Agent), com tecnologia Gemini 2.0 Flash, Model Context Protocol (MCP) e observabilidade Dynatrace.
Equipes de segurança enfrentam MTTD de 30 minutos e MTTR de 4 horas para incidentes típicos. Quando um analista humano detecta o ataque, escreve a regra de firewall e a implanta, o estrago já está feito.
O SentinelMCP reduz o MTTD para < 30 segundos e o MTTR para < 30 segundos ao implantar um agente do Google Cloud Agent Builder que recebe webhooks de anomalia do Dynatrace, raciocina sobre eles com Gemini 2.0 Flash e invoca ferramentas de defesa reais via MCP — agindo na infraestrutura ativa, não apenas alertando.
Webhook Dynatrace → Agent Builder recebe alerta → Gemini raciocina → Ferramentas MCP executam → Ameaça neutralizada
1 s 2 s 8 s 15 s 25 s total
O resultado: um ciclo de vida de incidente que antes exigia um analista humano e 4 horas agora é concluído autonomamente em menos de 30 segundos, com trilha de auditoria completa no MongoDB e rastreamento distribuído no Jaeger.
┌──────────────────────────────────────────────────────────────────────┐
│ AMBIENTE SANDBOX │
│ │
│ ┌─────────────┐ 100–1000 req/s ┌──────────────────────────┐ │
│ │ atacante │ ──────────────────►│ victim-service │ │
│ │ (DDoS/SQLi) │ │ porta 8080 │ │
│ └─────────────┘ │ /admin/* API de controle│ │
│ └────────────┬─────────────┘ │
└───────────────────────────────────────────────────│──────────────────┘
│ métricas + webhook de anomalia
┌────────────────────────────────▼─────────────────┐
│ Dynatrace Mock (motor de anomalias) │
│ Pontuação de Risco de Ameaça → envia POST │
│ /alerts/simulate │
└────────────────────────┬─────────────────────────┘
│ webhook
┌─────────────────────────────────▼──────────────────────────┐
│ Google Cloud Agent Builder (Vertex AI Agent) │
│ ┌──────────────────────────────────────────────────────┐ │
│ │ Gemini 2.0 Flash ── raciocina sobre contexto de │ │
│ │ ameaça │ │
│ │ Manifesto de ferramentas ── obtido dinamicamente │ │
│ │ do MCP │ │
│ │ Portão HITL ── para se confiança < limite │ │
│ └──────────────────────────────────────────────────────┘ │
└──────────────┬─────────────────────────┬───────────────────┘
│ Chamadas REST │ escrita de auditoria
┌───────────────▼──────┐ ┌────────────▼──────────┐
│ Servidor MCP :8001 │ │ MongoDB 7.0 Atlas │
│ 11 ferramentas reais│ │ incidentes + rastros │
└───────────┬──────────┘ └───────────────────────┘
│ age na infra ativa
┌───────────▼──────────┐
│ FastAPI :8000 │
│ victim-service :8080│
└──────────────────────┘
┌──────────────────────────────────────────────────┐
│ PILHA DE OBSERVABILIDADE │
│ Coletor OTel ──► Jaeger (rastros distribuídos) │
│ Prometheus ──────────────► Grafana │
└──────────────────────────────────────────────────┘
Princípio de design chave: Degradação graciosa + Humano-no-circuito (HITL). O agente do Agent Builder para de forma segura e devolve o controle ao operador quando não consegue chegar a uma decisão com confiança suficiente — nunca faz suposições em infraestrutura crítica.
Todos os três serviços estão implantados e rodando no Google Cloud Run:
| Serviço | URL |
|---|---|
| Centro de Comando (Painel) | https://sentinel-api-62d3d66zda-uc.a.run.app/dashboard |
| Documentação da API Swagger | https://sentinel-api-62d3d66zda-uc.a.run.app/docs |
| Verificação de Saúde | https://sentinel-api-62d3d66zda-uc.a.run.app/health |
| Catálogo de Ferramentas MCP | https://sentinel-mcp-62d3d66zda-uc.a.run.app/mcp/tools |
| Victim Service | https://victim-service-62d3d66zda-uc.a.run.app |
Execute um ataque ao vivo contra a produção:
.\attack.production.ps1 status # verificar se todos os serviços estão saudáveis
.\attack.production.ps1 ddos # DDoS — Gemini bloqueia IPs + limita taxa
.\attack.production.ps1 sql # Injeção SQL — Gemini ativa WAF
.\attack.production.ps1 brute # Força Bruta — Gemini bloqueia IPs de origem
.\attack.production.ps1 stop # redefinir defesas
O contêiner atacante roda localmente e ataca o victim-service do Cloud Run via HTTPS. Veja o painel do Centro de Comando para o ciclo completo de detecção → raciocínio → neutralização em tempo real.
Google Cloud Agent Builder (Vertex AI ReasoningEngine) é o orquestrador central do SentinelMCP. A implementação está em sentinel_mcp/agent/agent_builder.py.
SentinelAgent herda de vertexai.preview.reasoning_engines.Queryable — a interface programática oficial do Agent Builder — e pode rodar localmente ou ser implantado no serviço gerenciado Agent Builder com um único comando.
| Responsabilidade | Implementação |
|---|---|
| Recepção de webhook | SentinelAgent.query(incident=...) — chamado pelo Agent Builder a cada alerta Dynatrace |
| Declarações de ferramentas | 6 ferramentas MCP registradas como objetos FunctionDeclaration do Vertex AI no set_up() |
| Raciocínio | Gemini 2.0 Flash lê contexto da ameaça + catálogo de ferramentas, seleciona o mínimo de ferramentas e as invoca automaticamente |
| Portão HITL | Se o Gemini não retornar chamadas de ferramenta (confiança < limite), escalate_to_humans=True é emitido |
| Auditoria | Toda chamada de ferramenta registrada no MongoDB Atlas + exportada como span OTel para Jaeger |
Código chave — sentinel_mcp/agent/agent_builder.py:
class SentinelAgent(reasoning_engines.Queryable):