
Sistema autónomo de ciberdefensa impulsado por IA que utiliza MCP, Gemini 2.0 Flash, observabilidad de Dynatrace y MongoDB. Participación en el Google Cloud Hackathon.
Envío para Google Cloud Hackathon — Detección y remediación autónoma de amenazas orquestada por Google Cloud Agent Builder (Vertex AI Agent), impulsado por Gemini 2.0 Flash, Protocolo de Contexto de Modelo (MCP) y observabilidad de Dynatrace.
Los equipos de seguridad enfrentan un MTTD de 30 minutos y un MTTR de 4 horas para incidentes típicos. Cuando un analista humano detecta el ataque, redacta la regla de firewall y la despliega, el daño ya está hecho.
SentinelMCP reduce el MTTD a < 30 segundos y el MTTR a < 30 segundos mediante el despliegue de un agente de Google Cloud Agent Builder que recibe webhooks de anomalías de Dynatrace, razona sobre ellos con Gemini 2.0 Flash e invoca herramientas de defensa reales a través de MCP, actuando sobre la infraestructura en vivo, no solo alertando.
Webhook de Dynatrace → Agent Builder recibe alerta → Gemini razona → Herramientas MCP ejecutan → Amenaza neutralizada
1 s 2 s 8 s 15 s 25 s total
El resultado: un ciclo de vida de incidente que previamente requería un analista humano y 4 horas ahora se completa de forma autónoma en menos de 30 segundos, con un registro de auditoría completo en MongoDB y trazas distribuidas en Jaeger.
┌──────────────────────────────────────────────────────────────────────┐
│ ENTORNO SANDBOX │
│ │
│ ┌─────────────┐ 100–1000 req/s ┌──────────────────────────┐ │
│ │ atacante │ ──────────────────►│ victim-service │ │
│ │ (DDoS/SQLi) │ │ puerto 8080 │ │
│ └─────────────┘ │ API de control /admin/*│ │
│ └────────────┬─────────────┘ │
└───────────────────────────────────────────────────│──────────────────┘
│ métricas + webhook de anomalía
┌────────────────────────────────▼─────────────────┐
│ Dynatrace Mock (motor de anomalías) │
│ Puntuación de Riesgo de Amenaza → dispara POST │
│ /alerts/simulate │
└────────────────────────┬─────────────────────────┘
│ webhook
┌─────────────────────────────────▼──────────────────────────┐
│ Google Cloud Agent Builder (Vertex AI Agent) │
│ ┌──────────────────────────────────────────────────────┐ │
│ │ Gemini 2.0 Flash ── razona sobre contexto de │ │
│ │ amenaza │ │
│ │ Manifiesto de herramientas ── obtenido │ │
│ │ dinámicamente desde MCP │ │
│ │ Puerta HITL ── se detiene si la confianza es │ │
│ │ menor al umbral │ │
│ └──────────────────────────────────────────────────────┘ │
└──────────────┬─────────────────────────┬───────────────────┘
│ Llamadas REST │ escritura de auditoría
┌───────────────▼──────┐ ┌────────────▼──────────┐
│ Servidor MCP :8001 │ │ MongoDB 7.0 Atlas │
│ 11 herramientas │ │ incidentes + trazas │
│ reales │ │ │
└───────────┬──────────┘ └───────────────────────┘
│ actúa sobre infraestructura en vivo
┌───────────▼──────────┐
│ FastAPI :8000 │
│ victim-service :8080│
└──────────────────────┘
┌──────────────────────────────────────────────────┐
│ PILA DE OBSERVABILIDAD │
│ Colector OTel ──► Jaeger (trazas distribuidas) │
│ Prometheus ──────────────► Grafana │
└──────────────────────────────────────────────────┘
Principio de diseño clave: Degradación gradual + Humano en el Ciclo (HITL). El agente de Agent Builder se detiene de manera segura y devuelve el control al operador cuando no puede alcanzar una decisión con suficiente confianza — nunca adivina sobre infraestructura crítica.
Los tres servicios están desplegados y ejecutándose en Google Cloud Run:
| Servicio | URL |
|---|---|
| Centro de Comando (Panel) | https://sentinel-api-62d3d66zda-uc.a.run.app/dashboard |
| Documentación Swagger | https://sentinel-api-62d3d66zda-uc.a.run.app/docs |
| Verificación de Salud | https://sentinel-api-62d3d66zda-uc.a.run.app/health |
| Catálogo de Herramientas MCP | https://sentinel-mcp-62d3d66zda-uc.a.run.app/mcp/tools |
| Servicio Víctima | https://victim-service-62d3d66zda-uc.a.run.app |
Ejecuta un ataque en vivo contra producción:
.\attack.production.ps1 status # verificar que todos los servicios estén saludables
.\attack.production.ps1 ddos # DDoS — Gemini bloquea IPs + límite de tasa
.\attack.production.ps1 sql # Inyección SQL — Gemini activa WAF
.\attack.production.ps1 brute # Fuerza Bruta — Gemini bloquea IPs de origen
.\attack.production.ps1 stop # restablecer defensas
El contenedor atacante se ejecuta localmente y apunta al victim-service de Cloud Run a través de HTTPS. Observa el panel del Centro de Comando para ver el ciclo completo de detección → razonamiento → neutralización en tiempo real.
Google Cloud Agent Builder (Vertex AI ReasoningEngine) es el orquestador central de SentinelMCP. La implementación reside en sentinel_mcp/agent/agent_builder.py.
SentinelAgent hereda de vertexai.preview.reasoning_engines.Queryable — la interfaz programática oficial de Agent Builder — y puede ejecutarse localmente o desplegarse en el servicio gestionado Agent Builder con un solo comando.
| Responsabilidad | Implementación |
|---|---|
| Recepción de webhooks | SentinelAgent.query(incident=...) — llamado por Agent Builder en cada alerta de Dynatrace |
| Declaraciones de herramientas | 6 herramientas MCP registradas como objetos FunctionDeclaration de Vertex AI en set_up() |
| Razonamiento | Gemini 2.0 Flash lee el contexto de amenaza + catálogo de herramientas, selecciona las herramientas mínimas, las invoca automáticamente |
| Puerta HITL | Si Gemini no devuelve llamadas a herramientas (confianza < umbral), se emite escalate_to_humans=True |
| Auditoría | Cada llamada a herramienta se registra en MongoDB Atlas y se exporta como span OTel a Jaeger |
Código clave — sentinel_mcp/agent/agent_builder.py:
class SentinelAgent(reasoning_engines.Queryable):