Cadre de test de pénétration alimenté par l’IA qui orchestre 20+ outils de sécurité via LLM pour la reconnaissance automatisée, l’analyse des vulnérabilités, l’exploitation et la création de rapports.
# Cloner le référentiel
git clone https://github.com/SHAdd0WTAka/zen-ai-pentest.git
cd zen-ai-pentest
# Installer les dépendances
pip install -r requirements.txt
# Copier et configurer l'environnement
cp .env.example .env
# Éditer .env avec vos clés API et paramètres
nano .env
# Déploiement en une seule commande avec tous les outils de sécurité pré-installés
docker-compose up -d
# Vérifier que les conteneurs s'exécutent
docker-compose ps
# Afficher les journaux
docker-compose logs -f
# Charger tous les alias de commande k-*
source tools/setup_aliases.sh
# Vérifier l'installation
k-recon --help
k-exploit --help
| Commande | Description |
|---|
k-recon "Target: example.com" | Exécuter la reconnaissance guidée par l’IA sur une cible |
k-exploit "Target: 192.168.1.1" | Lancer l’agent d’exploitation contre la cible |
k-report | Générer un rapport de test de pénétration |
k-audit | Exécuter les opérations d’audit de sécurité |
source tools/setup_aliases.sh | Charger tous les alias d’outils CLI |
docker-compose up -d | Démarrer le cadre avec Docker |
docker-compose logs -f | Suivre les journaux des conteneurs |
docker-compose down | Arrêter tous les conteneurs |
| Agent | Objectif |
|---|
k-recon | Reconnaissance — collecte d’informations, énumération des sous-domaines, analyse des ports |
k-exploit | Exploitation — validation des vulnérabilités, livraison de payload |
k-report | Rapports — compiler les résultats en rapports de test de pénétration structurés |
k-audit | Audit — vérifications de conformité, examen de la configuration |
k-social | Ingénierie sociale — simulation de phishing, évaluation du prétexte |
k-network | Analyse réseau — inspection du trafic, analyse de protocole |
k-mobile | Sécurité mobile — test d’applications Android/iOS |
k-redteam | Opérations red team — simulation d’adversaire, mouvement latéral |
k-ics | ICS/SCADA — évaluation de la sécurité des systèmes de contrôle industriel |
k-cloud | Sécurité cloud — analyse de mauvaise configuration AWS, Azure, GCP |
k-crypto | Analyse cryptographique — évaluation des suites de chiffrement, vérification des certificats |
| Commande | Description |
|---|
k-recon "Target: example.com" | Analyse de reconnaissance complète |
k-recon "Subdomain enumeration: example.com" | Énumérer les sous-domaines |
k-recon "Port scan: 192.168.1.0/24" | Analyser la plage réseau pour les ports ouverts |
k-recon "DNS enumeration: example.com" | Découverte des enregistrements DNS |
k-recon "Technology fingerprint: example.com" | Identifier les technologies web |
k-recon "OSINT gather: target_org" | Collecte de renseignements à source ouverte |
k-recon "SSL analysis: example.com" | Analyser la configuration SSL/TLS |
| Commande | Description |
|---|
k-exploit "Vuln scan: example.com" | Analyse automatisée des vulnérabilités |
k-exploit "Web app test: https://example.com" | Test de sécurité des applications web |
k-exploit "SQL injection: https://example.com/login" | Test d’injection SQL |
k-exploit "XSS scan: https://example.com" | Détection des attaques par scripts inter-sites |
k-exploit "API test: https://api.example.com" | Évaluation de la sécurité API |
k-exploit "Auth bypass: https://example.com/admin" | Test de contournement d’authentification |
| Outil | Catégorie | Utilisé par |
|---|
| Nmap | Analyse réseau | k-recon, k-network |
| SQLMap | Injection SQL | k-exploit |
| Metasploit | Cadre d’exploitation | k-exploit, k-redteam |
| Burp Suite | Test d’application web | k-exploit |
| Gobuster | Forçage brut de répertoires | k-recon |
| Nuclei | Analyse basée sur les modèles | k-exploit |
| BloodHound | Active Directory | k-redteam |
| Nikto | Analyse de serveur web | k-recon |
| Hydra | Craquage de mot de passe | k-exploit |
| John the Ripper | Craquage de hash | k-exploit |
| Amass | Énumération de sous-domaines | k-recon |
| Subfinder | Découverte de sous-domaines | k-recon |
| ffuf | Fuzzer web | k-exploit |
| Responder | Empoisonnement réseau | k-network |
| Impacket | Protocoles réseau | k-network, k-redteam |
| Commande | Description |
|---|
k-report | Générer un rapport de test de pénétration complet |
k-report --format json | Exporter les résultats en JSON |
k-report --format junit | Exporter en JUnit XML (intégration CI/CD) |
k-report --format sarif | Exporter en SARIF (intégration GitHub/GitLab) |
k-report --compliance pci | Générer un rapport de conformité PCI-DSS |
k-report --compliance hipaa | Générer un rapport de conformité HIPAA |
k-report --compliance gdpr | Générer un rapport de conformité RGPD |
# .github/workflows/pentest.yml
name: Security Scan
on: [push]
jobs:
pentest:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: SHAdd0WTAka/zen-ai-pentest@v2
with:
target: ${{ secrets.SCAN_TARGET }}
mode: recon
output: sarif
# .gitlab-ci.yml
security_scan:
image: shadd0wtaka/zen-ai-pentest:latest
script:
- k-recon "Target: $SCAN_TARGET"
- k-report --format junit
artifacts:
reports:
junit: report.xml
| Variable | Description | Exemple |
|---|
OPENAI_API_KEY | Clé API OpenAI pour le raisonnement LLM | sk-... |
ANTHROPIC_API_KEY | Clé API Anthropic (LLM alternatif) | sk-ant-... |
SCAN_TARGET | Cible par défaut pour les analyses | example.com |
REPORT_FORMAT | Format de rapport par défaut | json, sarif, junit |
MAX_THREADS | Nombre maximum de fils d’analyse concurrente | 10 |
TIMEOUT | Délai d’expiration de l’analyse en secondes | 3600 |
PROXY | Proxy pour le trafic d’analyse | http://127.0.0.1:8080 |
| Mode | Description |
|---|
| Interactive | Engagement continu avec des décisions guidées par l’IA |
| One-shot | Exécution unique avec paramètres prédéfinis |
| Pipeline | Intégration CI/CD avec codes de sortie et rapport d’état |
| Autonomous | Analyse entièrement pilotée par l’IA avec interaction humaine minimale |
- Toujours obtenir l’autorisation appropriée avant d’analyser une cible
- Commencer par la reconnaissance avant l’exploitation
- Utiliser le drapeau
--proxy pour acheminer le trafic via Burp Suite pour examen manuel
- Examiner les décisions de l’IA en mode interactif avant de permettre l’exploitation autonome
- Générer des rapports de conformité pour les exigences réglementaires
- Utiliser le déploiement Docker pour la cohérence des versions d’outils entre les membres de l’équipe
- Configurer la limitation du débit pour éviter de surcharger les systèmes cibles
- Stocker les résultats d’analyse dans le contrôle de version pour les pistes d’audit