Skip to content
KitploitKITPLOIT
OutilsBlog
Soumettre
OutilsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

··Flux·Contact·Confidentialité·© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
MCPwner — Serveur Model Context Protocol pour la découverte autonome de vulnérabilités | Kitploit
Outils/GitHubGitHub/pigyon/mcpwner
Frameworks de Tests d'IntrusionReconnaissanceAnalyse StatiqueScanners de VulnérabilitésAnalyse Dynamique (Sandboxing)Sécurité WebFuzzingDevSecOpsDétection de Secrets
GitHubpigyon/mcpwner

MCPwner

Serveur Model Context Protocol pour la découverte autonome de vulnérabilités

538il y a 1 jourVérifié par Kitploit

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →
Partager
Voir le dépôt

MCPwner

Avatar du blaireau MCPwner

Beware the Badger

Serveur Model Context Protocol pour l'automatisation de la recherche en sécurité

Docker MCP Python License

Compatible avec :

Kiro Cursor Claude VS Code Windsurf


Présentation

MCPwner est un serveur Model Context Protocol (MCP) qui intègre des outils de test de sécurité dans des workflows pilotés par LLM. Il fournit une interface unifiée pour la recherche de secrets, l'analyse statique (SAST), l'analyse de composition logicielle (SCA), la sécurité de l'infrastructure en tant que code (IaC), le fuzzing de code source, la reconnaissance, les tests de sécurité dynamiques (DAST) et la recherche de vulnérabilités, y compris la découverte de 0-day.

Au lieu d'enchaîner manuellement des outils et de coller les sorties dans votre LLM, MCPwner standardise et diffuse les résultats directement dans le contexte de travail du modèle. Cela permet un raisonnement continu, une corrélation et la découverte de chemins d'attaque tout au long du cycle de vie de la recherche en sécurité – de la cartographie des surfaces d'attaque et l'identification des vulnérabilités connues à la découverte de nouveaux vecteurs d'attaque.

Note : Ce projet est en cours de développement actif. En savoir plus sur les MCP ici.

Outils intégrés

Reconnaissance

Outils futurs

Les outils suivants sont prévus pour les prochaines versions.

Désérialisation non sécurisée

Générateurs de chaînes de gadgets et de charges utiles pour l'exploitation des points de désérialisation identifiés lors de l'analyse SAST. Des écosystèmes matures de chaînes de gadgets existent pour Java, .NET et PHP ; Python est couvert via la génération de pickles malveillants (la désérialisation Ruby/Node est basée sur des charges utiles et fait partie du corpus de charges utiles ci-dessous) :

  • ysoserial - Java
  • ysoserial.net - .NET
  • PHPGGC - PHP
  • marshalsec - marshallers/unmarshallers JVM
  • Fickling - Python (pickle)

Détournement de requêtes HTTP

  • smuggler - Détournement/dé-synchronisation de requêtes HTTP/1.1 (CL.TE, TE.CL, TE.TE)
  • h2csmuggler - Détournement par mise à niveau h2c (HTTP/2 en clair) (distinct de la dé-synchronisation HTTP/2)
  • http2smugl - Détournement/dé-synchronisation de requêtes HTTP/2

Charges utiles

Corpus de charges utiles et de listes de mots pour alimenter les outils ci-dessus :

  • SecLists - ensemble de charges utiles de fuzzing, d'identifiants et de listes d'injection
  • PayloadsAllTheThings - charges utiles d'attaque et contournements classés par type de vulnérabilité
  • FuzzDB - primitives d'injection de fautes et motifs de ressources prévisibles

Exemples d'utilisation

Pipeline d'énumération automatisée```

"Enumerate and scan example.com" → MCPwner chains: Subfinder + Amass → Masscan + Nmap → httpx → Katana + gau → ffuf + Arjun

root@kitploit:~
### Scanner un dépôt GitHub pour des secrets```
"Scan https://github.com/example/repo for secrets"
→ MCPwner runs Gitleaks, TruffleHog, detect-secrets and correlates findings

Audit de sécurité```

"Run a security audit on my Python project" → MCPwner runs Bandit (SAST), OSV-Scanner (SCA), and secrets scanning

root@kitploit:~
### Analyse des chemins d'attaque```
"Find vulnerabilities in the authentication module"
→ MCPwner runs CodeQL queries, cross-references with secrets and SCA results

Exploitation en direct de cible```

"Test for SQLi and XSS on http://localhost:8080" → MCPwner chains: sqlmap + Dalfox and verifies findings

root@kitploit:~
## Installation

### Prérequis

**Configuration système :**

- Docker Engine 20.20+ et Docker Compose 2.0+
- 8 Go de RAM minimum (16 Go recommandés pour exécuter plusieurs outils)
- 20 Go d'espace disque libre (les images d'outils de sécurité sont volumineuses)
- Plateformes prises en charge : Linux, macOS, Windows (avec WSL2)

**Client MCP :**

- Claude Desktop, Cursor, Kiro ou tout client compatible MCP

### Configuration

1. **Cloner le dépôt** :   ```bash
   git clone https://github.com/nedlir/mcpwner.git
   cd mcpwner
  1. Configurez le serveur : ```bash cp config/config.yaml.example config/config.yaml

    Edit config/config.yaml as needed

    root@kitploit:~
  2. Démarrer les services: ```bash docker-compose up -d --build
    root@kitploit:~
  3. Vérifier que les services fonctionnent: ```bash docker-compose ps
    root@kitploit:~

Connectez votre IDE

Une fois les conteneurs Docker en cours d'exécution, ajoutez MCPwner à votre client MCP :

Important : Enregistrement dynamique des outils MCPwner utilise une architecture modulaire et optionnelle. Les outils de sécurité sont régis par les profiles Docker Compose.

  1. Le fichier .env (COMPOSE_PROFILES=sast,secrets,reconnaissance,dast,etc) dicte quels conteneurs sont mis en ligne. Alternativement, vous pouvez remplacer ce comportement et lancer des profils spécifiques via la CLI : docker compose --profile sast --profile dast up -d.
  2. Le serveur MCP sonde dynamiquement les conteneurs en cours d'exécution au démarrage et enregistre uniquement les outils sains auprès de votre LLM.
  3. Si vous souhaitez omettre des outils spécifiques (par exemple semgrep), omettez leur catégorie (sast) du fichier .env et listez manuellement les autres outils souhaités (bandit,gosec,codeql).
  4. Remarque : Les outils de la catégorie utilities (par exemple Linguist, WireMock, Chromium) sont traités comme des dépendances centrales permanentes. Ils s'exécutent inconditionnellement avec docker compose up -d pour garantir que les dépendances critiques entre outils (comme la détection de langue) fonctionnent toujours.

Emplacements des fichiers de configuration :

  • Claude Desktop : ~/Library/Application Support/Claude/claude_desktop_config.json (macOS)
  • Cursor/Kiro : mcp.json dans votre projet ou votre répertoire de paramètres

Installation en un clic (nécessite Docker en cours d'exécution) :

Kiro Cursor Claude VS Code Windsurf

Configuration manuelle :

Ajoutez ce qui suit à votre fichier de configuration MCP :```json { "mcpServers": { "mcpwner": { "command": "docker", "args": ["exec", "-i", "mcpwner-server", "python", "src/server.py"], "env": {} } } }

root@kitploit:~
Redémarrez votre client MCP pour charger la nouvelle configuration du serveur.

### Analyse de projets locaux

Pour analyser des projets depuis votre machine hôte, montez-les dans le conteneur en ajoutant un volume dans `docker-compose.yaml`:```yaml
services:
  mcpwner:
    volumes:
      - /path/to/your/projects:/mnt/projects:ro

Utilisez ensuite l'outil create_workspace avec :

  • source_type="local"
  • source="/mnt/projects/my-project"

Persistance des données

MCPwner persiste automatiquement les métadonnées de l'espace de travail et de la base de données CodeQL lors des redémarrages du conteneur en utilisant un stockage basé sur des fichiers dans le volume Docker partagé (/workspaces/.metadata/). Aucune configuration requise - le système charge les données existantes au démarrage et les enregistre après chaque opération en utilisant des écritures atomiques pour éviter la corruption.

Contrôle du nettoyage de l'espace de travail :

cleanup_workspace fournit un contrôle granulaire :

  • delete_files=True, delete_metadata=False - Libérer de l'espace disque mais préserver l'historique de l'espace de travail (recommandé)
  • delete_files=True, delete_metadata=True - Suppression complète de l'espace de travail et des métadonnées
  • delete_files=False, delete_metadata=True - Supprimer de la liste mais conserver les fichiers sur le disque

Sauvegarde :```bash

Backup entire workspaces volume

docker run --rm -v mcpwner_workspaces:/data -v $(pwd):/backup
alpine tar czf /backup/workspaces-backup.tar.gz /data

Restore volume

docker run --rm -v mcpwner_workspaces:/data -v $(pwd):/backup
alpine tar xzf /backup/workspaces-backup.tar.gz -C /

root@kitploit:~
## Architecture

MCPwner utilise une communication basée sur HTTP entre les conteneurs pour prendre en charge les déploiements à distance futurs. Bien qu'actuellement optimisé pour une utilisation locale, l'architecture peut être adaptée pour des déploiements sur serveur distant avec des modifications mineures.

**Principes de conception :**

- Isolation des conteneurs pour l'exécution d'outils de sécurité
- Formats de sortie standardisés pour la consommation par LLM (SARIF/JSON)
- Architecture de plugin extensible pour de nouveaux outils
- API sans état (les mémoires sont gérées par l'utilisateur)

**Aperçu de l'architecture :**```mermaid
graph LR
    subgraph IDE[" "]
        LLM[🤖<br/>LLM]
        Client[MCP Client]
        LLM -.-> Client
    end

    Server[MCPwner Server]

    SAST[SAST Tools]
    Secrets[Secrets Scanning]
    SCA[SCA Tools]
    Recon[Reconnaissance]
    CodeQL[CodeQL Service]
    Linguist[Language Detection]
    Utilities[Utilities]
    IaC[IaC Security]
    Fuzzing[Source Fuzzing]
    DAST[DAST Tools]

    Client -->|JSON-RPC 2.0| Server
    Server -->|HTTP| SAST
    Server -->|HTTP| Secrets
    Server -->|HTTP| SCA
    Server -->|HTTP| Recon
    Server -->|HTTP| CodeQL
    Server -->|HTTP| Linguist
    Server -->|HTTP| Utilities
    Server -->|HTTP| IaC
    Server -->|HTTP| Fuzzing
    Server -->|HTTP| DAST

    style LLM fill:#7C3AED,stroke:#5B21B6,stroke-width:3px,color:#fff
    style Client fill:#4A90E2,stroke:#2E5C8A,stroke-width:3px,color:#fff
    style Server fill:#F5A623,stroke:#C17D11,stroke-width:3px,color:#fff
    style SAST fill:#E74C3C,stroke:#C0392B,stroke-width:2px,color:#fff
    style Secrets fill:#9B59B6,stroke:#7D3C98,stroke-width:2px,color:#fff
    style SCA fill:#1ABC9C,stroke:#16A085,stroke-width:2px,color:#fff
    style Recon fill:#00BCD4,stroke:#0097A7,stroke-width:2px,color:#fff
    style CodeQL fill:#E67E22,stroke:#CA6F1E,stroke-width:2px,color:#fff
    style Linguist fill:#3498DB,stroke:#2874A6,stroke-width:2px,color:#fff
    style Utilities fill:#6D28D9,stroke:#4C1D95,stroke-width:2px,color:#fff
    style IaC fill:#059669,stroke:#047857,stroke-width:2px,color:#fff
    style Fuzzing fill:#B91C1C,stroke:#7F1D1D,stroke-width:2px,color:#fff
    style DAST fill:#D35400,stroke:#A04000,stroke-width:2px,color:#fff
    style IDE fill:none,stroke:#ddd,stroke-width:2px,stroke-dasharray: 5 5

Outils MCP disponibles

MCPwner expose les outils suivants via l'interface MCP :

Gestion des espaces de travail :

  • create_workspace - Initialiser un espace de travail de scan à partir d'un chemin local, d'une URL Git ou d'un dépôt GitHub
  • list_workspaces - Lister tous les espaces de travail disponibles
  • cleanup_workspace - Supprimer un espace de travail et les données associées

Registre des constatations :

Limité à l'espace de travail, persistant sur disque (<workspace>/findings/<id>.json) et toujours disponible — aucun conteneur ni contrôle d'intégrité requis. C'est la source de vérité pour le pipeline de recherche multi-agent : chaque hypothèse, résultat de PoC et verdict de révision est une entrée de constatation plutôt qu'un texte.

  • upsert_finding - Créer ou mettre à jour une constatation. Fusionne en profondeur avec une entrée existante par défaut, de sorte qu'un agent peut écrire son propre sous-objet (ex. poc) sans écraser les champs d'un autre agent (ex. review)
  • list_findings - Lister toutes les constatations dans un espace de travail, éventuellement filtrées par status (ex. poc-confirmed, review-approved)
  • get_finding - Récupérer une seule constatation par son identifiant

SAST (Analyse statique) :

  • run_sast_scan - Exécuter des outils d'analyse statique (Semgrep, Bandit, Gosec, Brakeman, PMD, Psalm, NodeJsScan, Joern, YASA)
  • get_sast_report - Récupérer les résultats du scan SAST
  • sast_list_tools - Lister les outils SAST disponibles

Détection de secrets :

  • run_secrets_scan - Exécuter des outils de détection de secrets (Gitleaks, TruffleHog, Whispers, detect-secrets, Hawk-Eye)
  • get_secrets_report - Récupérer les résultats du scan de secrets
  • secrets_list_tools - Lister les outils de détection de secrets disponibles

SCA (Analyse de composition logicielle) :

  • run_sca_scan - Analyser les dépendances pour les vulnérabilités (Grype, Syft, OSV-Scanner, Retire.js)
  • get_sca_report - Récupérer les résultats du scan SCA
  • sca_list_tools - Lister les outils SCA disponibles

Reconnaissance :

  • run_reconnaissance_scan - Exécuter un seul outil de reconnaissance (Subfinder, Amass, Nmap, Masscan, httpx, Katana, ffuf, bbot, gau, Arjun, wafw00f, Kiterunner)
  • run_reconnaissance_chain - Enchaîner plusieurs outils de reconnaissance séquentiellement
  • get_reconnaissance_report - Récupérer les résultats du scan de reconnaissance
  • reconnaissance_list_tools - Lister les outils de reconnaissance disponibles

CodeQL :

  • detect_languages - Détecter les langages dans une base de code via Linguist
  • create_codeql_database - Créer une base de données CodeQL pour l'analyse
  • list_databases - Lister les bases de données CodeQL disponibles
  • list_query_packs - Lister les packs de requêtes disponibles
  • execute_query - Exécuter des requêtes CodeQL spécifiques

Sécurité de l'infrastructure et IaC :

  • run_iac_scan - Scanner les configurations d'infrastructure en tant que code pour les mauvaises configurations (Checkov, KICS, Terrascan, TFSec, Hadolint)
  • get_iac_report - Récupérer les résultats du scan IaC
  • iac_list_tools - Lister les outils de scan IaC disponibles

Fuzzing source :

  • run_fuzzing_scan - Exécuter une campagne de fuzzing guidé par couverture en boîte blanche contre un harnais par cible (Atheris, Jazzer, Jazzer.js, PHP-Fuzzer)
  • get_fuzzing_report - Récupérer les résultats de crash du fuzzing (entrée crash + trace de pile)
  • fuzzing_list_tools - Lister les moteurs de fuzzing disponibles, filtrés par langage détecté

DAST (Test de sécurité dynamique des applications) :

  • run_dast_scan - Exécuter des outils de test de sécurité dynamique des applications (sqlmap, NoSQLMap, Commix, Dalfox, SSTImap, SSRFmap, jwt_tool, interactsh)
  • get_dast_report - Récupérer les résultats du scan DAST
  • dast_list_tools - Lister les outils DAST disponibles

Utilitaires :

  • run_utilities_scan - Exécuter un outil utilitaire contre une cible en direct (Linguist, WireMock, Mitmproxy, aiohttp, Headless Chromium)
  • get_utilities_report - Récupérer les résultats du scan utilitaire
  • utilities_list_tools - Lister les outils utilitaires disponibles et leurs options de configuration

Santé et surveillance :

  • health_check - Vérifier la disponibilité du serveur et des outils
  • list_tools - Lister tous les outils disponibles et leur statut

Considérations de sécurité

MCPwner exécute des outils de sécurité pouvant effectuer des opérations intrusives. Utilisez-le uniquement sur des systèmes et des bases de code que vous possédez ou pour lesquels vous avez une autorisation explicite de test — l'accès non autorisé est illégal. Limitez l'accès au serveur MCP aux utilisateurs autorisés et envisagez l'isolation réseau pour les déploiements en production. Examinez les configurations des outils avant d'exécuter des scans, car certains outils peuvent générer un trafic réseau ou une charge système importants. Consignez l'exécution des outils et les résultats, en gardant à l'esprit que les scans de sécurité peuvent déclencher des alertes dans les systèmes de surveillance. Suivez les pratiques de divulgation responsable lors du signalement des vulnérabilités découvertes à l'aide de MCPwner. Maintenez les images Docker à jour et analysez régulièrement les conteneurs pour détecter les vulnérabilités. Ne commettez jamais de clés API, de jetons ou d'identifiants dans les fichiers de configuration — utilisez des variables d'environnement ou des systèmes de gestion de secrets à la place.

De plus, vous êtes responsable de votre propre sécurité lors de l'utilisation de ces outils et de l'accès à des bibliothèques tierces ; il est suggéré d'exécuter le tout dans un environnement sandboxé et sans authentification spéciale (minimisé et durci lorsque cela est réalisable).

Télécharger l’outil
SubfinderAmassNmapMasscanffuf
bbothttpxKatanagauArjun
wafw00fKiterunner

Outils d'analyse statique (SAST)

CodeQLPsalmGosecBanditSemgrep

BrakemanPMDNodeJsScanJoernYASA

Fuzzing de code source

AtherisJazzerJazzer.jsPHP-Fuzzer

Outils de recherche de secrets

GitleaksTruffleHogdetect-secretsWhispersHawk-Eye

Outils d'analyse de composition logicielle (SCA)

GrypeSyftOSV-ScannerRetire.js

Sécurité de l'infrastructure et IaC

CheckovKICSTerrascanTFSecHadolint

Tests de sécurité dynamiques (DAST)

sqlmapNoSQLMapCommixDalfoxSSTImap

SSRFmapjwt_toolinteractsh

Utilitaires

LinguistWireMockMitmproxyaiohttpChromium w. Playwright