Agent de test d'intrusion piloté par IA qui se connecte à une machine Kali, exécute automatiquement des outils de sécurité, analyse les résultats et itère via des workflows basés sur le navigateur.
Un agent de test d'intrusion open-source piloté par l'IA. Il se connecte à une machine d'attaque Kali, exécute des outils de manière autonome, analyse les résultats et itère. Vous décrivez la cible. Il fait le reste.
Conçu pour les missions réelles, les machines boot2root et les CTF.
Pentest Copilot réalisant un contournement d'authentification dans OWASP Juice Shop :
Regardez-le sur YouTube
.ovpn/.conf avec les certificats, clés ou identifiants référencés et connectez-vous/déconnectez-vous depuis le navigateur. Connexions simultanées multiples prises en charge.git clone https://github.com/bugbasesecurity/pentest-copilot.git
cd pentest-copilot
./run.sh start
Ouvrez http://localhost:3000, inscrivez-vous et démarrez une session.
run.sh attend que le frontend, le backend, MongoDB et Redis soient prêts avant
de signaler le succès. Si le démarrage échoue, il affiche l'état des conteneurs
concernés et les journaux récents. Configurez et assignez un modèle sous Settings -> Models après le
premier démarrage.
Sous Windows, exécutez Pentest Copilot dans WSL2 avec l'intégration WSL de Docker Desktop
activée. Les hôtes de travail PowerShell natif et SSH Windows ne sont pas
pris en charge car les commandes de l'espace de travail nécessitent un shell POSIX. Pour des permissions de fichiers et des performances fiables, clonez le dépôt dans le système de fichiers WSL, pas
sous /mnt/c.
Settings -> Models détecte les CLI Codex et Claude Code authentifiés. Authentifiez-vous une fois sur la machine qui exécute le CLI :
codex login
claude auth login
Sélectionnez ensuite Use Codex ou Use Claude Code. Le CLI officiel gère la connexion, le rafraîchissement et la gestion des droits d'abonnement ; Pentest Copilot ne copie ni ne rejoue les jetons OAuth. Les transports d'abonnement reçoivent le même historique de conversation et les mêmes schémas de fonctions que les fournisseurs API et renvoient le même contrat d'appel assistant/outil, de sorte que Pentest Copilot continue d'exécuter les outils et les contrôles de consentement.
Le backend Docker inclut le CLI Codex Linux et monte uniquement le fichier
~/.codex/auth.json de l'hôte, suivant le flux documenté de transfert de connexion headless/Docker de Codex. Définissez CODEX_AUTH_FILE avant docker compose up si votre
fichier d'identifiants se trouve ailleurs. Le CLI peut rafraîchir ce fichier pendant son utilisation
normale ; ne le commitez ni ne le partagez jamais. Les identifiants uniquement dans le Keychain de l'hôte et Claude Code
restent disponibles uniquement en mode développeur/hôte jusqu'à ce qu'un pont d'inférence hôte soit
configuré. L'utilisation de l'abonnement Claude relève du contrôle du CLI local et doit être conforme aux conditions actuelles d'Anthropic relatives aux produits tiers et aux abonnements.
Les familles de modèles de premier ordre actuelles incluent GPT-5.6 Sol/Terra/Luna, Claude Fable/Opus/Sonnet 5, et Kimi K3 (API Moonshot directe ou OpenRouter).
En mode Docker, Pentest Copilot monte les répertoires ~/.ssh et ~/keys
de l'hôte en lecture seule. Chaque espace de travail peut sélectionner un alias Host concret depuis
~/.ssh/config sous Connection. Chaque session de cet espace de travail utilise
le même hôte et le même dossier de travail sans copier les clés privées dans MongoDB. Définissez
HOST_SSH_DIR ou HOST_SSH_KEYS_DIR avant de démarrer Docker lorsque ces
répertoires se trouvent ailleurs.
Utilisez des alias nommés plutôt que des entrées avec uniquement des jokers :
Host lab-box
HostName 10.10.10.10
User root
IdentityFile ~/.ssh/lab-box.pem
run.sh gère la génération des fichiers de configuration, les builds Docker et l'orchestration des conteneurs. Utilisez ./run.sh start -q pour réutiliser le mode de lancement précédent et ignorer les invites lors des exécutions suivantes.
Pour la matrice complète des scénarios OS, Docker, SSH, VPN, proxy, permissions, récupération et déploiement, consultez Setup and Troubleshooting.
./run.sh stop # Stop all containers
./run.sh logs # Tail logs
./run.sh status # Container status
./run.sh backup # Back up databases, configuration, and workspaces
./run.sh config # Update configuration
./run.sh dev # Developer mode (infra only, run frontend/backend locally)
./run.sh help # Full help
Pentest Copilot peut exposer son plan de contrôle local via MCP pour des clients tels que Claude Code ou Codex. Ouvrez Settings -> MCP Access pour copier l'endpoint MCP local et le jeton bearer.
Traitez le jeton comme un accès administrateur local : il peut exécuter des commandes sur la machine d'exploitation configurée, opérer Burp, l'automatisation du navigateur et les flux VPN, lire les artefacts, écrire des résultats et mettre à jour la configuration locale de Pentest Copilot. Les actions MCP liées à un engagement sont enregistrées dans cette session afin qu'elles restent visibles dans l'interface de Pentest Copilot.
Après avoir copié l'endpoint et le jeton, vous pouvez tester la connexion MCP :
cd backend
PENTEST_COPILOT_MCP_URL=http://localhost:8080/mcp \
PENTEST_COPILOT_MCP_TOKEN=pc_mcp_... \
corepack pnpm run mcp:smoke
| Minimum | |
|---|---|
| RAM | 8 GB (+2 GB if using the built-in Kali container) |
| Disk | 20 GB |
| Docker | v20+ with Compose v2+ |
| Node.js | v22+ (dev mode only) |
| pnpm | v9+ (dev mode only) |
Le mode Docker lie son interface et ses ports de service à 127.0.0.1 par défaut. N'exposez pas
la stack à un LAN ou à Internet sans TLS, authentification et une
configuration délibérée de reverse-proxy. En mode Kali intégré, conservez les fichiers d'espace de travail durables sous /kali-data ; les fichiers ailleurs dans le conteneur Kali sont supprimés lors de la recréation du conteneur.
Le guide Setup and Troubleshooting présent dans le dépôt est la source de référence pour l'installation, la configuration, la récupération et le déploiement. Le Wiki contient une référence de fonctionnalités supplémentaire et peut être en retard sur la version actuelle :
./run.sh dev # Starts MongoDB + Redis in Docker
Puis dans des terminaux séparés :
cd backend && pnpm install && pnpm run watch # TypeScript compiler
cd backend && pnpm run dev # Backend server (port 8080)
cd frontend && pnpm install && pnpm run dev # Frontend (port 3000)
Pour la configuration de développement et le dépannage, consultez le guide Setup and Troubleshooting.
@article{goyal2024hacking,
title={Hacking, the lazy way: LLM augmented pentesting},
author={Goyal, Dhruva and Subramanian, Sitaraman and Peela, Aditya},
journal={arXiv preprint arXiv:2409.09493},
year={2024}
}
Les contributions sont les bienvenues. Consultez le Contributing Guide et le Code of Conduct.
Pentest Copilot est destiné uniquement aux tests de sécurité autorisés. Obtenez toujours une autorisation explicite avant de tester un système.