Skip to content
KitploitKITPLOIT
StrumentiExploitsBlog
Log in
Invia
StrumentiExploitsBlog
Invia

Strumenti di Hacking, PenTest e Cybersecurity per il tuo Arsenale di Sicurezza!

Kitploit è una directory di strumenti di hacking, cybersecurity e pentesting. Scopri gli ultimi aggiornamenti dei progetti per trovare vulnerabilità, analizzare sistemi, automatizzare i test e rafforzare la tua sicurezza.

··Feed·Contatto·Privacy·© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
sentinel-mcp — Sistema autonomo di cyber difesa basato su AI che utilizza MCP, Gemini 2.0 Flash, l'osservabilità di Dynatrace e MongoDB. Proposta per Google Cloud Hackathon. | Kitploit
Strumenti/GitLabGitLab/reyjesusq/sentinel-mcp
Strumenti DifensiviSicurezza CloudRilevamento IntrusioniRisposta agli IncidentiSicurezza dell'IARilevamento di Anomalie
GitLabreyjesusq/sentinel-mcp

sentinel-mcp

Sistema autonomo di cyber difesa basato su AI che utilizza MCP, Gemini 2.0 Flash, l'osservabilità di Dynatrace e MongoDB. Proposta per Google Cloud Hackathon.

Vedi Repository
213 mesi faNon ancora revisionato

Più Popolari

Vedi tutti →

Scopri gli strumenti più utilizzati dalla nostra community.

Esplora tutti gli strumenti

Sfoglia la nostra collezione di strumenti

Vedi tutti gli strumenti →
Condividi

SentinelMCP — Sistema di Difesa Cyber Alimentato dall'IA

Sottomissione per Google Cloud Hackathon — Rilevamento e correzione autonoma delle minacce orchestrata da Google Cloud Agent Builder (Vertex AI Agent), alimentata da Gemini 2.0 Flash, Model Context Protocol (MCP) e osservabilità Dynatrace.

Agent Builder Gemini 2.0 Flash Dynatrace MongoDB MCP Protocol


Il Problema

I team di sicurezza affrontano 30 minuti di MTTD e 4 ore di MTTR per gli incidenti tipici. Quando un analista umano rileva l'attacco, scrive la regola del firewall e la distribuisce, il danno è già fatto.

La Soluzione

SentinelMCP riduce l'MTTD a < 30 secondi e l'MTTR a < 30 secondi distribuendo un agente di Google Cloud Agent Builder che riceve webhook di anomalie Dynatrace, li elabora con Gemini 2.0 Flash e invoca strumenti di difesa reali tramite MCP — agendo su infrastruttura live, non solo segnalando.

Dynatrace webhook  →  Agent Builder receives alert  →  Gemini reasons  →  MCP tools execute  →  Threat neutralized
       1 s                        2 s                      8 s                  15 s                  25 s total

Il risultato: un ciclo di vita dell'incidente che in precedenza richiedeva un analista umano e 4 ore ora si completa autonomamente in meno di 30 secondi, con una traccia di audit completa in MongoDB e tracce distribuite in Jaeger.


Architettura

┌──────────────────────────────────────────────────────────────────────┐
│                         SANDBOX ENVIRONMENT                          │
│                                                                      │
│   ┌─────────────┐   100–1000 req/s   ┌──────────────────────────┐   │
│   │  attacker   │ ──────────────────►│    victim-service        │   │
│   │ (DDoS/SQLi) │                    │    port 8080             │   │
│   └─────────────┘                    │    /admin/* control API   │   │
│                                      └────────────┬─────────────┘   │
└───────────────────────────────────────────────────│──────────────────┘
                                                    │ metrics + anomaly webhook
                   ┌────────────────────────────────▼─────────────────┐
                   │         Dynatrace Mock  (anomaly engine)          │
                   │  Threat Risk Score → fires POST /alerts/simulate  │
                   └────────────────────────┬─────────────────────────┘
                                            │ webhook
          ┌─────────────────────────────────▼──────────────────────────┐
          │          Google Cloud Agent Builder  (Vertex AI Agent)      │
          │  ┌──────────────────────────────────────────────────────┐  │
          │  │  Gemini 2.0 Flash  ──  reasons over threat context   │  │
          │  │  Tool manifest  ──  dynamically fetched from MCP     │  │
          │  │  HITL gate  ──  halts if confidence < threshold      │  │
          │  └──────────────────────────────────────────────────────┘  │
          └──────────────┬─────────────────────────┬───────────────────┘
                         │ REST calls                │ audit write
         ┌───────────────▼──────┐      ┌────────────▼──────────┐
         │  MCP Server  :8001   │      │  MongoDB 7.0  Atlas   │
         │  11 real tools       │      │  incidents + traces   │
         └───────────┬──────────┘      └───────────────────────┘
                     │ acts on live infra
         ┌───────────▼──────────┐
         │  FastAPI  :8000      │
         │  victim-service :8080│
         └──────────────────────┘

                   ┌──────────────────────────────────────────────────┐
                   │              OBSERVABILITY STACK                  │
                   │  OTel Collector ──► Jaeger  (distributed traces)  │
                   │  Prometheus ──────────────► Grafana               │
                   └──────────────────────────────────────────────────┘

Principio chiave di progettazione: Degradazione graduale + Human-in-the-Loop (HITL). L'agente Agent Builder si arresta in sicurezza e restituisce il controllo all'operatore quando non può prendere una decisione con sufficiente confidenza — non indovina mai sull'infrastruttura critica.


Demo Live — Google Cloud Run

Tutti e tre i servizi sono distribuiti e in esecuzione su Google Cloud Run:

ServizioURL
Centro di Comando (Dashboard)https://sentinel-api-62d3d66zda-uc.a.run.app/dashboard
Documentazione API Swaggerhttps://sentinel-api-62d3d66zda-uc.a.run.app/docs
Controllo Salutehttps://sentinel-api-62d3d66zda-uc.a.run.app/health
Catalogo Strumenti MCPhttps://sentinel-mcp-62d3d66zda-uc.a.run.app/mcp/tools
Servizio Vittimahttps://victim-service-62d3d66zda-uc.a.run.app

Esegui un attacco live contro la produzione:

.\attack.production.ps1 status   # verify all services healthy
.\attack.production.ps1 ddos     # DDoS — Gemini blocks IPs + rate limit
.\attack.production.ps1 sql      # SQL Injection — Gemini activates WAF
.\attack.production.ps1 brute    # Brute Force — Gemini blocks source IPs
.\attack.production.ps1 stop     # reset defenses

Il contenitore dell'attaccante viene eseguito localmente e colpisce il servizio-vittima su Cloud Run tramite HTTPS. Guarda la dashboard del Centro di Comando per il ciclo completo di rilevamento → ragionamento → neutralizzazione in tempo reale.


Come utilizza Google Cloud Agent Builder

Google Cloud Agent Builder (Vertex AI ReasoningEngine) è l'orchestratore centrale di SentinelMCP. L'implementazione si trova in sentinel_mcp/agent/agent_builder.py.

SentinelAgent eredita da vertexai.preview.reasoning_engines.Queryable — l'interfaccia programmatica ufficiale di Agent Builder — e può essere eseguita localmente o distribuita al servizio gestito Agent Builder con un singolo comando.

ResponsabilitàImplementazione
Ricezione webhookSentinelAgent.query(incident=...) — chiamato da Agent Builder ad ogni allarme Dynatrace
Dichiarazioni strumenti6 strumenti MCP registrati come oggetti FunctionDeclaration di Vertex AI in set_up()
RagionamentoGemini 2.0 Flash legge il contesto della minaccia + il catalogo strumenti, seleziona gli strumenti minimi, li invoca automaticamente
Gate HITLSe Gemini non restituisce chiamate a strumenti (confidenza < soglia), viene emesso escalate_to_humans=True
AuditOgni chiamata a strumento registrata in MongoDB Atlas + esportata come span OTel a Jaeger

Codice chiave — sentinel_mcp/agent/agent_builder.py:

class SentinelAgent(reasoning_engines.Queryable):

    def set_up(self):
        # MCP tools as Vertex AI FunctionDeclarations — Gemini selects at runtime
        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()
Scarica lo strumento