Skip to content
KitploitKITPLOIT
HerramientasBlog
Enviar
HerramientasBlog
Enviar

¡Herramientas de Hacking, PenTest y Ciberseguridad para tu Arsenal de Seguridad!

Kitploit es un directorio de herramientas de hacking, ciberseguridad y pentesting. Descubre las últimas actualizaciones de proyectos para encontrar vulnerabilidades, analizar sistemas, automatizar pruebas y fortalecer tu seguridad.

··Feeds·Contacto·Privacidad·© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
sentinel-mcp — 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. | Kitploit
Herramientas/GitLabGitLab/reyjesusq/sentinel-mcp
Herramientas DefensivasSeguridad en la NubeDetección de IntrusionesRespuesta a IncidentesSeguridad de IADetección de Anomalías
GitLabreyjesusq/sentinel-mcp

sentinel-mcp

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.

Ver Repositorio
8hace 3 mesesAún no revisado

Más Populares

Ver todos →

Descubre las herramientas más usadas por nuestra comunidad.

Explora todas las herramientas

Explora nuestra colección de herramientas

Ver todas las herramientas →
Compartir

SentinelMCP — Sistema de Defensa Cibernética Impulsado por IA

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.

Agent Builder Gemini 2.0 Flash Dynatrace MongoDB MCP Protocol


El Problema

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.

La Solución

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.

root@kitploit:~
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.


Arquitectura

root@kitploit:~
┌──────────────────────────────────────────────────────────────────────┐
│                        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.


Demostración en Vivo — Google Cloud Run

Los tres servicios están desplegados y ejecutándose en Google Cloud Run:

ServicioURL
Centro de Comando (Panel)https://sentinel-api-62d3d66zda-uc.a.run.app/dashboard
Documentación Swaggerhttps://sentinel-api-62d3d66zda-uc.a.run.app/docs
Verificación de Saludhttps://sentinel-api-62d3d66zda-uc.a.run.app/health
Catálogo de Herramientas MCPhttps://sentinel-mcp-62d3d66zda-uc.a.run.app/mcp/tools
Servicio Víctimahttps://victim-service-62d3d66zda-uc.a.run.app

Ejecuta un ataque en vivo contra producción:

root@kitploit:~
.\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.


Cómo utiliza Google Cloud Agent Builder

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.

ResponsabilidadImplementación
Recepción de webhooksSentinelAgent.query(incident=...) — llamado por Agent Builder en cada alerta de Dynatrace
Declaraciones de herramientas6 herramientas MCP registradas como objetos FunctionDeclaration de Vertex AI en set_up()
RazonamientoGemini 2.0 Flash lee el contexto de amenaza + catálogo de herramientas, selecciona las herramientas mínimas, las invoca automáticamente
Puerta HITLSi Gemini no devuelve llamadas a herramientas (confianza < umbral), se emite escalate_to_humans=True
AuditoríaCada 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:

root@kitploit:~
class SentinelAgent(reasoning_engines.Queryable):

    def set_up(self):
        # Herramientas MCP como FunctionDeclarations de Vertex AI — Gemini selecciona en tiempo de ejecución
        mcp_tools = Tool(function_declarations=[
            FunctionDeclaration(name="block_ip_address", ...),
            FunctionDeclaration(name="activate_waf", ...),
            FunctionDeclaration(name="rate_limit_requests", ...),
            FunctionDeclaration(name="scale_service", ...),
            FunctionDeclaration(name="collect_forensic_logs", ...),
            FunctionDeclaration(name="analyze_attack_pattern", ...),
        ])
        self._model = GenerativeModel("gemini-2.0-flash-001", tools=[mcp_tools])
        self._chat = self._model.start_chat()

    def query(self, *, incident: dict) -> dict:
        # Punto de entrada — Agent Builder llama a esto por cada webhook de Dynatrace
        response = self._chat.send_message(threat_prompt(incident))
        tool_calls = [{"name": p.function_call.name, "args": dict(p.function_call.args)}
                      for p in response.candidates[0].content.parts if p.function_call]
        return {"engine": "agent_builder", "tool_calls": tool_calls, ...}

Desplegar en Google Cloud Agent Builder:

root@kitploit:~
# Prueba local (sin GCP necesario con backend google_ai_studio)
python scripts/deploy_agent_builder.py --test-only

# Desplegar en el endpoint gestionado de Agent Builder
python scripts/deploy_agent_builder.py --project my-gcp-project

Establecer Agent Builder como backend activo:

root@kitploit:~
# .env
GEMINI_BACKEND=agent_builder
GOOGLE_CLOUD_PROJECT=my-gcp-project
VERTEX_LOCATION=us-central1

Cómo utiliza Dynatrace y MCP

Dynatrace

SentinelMCP integra la observabilidad de Dynatrace en tres capas:

  1. Canalización de OpenTelemetry — El sentinel-otel-collector ingiere spans y métricas del núcleo FastAPI y los reenvía al endpoint de Dynatrace Mock (OTLP/HTTP :14318). Cada incidente, ejecución de herramienta y llamada de LLM se rastrea de extremo a extremo con IDs de correlación completos.

  2. Motor de anomalías con auto-disparo — dynatrace-mock ejecuta un bucle en segundo plano que monitorea http_requests_total, calcula una Puntuación de Riesgo de Amenaza (dynatrace_mock_sentinel_risk_score, 0–10) y dispara POST /api/v1/alerts/simulate/{type} a SentinelMCP automáticamente cuando la puntuación supera el umbral crítico — replicando el comportamiento exacto de un webhook de detección de anomalías Davis de Dynatrace en producción.

  3. Panel de Grafana alimentado por métricas de Dynatrace — El indicador de Puntuación de Riesgo y la línea de tiempo consumen dynatrace_mock_sentinel_risk_score directamente, lo que permite visualizar el momento preciso en que Dynatrace marcó la anomalía frente al momento en que SentinelMCP logró la neutralización.

MCP (Model Context Protocol)

El agente Gemini descubre sus capacidades de defensa dinámicamente en tiempo de ejecución — sin listas de herramientas codificadas, sin reescribir prompts cuando cambian las capacidades:

root@kitploit:~
GET /mcp/tools  →  devuelve 11 descriptores de herramientas  →  Gemini selecciona e invoca herramientas

Cada herramienta está etiquetada como REAL o Solo-Auditoría en el catálogo en vivo. Gemini lee esta bandera, comprende lo que realmente puede hacer en infraestructura en vivo y justifica cada selección de herramienta en su traza de razonamiento. Agregar una nueva capacidad de defensa requiere cero ingeniería de prompts.

Herramientas que actúan sobre infraestructura en vivo:

HerramientaQué hace
block_ip_addressPOST /admin/block_ip — bloquea IPs de atacantes en el middleware en ejecución
activate_wafPOST /admin/waf — habilita el modo de bloqueo WAF en el servicio en ejecución
rate_limit_requestsPOST /admin/rate_limit — limitador de tasa de ventana deslizante, activo inmediatamente
scale_serviceSDK de Docker sobre socket — inicia réplicas reales de contenedores bajo carga
rollbackPOST /admin/reset_defenses — demuestra el ciclo de vida completo del incidente: ataque → defender → restaurar
collect_forensic_logsCaptura evidencia real de contenedores en ejecución para revisión posterior al incidente
build_attack_timelineLínea de tiempo cronológica a partir de registros de contenedores en vivo
analyze_attack_patternClasifica el tipo de ataque con datos de contexto de incidentes reales
identify_iocsExtrae IPs reales, user-agents y payloads de archivos de incidentes en vivo

Inicio Rápido

Requisitos: Docker Desktop 24+, credenciales de Google Cloud o clave API de AI Studio, ~3 GB de disco, ~2 GB de RAM.

1 — Iniciar el stack

root@kitploit:~
docker compose up -d --build

La primera ejecución descarga imágenes base (~3 GB, 5–10 min). Ejecuciones posteriores toman menos de 1 minuto.

2 — Iniciar el sandbox de simulación

root@kitploit:~
cd simulacion
docker compose up -d victim-service
cd ..

3 — Verificar que todo esté en funcionamiento

root@kitploit:~
docker compose ps
# Esperado: 8 servicios ejecutándose/saludables

curl http://localhost:8000/health
# Esperado: {"status": "healthy", "service": "SentinelMCP", ...}

4 — Lanzar un ataque y observar cómo la IA defiende

root@kitploit:~
.\attack.ps1 ddos        # Ataque DDoS (predeterminado)
.\attack.ps1 sql         # Inyección SQL
.\attack.ps1 brute       # Fuerza Bruta
.\attack.ps1 stop        # Detener ataque + restablecer defensas
.\attack.ps1 status      # Verificar estado del sistema

Abre el Centro de Comando mientras se ejecuta el ataque:

root@kitploit:~
http://localhost:8000/dashboard

Observa las 4 fases en ~25 segundos:

  1. AMENAZA DETECTADA — Dynatrace dispara la alerta
  2. DEFENDIENDO — Gemini lee el catálogo de herramientas MCP, selecciona acciones, registra razonamiento
  3. Ejecución de herramientas — IPs bloqueadas, WAF habilitado, límite de tasa aplicado (todo real)
  4. NEUTRALIZADA — MTTD y MTTR mostrados con registro de auditoría completo

5 — Configurar Google Cloud (Vertex AI)

SentinelMCP está construido sobre Gemini. Elige el método de autenticación que se adapte a tu entorno:

Opción A — Google AI Studio (configuración más rápida):

root@kitploit:~
# Editar .env
GOOGLE_API_KEY=AIza...tu_clave_aqui
GEMINI_BACKEND=google_ai_studio

Opción B — Vertex AI en Google Cloud:

root@kitploit:~
gcloud auth application-default login
.\scripts\setup_gcloud.ps1   # establece proyecto, crea clave SA, actualiza .env automáticamente

Luego reinicia el motor de IA: docker compose restart api


Todas las Interfaces

Producción (Google Cloud Run)

URLQué muestra
https://sentinel-api-62d3d66zda-uc.a.run.app/dashboardCentro de Comando — UI principal de demostración
https://sentinel-api-62d3d66zda-uc.a.run.app/docsSwagger — explorador de API interactivo
https://sentinel-api-62d3d66zda-uc.a.run.app/healthVerificación de salud
https://sentinel-api-62d3d66zda-uc.a.run.app/api/v1/incidentsHistorial de incidentes (JSON)
https://sentinel-mcp-62d3d66zda-uc.a.run.app/mcp/toolsCatálogo de herramientas MCP en vivo tal como lo lee Gemini
https://victim-service-62d3d66zda-uc.a.run.appServicio víctima (el objetivo bajo ataque)

Local (Docker Compose)

URLQué muestra
http://localhost:8000/dashboardCentro de Comando — UI principal de demostración
http://localhost:8000/docsSwagger — explorador de API interactivo
http://localhost:8000/api/v1/incidentsHistorial de incidentes (JSON)
http://localhost:8000/api/v1/incidents/statistics/summaryPromedios de MTTD / MTTR en todos los incidentes
http://localhost:8001/mcp/toolsCatálogo de herramientas MCP en vivo tal como lo lee Gemini
http://localhost:8080Servicio víctima (el objetivo bajo ataque)
http://localhost:14499Dynatrace Mock — métricas en vivo + motor de anomalías
http://localhost:16686Jaeger — trazas distribuidas
http://localhost:9090Prometheus — métricas sin procesar
http://localhost:3000Grafana — panel de infraestructura (admin / admin)

Escenarios de Ataque

EscenarioScriptQué sucede
DDoS.\attack.ps1 ddosInundación de 1000 req/s; Gemini bloquea IPs + habilita límite de tasa
Inyección SQL.\attack.ps1 sqlDetección de payload; Gemini activa WAF en modo de bloqueo
Fuerza Bruta.\attack.ps1 bruteAtaque de inicio de sesión; Gemini bloquea IPs de origen + habilita WAF
Modo automáticoPanel 🎯 Auto ONAtaques aleatorios cada 45–90s, respuesta totalmente autónoma

Registro de Herramientas MCP (11 herramientas)

root@kitploit:~
GET http://localhost:8001/mcp/tools
HerramientaCategoríaModo
analyze_attack_patternanálisisREAL
identify_iocsanálisisREAL
block_ip_addressdefensaREAL → victim-service
activate_wafdefensaREAL → victim-service
rate_limit_requestsdefensaREAL → victim-service
scale_servicedefensaREAL → SDK Docker
collect_forensic_logsforenseREAL
build_attack_timelineforenseREAL
patch_vulnerabilitiesremediaciónSolo-Auditoría
apply_hardeningremediaciónSolo-Auditoría
rollbackremediaciónREAL → victim-service

SentinelMCP emplea un Modo de Auditoría a Prueba de Fallos. Si la infraestructura de destino no está disponible, el agente registra las acciones previstas sin romper el pipeline, asegurando una degradación gradual. Gemini lee la bandera REAL / Solo-Auditoría en el catálogo — sabe precisamente qué puede ejecutar frente a qué solo puede recomendar.


Estructura del Proyecto

root@kitploit:~
sentinel_mcp/
├── api/              Núcleo FastAPI — rutas, esquemas, UI del panel
├── agent/            Motor de decisión + proveedores de LLM (Gemini 2.0 Flash, Vertex AI)
├── mcp_server/       Servidor MCP + 11 implementaciones de herramientas
├── services/         Servicio de incidentes, orquestador de remediación, calculadora de amenazas
├── observability/    Proveedores OTel / Dynatrace / SigNoz
└── core/             Configuración, registro, excepciones

simulacion/
├── victim-service/   Servicio objetivo FastAPI con plano de control /admin/*
└── attacker/         Motor de ataque Python (DDoS / SQLi / fuerza bruta)

docker/
├── prometheus.yml    Configuración de scrape (victim-service en intervalo de 5s)
└── grafana/          Panel auto-aprovisionado — testigo de infraestructura de 6 paneles

Stack Tecnológico

CapaTecnología
Orquestador de AgentesGoogle Cloud Agent Builder (Vertex AI Agent)
LLMGemini 2.0 Flash — a través del SDK google-genai
Protocolo de herramientasMCP (Model Context Protocol) — 11 herramientas reales
APIFastAPI + Uvicorn (Python 3.11)
Base de datosMongoDB 7.0 Atlas (Motor asíncrono)
ObservabilidadOpenTelemetry → Dynatrace
TrazadoJaeger
MétricasPrometheus + Grafana
Cliente HTTPhttpx (asíncrono)
Orquestación de contenedoresDocker Compose v2
Descargar herramienta