
Dark-Moon v1.3.1
Moteur de pentest IA autonome, sécurité offensive continue sur le web, le cloud, l'AD et Kubernetes. Raisonnement agentique + exécution réelle d'exploits pour fournir des vulnérabilités basées sur des preuves. Passerelle de confidentialité : le LLM ne voit jamais vos vraies IP, hôtes, identifiants ou chemins (placeholders déterministes réhydratés localement), rien ne quitte votre périmètre.

DarkMoon
La plateforme open-source de tests d'intrusion par IA qui réalise un pentest complet en autonomie, sans jamais fuiter vos données
Pointez DarkMoon vers une cible autorisée. 50 agents IA spécialisés raisonnent, enchaînent de véritables exploits à travers le web, le cloud, Active Directory et Kubernetes, et fournissent une preuve pour chaque découverte. Auto-hébergée, et le modèle ne voit jamais que IP_PRIVATE_001, jamais vos vraies IP, hôtes ou identifiants.
⭐ Star DarkMoon · ▶️ Regarder la démo de 60 s · 🚀 Démarrage rapide · 📊 Benchmark de 57 vulnérabilités
Présenté dans Help Net Security · Cyber Security News · DevOps.com · SecurityBrief · LinuxLinks · IT Brief · ChannelLife
▶️ Regarder DarkMoon exécuter un test d'intrusion entièrement autonome
Qu'est-ce que DarkMoon ?
DarkMoon est une plateforme open-source de tests d'intrusion par IA. Pointez-la vers une cible que vous êtes autorisé à tester, et elle exécute l'ensemble de l'évaluation en autonomie : elle raisonne, planifie et répartit 50 agents spécialisés qui réalisent de véritables opérations offensives via une couche MCP contrôlée, puis rapporte chaque vulnérabilité avec la commande exacte, la sortie brute et la preuve associée.
Elle ne remplace pas le pentester. Elle élimine la partie répétitive d'une évaluation avec des preuves à l'appui, afin que vos experts consacrent leur temps au jugement, et non à la corvée.
Pourquoi DarkMoon ?
- 🌐 Au-delà du web — un système agentique unique couvrant le web, les API, Active Directory, Kubernetes, le cloud (AWS, Azure, GCP), les CI/CD, les bases de données et les firmwares IoT, enchaînés de bout en bout
- 🕶️ Vos données n'atteignent jamais le LLM — une tokenisation locale réversible transforme les vraies IP, noms d'hôtes, URL, identifiants et chemins en espaces réservés déterministes (
IP_PRIVATE_001, ...), réhydratés localement uniquement au moment où un outil s'exécute et masqués à nouveau dans chaque résultat. Fonctionne entièrement sur un modèle local. Et cela ne vous coûte jamais une commande : lorsqu'une valeur est destinée à un endroit où elle ne doit pas aller, la commande s'exécute quand même et le destinataire reçoit l'espace réservé à la place. C'est la partie qu'aucun concurrent cloud n'a. - 🧾 Des preuves, pas des scores — chaque découverte est livrée avec la commande exacte et la sortie brute, reproductible, donc rien à croire aveuglément et presque rien à trier
- 🔧 50 agents spécialisés, plus de 50 outils offensifs — Nuclei, NetExec, BloodHound, sqlmap, Impacket, Naabu, httpx, ffuf et bien d'autres, orchestrés via MCP
- 🛡️ La sécurité par conception — l'IA n'exécute jamais une commande directement ; chaque action passe par une interface MCP contrôlée et journalisée
- ♾️ Natif CI/CD — déclenchez un pentest dans le pipeline et récupérez les découvertes sous forme d'artefacts
- 📖 Rien de caché — GPLv3, auto-hébergé, la méthodologie de chaque agent est en Markdown simple que vous pouvez lire, différencier et forker
Conçu pour les équipes de sécurité, les ingénieurs DevSecOps, les red teamers et les professionnels du hacking éthique.
📊 Benchmark : 57 vulnérabilités réelles sur OWASP Juice Shop
Exécution black-box réelle et reproductible contre OWASP Juice Shop sur un LLM local (rien ne quitte votre infrastructure) :
| Métrique | Résultat |
|---|---|
| Vulnérabilités trouvées | 57 (8 critiques / 24 élevées / 21 moyennes / 4 faibles) |
| Temps réel écoulé | 28,5 min |
| Preuve d'exploitation | par découverte |
| LLM | local (Ollama / llama.cpp) |
Reproduisez-le et comparez les outils vous-même : ASCIT31/Darkmoon-Benchmarks.
🆚 Comparaison de DarkMoon
| DarkMoon | strix | shannon | PentAGI | |
|---|---|---|---|---|
| Fonctionne sur LLM local (les données ne sortent jamais) | ✅ | ❌ cloud | ❌ cloud | partiel |
| Passerelle de confidentialité (tokenisation locale) | ✅ | ❌ | ❌ | ❌ |
| Active Directory + Kubernetes | ✅ | ❌ | ❌ | partiel |
| Preuve d'exploitation | ✅ | ✅ | ✅ | ✅ |
| Open source | ✅ GPL-3.0 | ✅ | ✅ | ✅ |
Compilé à partir de dépôts/docs publics (2026-08) ; corrections bienvenues via PR.
Démarrage rapide
Prérequis
- Docker et Docker Compose
- Une clé API LLM (OpenRouter, Anthropic, OpenAI, ou modèles locaux)
Remarque : La configuration GPU, le dépannage des pilotes NVIDIA et la configuration avancée de l'environnement sont couverts dans la Documentation complète, Dépannage GPU.
Installation
1. Cloner le dépôt
git clone https://github.com/ASCIT31/Dark-Moon.git
cd Dark-Moon
2. Configurer votre fournisseur LLM
install.sh gère la configuration du fournisseur de manière interactive, sans avoir à modifier docker-compose.yml :
./install.sh # ignore le formulaire si .opencode.env est déjà configuré
./install.sh --init # force la reconfiguration (modèle cloud ou local)
./install.sh --help # affiche l'aide
Prend en charge les fournisseurs cloud (Anthropic, OpenAI, OpenRouter…) et les modèles locaux (Ollama, llama.cpp).
Remarque : Pour tous les détails sur les variables d'environnement et la configuration des modèles locaux, voir la Documentation complète, Variables d'environnement.
3. Construire et lancer
./install.sh # Installation propre avec réinitialisation complète de la pile
4. Lancer votre première évaluation
./darkmoon.sh "TARGET: example.com"
5. Surveiller en temps réel
./darkmoon.sh --log <session_id>
Remarque : Les journaux de session en temps réel affichent chaque commande exécutée par le serveur MCP. Voir Documentation complète, Journaux de session pour plus de détails.
Comment ça fonctionne
DarkMoon fonctionne comme un orchestrateur d'agents de sécurité IA stratégique aligné sur les méthodologies ISO 27001, NIST SP 800-115 et MITRE ATT&CK.
Lorsque vous fournissez une cible, la plateforme automatiquement :
- 🔍 Découvre l'environnement cible (ports, services, protocoles)
- 🧠 Identifie la pile technologique (frameworks, CMS, API)
- 🎯 Modélise la surface d'attaque
- 🚀 Déploie des sous-agents spécialisés en fonction des technologies détectées
- 🔬 Exécute une boucle d'analyse de vulnérabilités intelligente avec adaptation réactive
- ✅ Valide les découvertes avec des preuves (requêtes, payloads, réponses)
- 📝 Génère un rapport d'audit structuré
Orchestration des sous-agents
DarkMoon sélectionne et répartit dynamiquement des agents spécialisés selon les technologies découvertes :
| Technologie détectée | Agent déclenché |
|---|---|
| WordPress, Drupal, Joomla, Magento, PrestaShop, Moodle | Agent spécifique CMS |
| PHP, Node.js, Flask, ASP.NET, Spring Boot, Ruby on Rails, Go | Agent spécifique à la pile |
| GraphQL | Agent GraphQL |
| Point de terminaison d'inférence LLM / IA (compatible OpenAI, Ollama, vLLM, TGI) | Agent LLM |
| Active Directory | Agent AD |
| Kubernetes | Agent Kubernetes |
| AWS, Azure, GCP | Agent fournisseur cloud |
| Entra ID (identité Microsoft) | Agent identité |
| GitHub, GitLab, Jenkins | Agent SCM et CI/CD |
| Terraform, Ansible | Agent Infrastructure-as-Code |
| Docker, registres de conteneurs | Agent conteneurs |
| HashiCorp Vault | Agent secrets |
| PostgreSQL, MySQL, MSSQL, Oracle | Agent bases de données |
| Redis, RabbitMQ, Kafka, MQTT | Agent messagerie et cache |
| Images firmware / IoT | Agent firmware |
| Navigateur sans tête requis | Agent navigateur sans tête |
Plusieurs agents peuvent s'exécuter en parallèle sur des architectures hybrides.
Les plans qui nécessitent des identifiants pour avoir un sens (comptes cloud, CI/CD, coffres de secrets, bases de données, Active Directory, Kubernetes) ne sont jamais répartis sur inférence. Ils ne se déclenchent que lorsqu'un artefact concret est trouvé (une clé, un jeton, un point de terminaison de métadonnées accessible) ou lorsque vous les autorisez explicitement, et sont sinon signalés dans le rapport.
Remarque : Pour la liste complète des agents, leur structure, leur cycle de vie et la création d'agents personnalisés, voir Documentation complète, Agents IA.
Vue d'ensemble de l'architecture
User ──> DarkmoonCLI ──> OpenCode (AI Brain) ──> MCP (Security Gatekeeper) ──> Docker Toolbox (Real Tools)
sequenceDiagram
participant U as User
participant O as OpenCode
participant A as AI Agent
participant M as MCP Darkmoon
participant T as Docker Toolbox
U->>O: User prompt
O->>A: Delegate task
A->>M: MCP function call
M->>T: Execute real tool
T-->>M: Results
M-->>A: Structured output
A-->>O: Next decision
O-->>U: Summary / result
L'IA raisonne et planifie. Le MCP contrôle ce qui peut être exécuté. La Toolbox exécute des outils isolés dans Docker. L'IA ne touche jamais directement au système, c'est la sécurité par conception.
Remarque : Pour la répartition complète de l'architecture (diagrammes de déploiement, flux réseau, frontières de sécurité), voir Documentation complète, Architecture.
Définition du périmètre
DarkMoon prend en charge une définition flexible du périmètre directement depuis la ligne de commande.
Pentest rapide (zéro configuration) :
./darkmoon.sh "TARGET: http://172.19.0.3:3000"
Mode bug bounty (les drapeaux s'activent automatiquement) :
./darkmoon.sh "TARGET: http://172.19.0.3:3000 PROGRAM=\"Juice Shop\" FOCUS=sqli,xss,idor NOISE=moderate FORMAT=h1"
Les drapeaux clés incluent FOCUS, EXCLUDE, CREDS, TOKEN, NOISE, SEVERITY, FORMAT, et bien d'autres, tous interprétés naturellement par l'IA.
Remarque : Pour la référence complète des drapeaux, les types d'actifs, la syntaxe libre EXCLUDE/FOCUS et le cadrage avancé multi-cibles, voir Documentation complète, Définition du périmètre.
Toolbox intégrée
DarkMoon est livré avec une image Docker dédiée contenant plus de 50 outils de sécurité compilés et optimisés dans une construction multi-étapes :
| Catégorie | Outils (exemples) |
|---|---|
| Analyse de ports | Naabu (découverte), nmap (sondes de services ciblées) |
| Analyse web | Nuclei, ffuf, dirb, sqlmap, Arjun, wafw00f |
| Recon et exploration | Subfinder, Katana, Waybackurls, httpx |
| CMS | WPScan, CMSeeK, WhatWeb |
| Active Directory | NetExec, BloodHound, Impacket (plus de 30 scripts) |
| Kubernetes | kubectl, Kubescape, Kubeletctl, kube-bench, rbac-police |
| CLI cloud | aws, az, gcloud, gsutil, bq |
| Bases de données et cache | psql, mysql, redis-cli, sqlite3 |
| Firmware / IoT | binwalk, unsquashfs, sasquatch, firmwalker |
| Cassage | hashcat, john, 7z2john |
| Réseau | Hydra, curl, dig, outils SNMP |
| Navigateur | Lightpanda (sans tête) |
Tous les outils sont directement accessibles, aucune configuration de chemin nécessaire.
Remarque : Pour la liste complète des outils avec les détails d'installation et la manière d'ajouter de nouveaux outils, voir Documentation complète, Toolbox.
📖 Guide de documentation
La Documentation complète de DarkMoon couvre tout ce dont vous avez besoin pour exploiter la plateforme. Voici une référence rapide des sections les plus importantes :
| Sujet | Ce que vous y trouverez | Lien |
|---|---|---|
| Configuration GPU et pilotes | Dépannage NVIDIA pour Docker, WSL et Linux natif | Guide GPU |
| Variables d'environnement | Configuration du fournisseur LLM, clés API, sélection du modèle | Configuration de l'environnement |
| Démarrage et construction | Comportement d'install.sh, docker compose build, gestion de la pile | Construction et lancement |
| Périmètre et drapeaux | Syntaxe TARGET, mode bug bounty, FOCUS/EXCLUDE, identifiants | Définition du périmètre |
| Flux de travail d'évaluation | Étape par étape : découverte, identification, agents, rapports | Moteur d'évaluation |
| Journaux de session en temps réel | Surveillez en direct les commandes exécutées par le serveur MCP | Journaux de session |
| Agents IA | Structure des agents, cycle de vie, création ou modification d'agents | Agents IA |
| Architecture | Diagrammes de déploiement, frontières de sécurité, flux d'exécution | Architecture |
| Toolbox | Liste complète des outils, ajout d'outils, internes de l'image Docker | Toolbox |
| Flux de travail MCP | Structure des flux de travail, création de flux personnalisés, bonnes pratiques | Flux de travail MCP |
| Liste des outils disponibles | Tableau complet des plus de 50 outils avec chemins et sources | Liste des outils |
| Laboratoires d'entraînement | Laboratoires vulnérables recommandés pour entraîner DarkMoon | Laboratoires pentester |
Cas d'utilisation
DarkMoon est conçu comme une plateforme polyvalente de tests de sécurité pour :
- 🔒 Les équipes de sécurité, exécutez des tests d'intrusion automatisés continus sur votre infrastructure
- ⚙️ Les pipelines DevSecOps, intégrez la recherche de sécurité pilotée par IA dans les flux de travail CI/CD
- 🎯 Les chasseurs de bug bounty, accélérez le hacking éthique avec une analyse autonome des cibles
- 🔬 Les chercheurs en sécurité, explorez les surfaces d'attaque avec une plateforme de cybersécurité IA qui s'adapte en temps réel
- 🎓 La formation et l'éducation, apprenez la sécurité offensive avec des évaluations guidées et reproductibles
Exemples de prompts
# Test d'intrusion d'application web
./darkmoon.sh "TARGET: http://172.19.0.3:3000"
# Évaluation Active Directory
./darkmoon.sh "TARGET: 192.168.1.10"
# Bug bounty avec un focus spécifique
./darkmoon.sh "TARGET: https://app.example.com PROGRAM=\"Example BB\" FOCUS=sqli,rce,ssrf EXCLUDE=H1 FORMAT=h1"
Remarque : Pour d'autres exemples de prompts incluant DVGA, Juice Shop et des scénarios de navigateur sans tête, voir Documentation complète, Exemples de prompts.
Contribution
DarkMoon est open source et accueille favorablement les contributions. Que vous souhaitiez ajouter de nouveaux agents, intégrer des outils, créer des flux de travail ou améliorer la documentation, consultez CONTRIBUTING.md pour les directives.
Licence
Ce projet est sous licence GNU General Public License v3.0. Voir LICENSE pour plus de détails.
Construit par ASC-IT avec 💚 pour la communauté mondiale de la sécurité
🔒 Open Source · 🤖 Propulsé par IA · 🇫🇷 Fabriqué en France
⭐ Star sur GitHub · 📖 Documentation complète · ▶️ Regarder la démo