Kali Factory MCP Server
Kali Factory Anleitung
Sicherere host-lokale Steuerungsebene für KI-Agenten, die Zugriff auf Kali Linux OSINT-Tools benötigen.
Dieses Paket spiegelt die Struktur der GPU Factory wider — typisierte Job-Übermittlung mit Bearer-Auth, Ausführung über eine Warteschlange (Worker) und Ausführung von Docker-Containern auf Basis einer Allowlist — jedoch angewendet auf ein anderes Problem: die Bereitstellung von Zugriff auf Kalis Aufklärungs- und Traffic-Analyse-Tools, ohne Agenten eine unauthentifizierte Shell zu geben.
FastAPI-Steuerungs-API
Redis-Warteschlange
RQ-Worker
Docker-first Container-Ausführung mit einem gehärteten Kali-Image
Typisierte Jobs (osint, traffic capture, JS analysis, leak hunting) statt roher Shell-Befehle
Bearer-Token-Authentifizierung
Lokaler MCP-Server für MCP-fähige Agenten
Optionaler ChromaDB-Sidecar zur Speicherung von Aufklärungsergebnissen über mehrere Durchläufe hinweg
Warum existiert dies?
Kali liefert Hunderte von Tools aus, von denen viele für legitime Wettbewerbsanalysen und Sicherheitsforschung nützlich sind, während andere für eine agentengesteuerte Automatisierung nicht geeignet sind. Der naive Ansatz — einen Agenten in eine Kali-Shell zu werfen und ihn machen zu lassen — führt zu drei Problemen:
Der Agent hat Zugriff auf jedes Tool, einschließlich Exploitation-Frameworks (
metasploit,sqlmap,hashcat,john,aircrack-ng,exploitdb), die aus einem Automatisierungskontext niemals erreichbar sein sollten.Tool-Aufrufe sind unstrukturierte Shell-Strings, was sowohl anfällig für Argument-Injection-Fehler ist als auch eine saubere Prüfung unmöglich macht.
Es gibt kein Ratenlimit, Zeitlimit oder Ausgabebudget für das, was der Agent tun kann — ein einziger fehlerhafter Agent kann ein Ziel überlasten oder die Festplatte füllen.
Dieses Paket löst alle drei Probleme, indem es Kali über eine API für typisierte Jobs bereitstellt, bei der jedes aufrufbare Tool in einem Manifest deklariert ist, jedes Argument durch Pydantic validiert wird, jeder Container-Start durch ein Image-Präfix auf einer Allowlist steht und jeder Aufruf ein Bearer-Token erfordert.
Related MCP server: Kali Linux MCP Server
Zentrale Sicherheitseigenschaften
Kein
shell=TrueKein generischer Endpunkt zum "Ausführen beliebiger Befehle"
Jobs werden mit expliziten Schemata validiert
Container-Ausführung ist durch Image-Präfixe auf einer Allowlist beschränkt
Tool-Ausführung innerhalb des Containers ist durch den Binärnamen auf einer Allowlist beschränkt
API erfordert ein Bearer-Token
Worker und API sind separate Prozesse
Exploitation-/Credential-Cracking-/Wireless-Tools werden beim Image-Build explizit entfernt
Egress-Logging für jedes Tool, das auf das Netzwerk zugreift
Job-Typen
kali_probevalidiert, dass der Kali-Container erreichbar ist und die Tool-Allowlist intakt ist
osint_runführt ein typisiertes OSINT-Tool aus der Allowlist (amass, whatweb, gobuster, dnsenum, etc.) mit strukturierten Argumenten aus
traffic_captureführt
mitmdumpfür eine begrenzte Dauer aus und gibt eine Capture-Datei zurück
js_analysisführt
linkfinder/secretfinder/arjungegen eine JavaScript-URL aus
leak_scanführt
trufflehoggegen eine GitHub-Organisation / ein Repository auf committete Zugangsdaten aus
subdomain_enumführt
amass enum(nur passive Quellen) gegen eine Zieldomäne aus
web_fingerprintführt
whatwebaus, um den Tech-Stack eines Ziels zu identifizieren
nuclei_exposuresführt
nucleigegen ein Ziel aus, jedoch nur mit der Vorlagen-Untergruppeexposures/cves/,vulnerabilities/,default-logins/,fuzzing/Vorlagenverzeichnisse sind explizit blockiert
Schnellstart
Umgebungsvariablen kopieren:
cp .env.example .env
./scripts/bootstrap-secrets.shDas API-Token wird gespeichert in:
.secrets/api_tokenund .env verweist darauf über KALI_FACTORY_API_TOKEN_FILE.
Redis starten:
docker compose up -d redisKali-Runtime-Image bauen:
docker build -t kali-factory/recon:latest runtimes/kali/Python-Umgebung erstellen:
python3 -m venv .venv
source .venv/bin/activate
pip install -e .API ausführen:
./scripts/start-api.shWorker ausführen:
./scripts/start-worker.shMCP-Server ausführen:
./scripts/start-mcp.shBeispielanfragen
Gesundheitsstatus:
curl http://localhost:8081/healthKali-Probe:
curl -X POST http://localhost:8081/jobs \
-H "Authorization: Bearer YOUR_TOKEN" \
-H "Content-Type: application/json" \
-d '{"type":"kali_probe"}'Subdomain-Enumeration:
curl -X POST http://localhost:8081/jobs \
-H "Authorization: Bearer YOUR_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"type":"subdomain_enum",
"domain":"example.com",
"max_runtime_sec": 300
}'Web-Fingerprint:
curl -X POST http://localhost:8081/jobs \
-H "Authorization: Bearer YOUR_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"type":"web_fingerprint",
"url":"https://example.com"
}'GitHub-Leak-Scan:
curl -X POST http://localhost:8081/jobs \
-H "Authorization: Bearer YOUR_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"type":"leak_scan",
"github_org":"example-org"
}'Dateien
START_HERE_FOR_AGENTS.md— Einstiegsleitfaden für Agenten, die diese Steuerungsebene nutzenruntimes/kali/Dockerfile— Kali-Container-Image mit den installierten Allowlist-Toolsruntimes/kali/tools.json— deklaratives Tool-Manifest (Allowlist + Argument-Vorlagen)scripts/bootstrap-secrets.sh— API-Token-Datei erstellen und Berechtigungen setzenscripts/start-api.sh— Start-Wrapper für die APIscripts/start-worker.sh— Start-Wrapper für den Workerscripts/start-mcp.sh— Start-Wrapper für den lokalen MCP-Serverscripts/install-user-services.sh— Installation der systemd-Units auf Benutzerebenesrc/kali_factory/api/— API-Server (FastAPI)src/kali_factory/worker/— RQ-basierte Job-Ausführungsrc/kali_factory/models/— Pydantic-Job-Schematasrc/kali_factory/jobs/— Handler pro Job-Typsrc/kali_factory/policy/— Auth, Durchsetzung der Allowlist, Ratenbegrenzungsrc/kali_factory/mcp/server.py— stdio MCP-Adapter über die lokale Kali Factory APIcompose.yaml— Redis (und optional ChromaDB) SidecarsDockerfile— App-Container für API/Worker.env.example— erforderliche EinstellungenDEPLOYMENT.md— host-spezifische Ausführungs- und Service-Anleitung
Empfohlene weitere Härtung
API hinter Tailscale, Caddy oder ein anderes internes Gateway legen
API-Token rotieren
Audit-Logging in eine Datei oder SQLite hinzufügen
Explizite Job-Kontingente und Ratenbegrenzungen pro Tool hinzufügen
Allowlist pro Ziel hinzufügen (Agenten nur Domains scannen lassen, die Sie besitzen oder für die Sie eine Testgenehmigung haben)
Egress-Logging auf dem Kali-Container aktivieren, damit jede ausgehende Anfrage erfasst wird
Servicemodell
kali-factory-api.servicesollte dauerhaft laufenkali-factory-worker.servicesollte dauerhaft laufender MCP-Server sollte nicht als dauerhafter Dienst laufen
MCP-Clients sollten
scripts/start-mcp.shbei Bedarf über stdio starten
Beziehung zu anderen Factory-Paketen
Factory | Verteilt | Job-Beispiele |
GPU Factory | CUDA / GPU-Rechenleistung |
|
Kali Factory | OSINT / Aufklärungs-Tools |
|
Die beiden Pakete teilen sich die gleiche architektonische Form (FastAPI + Redis + RQ + Bearer-Auth + typisierte Jobs + Allowlist-Docker-Exec) und sind so konzipiert, dass sie auf demselben Host mit nicht überlappenden Ports koexistieren (8080 für GPU Factory, 8081 für Kali Factory).
Ein zukünftiger parallel-OS-Orchestrator kann Agentenanfragen an die Factory weiterleiten, die der benötigten Laufzeitumgebung entspricht.
Was Kali Factory nicht ist
Kein Schwachstellenscanner.
nucleiist enthalten, aber aufexposures/-Vorlagen beschränkt. CVE- / Exploit- / Default-Login- / Fuzzing-Vorlagen sind explizit blockiert.Kein Exploitation-Framework. Metasploit, sqlmap, hashcat, john, aircrack-ng, exploitdb, hydra, medusa, ncrack, nikto, wpscan, responder, impacket, crackmapexec werden beim Build-Zeitpunkt aus dem Runtime-Image entfernt.
Kein Tool für unautorisierte Tests. Nur gegen Ziele verwenden, die Sie besitzen oder für die Sie eine explizite Testgenehmigung haben. Die API protokolliert jeden Job; Missbrauch liegt in Ihrer Verantwortung.
Lizenz
Apache 2.0 (siehe LICENSE).
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- AlicenseNot gradedqualityNot gradedmaintenanceEnables AI assistants to execute penetration testing commands and security tools on Kali Linux remotely. Supports automated reconnaissance, vulnerability scanning, and CTF solving through integration with 25+ offensive security tools like nmap, gobuster, and nuclei.16
- AlicenseNot gradedqualityDmaintenanceEnables AI assistants to perform penetration testing and security assessments by exposing 60+ Kali Linux security tools including network scanning, web security testing, password cracking, exploitation frameworks, and OSINT capabilities through an AI-friendly interface.2MIT
- FlicenseAqualityDmaintenanceEnables AI assistants to perform authorized penetration testing and security assessments by exposing 20+ Kali Linux security tools (nmap, sqlmap, gobuster, hydra, etc.) through a safe, validated interface with command allowlists, rate limiting, and input sanitization.191
- FlicenseNot gradedqualityBmaintenanceEnables AI agents to perform controlled OSINT tasks (domain, IP, email, phone, username recon; metadata analysis; breach checks) in a Docker sandboxed Kali Linux environment.
Related MCP Connectors
Operate Linux, macOS and Windows from your LLM. Every action runs through an auditable allowlist.
Pay-per-call cybersecurity for AI agents: vuln scans, threat intel, compliance, code security.
CVE lookups (NVD) and dependency-manifest audits (OSV) for AI agents. No API keys.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/marcmunoz-uno/Kali-Factory-Instructions'
If you have feedback or need assistance with the MCP directory API, please join our Discord server