
Système autonome de cybersécurité alimenté par l'IA utilisant MCP, Gemini 2.0 Flash, l'observabilité Dynatrace et MongoDB. Soumission au Google Cloud Hackathon.
Soumission au Google Cloud Hackathon — Détection et remédiation autonomes orchestrées par Google Cloud Agent Builder (Vertex AI Agent), propulsées par Gemini 2.0 Flash, le Model Context Protocol (MCP) et l'observabilité Dynatrace.
Les équipes de sécurité font face à un MTTD de 30 minutes et un MTTR de 4 heures pour les incidents typiques. Le temps qu'un analyste humain détecte l'attaque, rédige la règle de pare-feu et la déploie, les dégâts sont déjà faits.
SentinelMCP réduit le MTTD à < 30 secondes et le MTTR à < 30 secondes en déployant un agent Google Cloud Agent Builder qui reçoit les webhooks d'anomalies Dynatrace, les analyse avec Gemini 2.0 Flash, et exécute de véritables outils de défense via MCP — agissant sur l'infrastructure en direct, pas seulement en alertant.
Webhook Dynatrace → Agent Builder reçoit l'alerte → Gemini raisonne → Outils MCP exécutent → Menace neutralisée
1 s 2 s 8 s 15 s 25 s total
Le résultat : un cycle de vie d'incident qui nécessitait auparavant un analyste humain et 4 heures se termine désormais de manière autonome en moins de 30 secondes, avec une piste d'audit complète dans MongoDB et des traces distribuées dans Jaeger.
┌──────────────────────────────────────────────────────────────────────┐
│ ENVIRONNEMENT SANDBOX │
│ │
│ ┌─────────────┐ 100–1000 req/s ┌──────────────────────────┐ │
│ │ attaquant │ ──────────────────►│ victim-service │ │
│ │ (DDoS/SQLi) │ │ port 8080 │ │
│ └─────────────┘ │ /admin/* API contrôle │ │
│ └────────────┬─────────────┘ │
└───────────────────────────────────────────────────│──────────────────┘
│ métriques + webhook d'anomalie
┌────────────────────────────────▼─────────────────┐
│ Dynatrace Mock (moteur d'anomalies) │
│ Score de Risque de Menace → POST /alerts/simulate│
└────────────────────────┬─────────────────────────┘
│ webhook
┌─────────────────────────────────▼──────────────────────────┐
│ Google Cloud Agent Builder (Agent Vertex AI) │
│ ┌──────────────────────────────────────────────────────┐ │
│ │ Gemini 2.0 Flash ── analyse le contexte de menace │ │
│ │ Manifeste d'outils ── récupéré dynamiquement du MCP│ │
│ │ Porte HITL ── s'arrête si confiance < seuil │ │
│ └──────────────────────────────────────────────────────┘ │
└──────────────┬─────────────────────────┬───────────────────┘
│ appels REST │ écriture d'audit
┌───────────────▼──────┐ ┌────────────▼──────────┐
│ Serveur MCP :8001 │ │ MongoDB 7.0 Atlas │
│ 11 outils réels │ │ incidents + traces │
└───────────┬──────────┘ └───────────────────────┘
│ agit sur l'infra en direct
┌───────────▼──────────┐
│ FastAPI :8000 │
│ victim-service:8080 │
└──────────────────────┘
┌──────────────────────────────────────────────────┐
│ STACK D'OBSERVABILITÉ │
│ Collecteur OTel ──► Jaeger (traces distribuées)│
│ Prometheus ──────────────► Grafana │
└──────────────────────────────────────────────────┘
Principe de conception clé : Dégradation progressive + Humain dans la boucle (HITL). L'agent Agent Builder s'arrête en toute sécurité et redonne le contrôle à l'opérateur lorsque qu'il ne peut pas prendre une décision avec une confiance suffisante — il ne devine jamais sur une infrastructure critique.
Les trois services sont déployés et fonctionnent sur Google Cloud Run :
| Service | URL |
|---|---|
| Centre de commande (Tableau de bord) | https://sentinel-api-62d3d66zda-uc.a.run.app/dashboard |
| Documentation API Swagger | https://sentinel-api-62d3d66zda-uc.a.run.app/docs |
| Vérification de santé | https://sentinel-api-62d3d66zda-uc.a.run.app/health |
| Catalogue d'outils MCP | https://sentinel-mcp-62d3d66zda-uc.a.run.app/mcp/tools |
| Service victime | https://victim-service-62d3d66zda-uc.a.run.app |
Exécuter une attaque en direct contre la production :
.\attack.production.ps1 status # vérifier que tous les services sont sains
.\attack.production.ps1 ddos # DDoS — Gemini bloque les IP + limite de débit
.\attack.production.ps1 sql # Injection SQL — Gemini active le WAF
.\attack.production.ps1 brute # Force brute — Gemini bloque les IP sources
.\attack.production.ps1 stop # réinitialiser les défenses
Le conteneur attaquant s'exécute localement et cible le service victime Cloud Run via HTTPS. Observez le tableau de bord du Centre de commande pour le cycle complet détection → raisonnement → neutralisation en temps réel.
Google Cloud Agent Builder (Vertex AI ReasoningEngine) est l'orchestrateur central de SentinelMCP. L'implémentation se trouve dans sentinel_mcp/agent/agent_builder.py.
SentinelAgent hérite de vertexai.preview.reasoning_engines.Queryable — l'interface programmatique officielle d'Agent Builder — et peut être exécuté localement ou déployé vers le service géré Agent Builder avec une seule commande.
| Responsabilité | Implémentation |
|---|---|
| Réception du webhook | SentinelAgent.query(incident=...) — appelé par Agent Builder pour chaque alerte Dynatrace |
| Déclarations d'outils | 6 outils MCP enregistrés comme objets FunctionDeclaration de Vertex AI dans set_up() |
| Raisonnement | Gemini 2.0 Flash lit le contexte de menace + le catalogue d'outils, sélectionne les outils minimaux, les invoque automatiquement |
| Porte HITL | Si Gemini ne renvoie aucun appel d'outil (confiance < seuil), escalate_to_humans=True est émis |
| Audit | Chaque appel d'outil est enregistré dans MongoDB Atlas + exporté comme span OTel vers Jaeger |
Code clé — sentinel_mcp/agent/agent_builder.py:
class SentinelAgent(reasoning_engines.Queryable):