
Serveur MCP de test d'intrusion piloté par IA
"Dans la mythologie japonaise, le Tengu est un esprit féroce de la montagne — maître stratège, guerrier et formateur de samouraïs. En cybersécurité, il vous guide à travers chaque phase de la chasse."
Du repérage au rapport — pentesting assisté par IA en une commande.
Tengu est un serveur MCP qui transforme Claude en copilote de test d'intrusion. Il orchestre 80 outils de sécurité — de Nmap à Metasploit — avec des contrôles de sécurité intégrés, une journalisation d'audit et des rapports professionnels.
Utilisez Claude comme copilote de pentest interactif — vous dirigez l'engagement, Claude choisit les bons outils et les enchaîne automatiquement.
git clone https://github.com/rfunix/tengu.git && cd tengu make docker-build make docker-up
Connectez Claude Code au serveur en cours d'exécution :```bash
claude mcp add --transport sse tengu http://localhost:8000/sse
Then ask Claude : Do a full pentest on http://192.168.1.100
Claude enchaîne automatiquement les outils : validate_target → whatweb → nmap → nikto → nuclei → sqlmap → correlate_findings → generate_report
| Commande | Ce qu'il démarre |
|---|---|
make docker-up | Serveur Tengu MCP (:8000) |
make docker-lab | + Juice Shop, DVWA (cibles d'entraînement sécurisées) |
make docker-pentest | + Metasploit, OWASP ZAP (cibles réelles) |
make docker-full | + Metasploit, ZAP, et cibles de laboratoire |
Scannez des cibles personnalisées sans modifier les fichiers :```bash TENGU_ALLOWED_HOSTS="192.168.1.0/24,10.0.0.0/8" make docker-up
### Niveaux d'images
Choisissez la taille adaptée à votre cas d'usage :
| Tier | Taille | Outils MCP | Cas d'usage |
|------|------|-----------|----------|
| `minimal` | ~480MB | 17 | Analyse légère, recherche CVE, reporting |
| `core` | ~7GB | 47 | Suite d'outils de test d'intrusion complète (par défaut) |
| `full` | ~8GB | 80 | Tout + AD, sans fil, furtivité/OPSEC |```bash
TENGU_TIER=minimal make docker-build # lightweight
TENGU_TIER=core make docker-build # default
TENGU_TIER=full make docker-build # everything
Tous les niveaux incluent les 35 invites et 20 ressources — seuls les outils binaires diffèrent.
Prérequis : Python 3.12+, uv, Kali Linux (recommandé)```bash
git clone https://github.com/rfunix/tengu.git && cd tengu
uv sync
make install-tools
uv run tengu
Connecter Claude Code :```bash
claude mcp add --scope user tengu -- uv run --directory /path/to/tengu tengu
Configurez les cibles autorisées dans tengu.toml:```toml
[targets]
allowed_hosts = ["192.168.1.0/24", "example.com"]
Pour Claude Desktop, configuration distante VM/SSE et configurations avancées, voir [docs/deployment-guide.md](https://github.com/rfunix/tengu/blob/main/docs/deployment-guide.md).
</details>
### Référence de configuration```toml
[targets]
# REQUIRED: Only these hosts will be scanned
allowed_hosts = ["192.168.1.0/24", "example.com"]
blocked_hosts = [] # Always blocked, even if in allowed_hosts
[stealth]
enabled = false # Route traffic through Tor/proxy
[stealth.proxy]
enabled = false
type = "socks5h"
host = "127.0.0.1"
port = 9050
[osint]
shodan_api_key = "" # Required for shodan_lookup
[tools.defaults]
scan_timeout = 300 # seconds
Voir docs/configuration-reference.md pour la référence complète.
Exécutez un test d'intrusion entièrement autonome sans invocation manuelle d'outils. L'agent utilise Claude comme cerveau stratégique et Tengu comme ensemble d'outils d'exécution, en suivant la méthodologie PTES de la reconnaissance au rapport.
cp .env.example .env
**Cibles de laboratoire (Juice Shop, DVWA) :**```bash
make docker-lab
make docker-agent # default model (sonnet)
make docker-agent-haiku # cheaper — claude-haiku-4-5, max_tokens=1024
make docker-agent-sonnet # balanced — claude-sonnet-4-6, max_tokens=4096
Tests de pénétration réels (Tengu + MSF + ZAP, sans conteneurs de laboratoire):```bash make docker-pentest make docker-agent
**Consulter les rapports dans le navigateur :**```bash
make docker-report-view # http://localhost:8888 — styled HTML, all reports
make docker-report-browse # same, auto-opens browser
REPORT_PORT=9999 make docker-report-view # custom port
Sans Docker :```bash uv sync --extra agent python autonomous_tengu.py 192.168.1.100 --scope 192.168.1.0/24 --type blackbox
python autonomous_tengu.py 192.168.1.100 --model claude-haiku-4-5 --max-tokens 1024 --timeout 30
**Contrôle des coûts** — trois variables d'environnement / indicateurs CLI :