Laboratoire de détection Sentinel pour les chaînes d'attaque MCP : CVE-2026-26118 vol de jeton SSRF, empoisonnement d'outils, exfiltration entre serveurs, post-exploitation d'identité. Correspond à l'OWASP Agentic Top 10. 5 règles d'analyse, 7 requêtes de chasse, classeur. En complément de nineliveszerotrust.com.
Recherche de détection Sentinel pour les modèles d'attaque MCP (Model Context Protocol) : accès d'identité inhabituel après un événement lié à MCP, mutation de définition d'outil, accès inter-ressources et comportement possible de post-exploitation. Les règles correspondent au OWASP Top 10 for Agentic Applications (2026).
Statut de publication : ce dépôt ne dispose actuellement pas d'un article compagnon Nine Lives publié et n'est volontairement pas répertorié dans le catalogue Labs du site web. Il reste un élément de recherche autonome.
La règle CVE-2026-26118 est une heuristique basée sur le comportement, inspirée par la divulgation SSRF du serveur MCP Azure. Elle ne prouve pas que la CVE a été exploitée ni qu'un jeton a été volé. Microsoft décrit le problème comme une SSRF pouvant permettre à un attaquant réseau autorisé d'élever ses privilèges ; les plages de packages concernées et l'avis du fournisseur sont enregistrés par NIST NVD.
| Resource | Type | OWASP Agentic |
|---|
| LAB - MCP SSRF-Informed Identity Access Anomaly (CVE-2026-26118) | Règle d'analyse comportementale (élevée) | ASI03 |
| LAB - MCP Tool Definition Mutation (Rug Pull Detection) | Règle d'analyse (élevée) | ASI01, ASI04 |
| LAB - MCP Cross-Server Data Exfiltration Pattern | Règle d'analyse (moyenne) | ASI02, ASI03 |
| LAB - Anomalous MCP Tool Invocation Spike | Règle d'analyse (moyenne) | ASI02 |
| LAB - MCP Identity Post-Exploitation Chain | Règle d'analyse (élevée) | ASI03 |
| MCP Attack Detection — Security Posture | Classeur | Tous |
| 7 requêtes de chasse | KQL (manuel) | ASI01–ASI07 |
| Technique | ID | Règle / Requête |
|---|---|---|
| Valid Accounts: Cloud | T1078.004 | Identity Access Anomaly, Post-Exploitation Chain |
| Adversary-in-the-Middle | T1557 | Contexte pour la chasse Inter-Agent Communications ; la requête elle-même détecte les lacunes d'accès conditionnel, pas l'interception |
| Supply Chain Compromise | T1195.002 | Tool Definition Mutation, Supply Chain |
| Data from Cloud Storage | T1530 | Cross-Server Exfiltration |
| Unsecured Credentials | T1552 | Cross-Server Exfiltration, Post-Exploitation |
| Cloud API | T1059.009 | Invocation Spike, Code Execution |
| Serverless Execution | T1648 | Code Execution |
| Stored Data Manipulation | T1565.001 | Memory & Context Poisoning |
# Review the exact plan. This performs no mutations.
./scripts/Deploy-Lab.ps1 `
-ResourceGroup "rg-sentinel-lab" `
-WorkspaceName "law-sentinel-lab" `
-WhatIf
# Deploy analytics rules (disabled), hunting queries, and workbook.
./scripts/Deploy-Lab.ps1 `
-ResourceGroup "rg-sentinel-lab" `
-WorkspaceName "law-sentinel-lab"
# After reviewing the queries, opt in to enabling the rules.
./scripts/Deploy-Lab.ps1 `
-ResourceGroup "rg-sentinel-lab" `
-WorkspaceName "law-sentinel-lab" `
-EnableRules
# Validate the exact manifest-owned deployment.
./scripts/Test-MCPDetections.ps1 `
-ResourceGroup "rg-sentinel-lab" `
-WorkspaceName "law-sentinel-lab"
AuditLogs, ServicePrincipalSignInLogs, ManagedIdentitySignInLogs.mcp-attack-detection-state.json réservé au propriétaire avant la première mutation cloud.-EnableRules est explicitement fourni.-WhatIf effectue les mêmes lectures et contrôles de collision avec zéro écriture.| Table | Objectif |
|---|---|
AADManagedIdentitySignInLogs | Rechercher les modèles d'accès inhabituels des identités managées nommées MCP |
AADServicePrincipalSignInLogs | Surveiller les modèles d'authentification des principaux de service MCP |
AzureActivity | Suivre les opérations sur les ressources MCP, les déploiements et les modifications de configuration |
./scripts/Deploy-Lab.ps1 `
-ResourceGroup "rg-sentinel-lab" `
-WorkspaceName "law-sentinel-lab" `
-Destroy
Exécutez d'abord la même commande avec -WhatIf pour prévisualiser les suppressions exactes. Le nettoyage échoue de manière sécurisée si le manifeste est absent, pointe vers un autre abonnement/espace de travail, ou si une ressource ne porte plus la provenance de ce laboratoire.
Ces requêtes sont des points de départ pour la recherche. Elles reposent sur des heuristiques de nommage et sur des schémas Entra et Azure Activity spécifiques au locataire. Validez la disponibilité des tables, les noms de champs, les lignes de base, les listes d'autorisation, le coût des requêtes et le comportement des faux positifs dans un espace de travail hors production avant de les activer. Elles fournissent des preuves de comportement suspect, pas une attribution d'exploit.
MIT