
Lokaler KI-gestützter Red-Teamer auf einem Telefon
Ein autonomer Penetrationstest-Agent, der vollständig auf einem Smartphone läuft. Legen Sie das Telefon in ein Netzwerk, gehen Sie weg, und es entdeckt Hosts, kartiert Dienste, findet Schwachstellen und erstellt einen Pentest-Bericht – ganz ohne Cloud-Anbindung.
░█▄░█ █ █▀▀ █░█ ▀█▀ █▀▀ █▀█ ▄▀█ █░█░█ █░░ █▀▀ █▀█
░█░▀█ █ █▄█ █▀█ ░█░ █▄▄ █▀▄ █▀█ ▀▄▀▄▀ █▄▄ ██▄ █▀▄ v0.1.0
AUTONOMOUS MOBILE PENTEST AGENT
OnePlus 8 · NetHunter · LFM2.5-1.2B · OpenCL GPU
Penetrationstests (Pentesting) sind die Praxis, die Sicherheit eines Computernetzwerks zu testen, indem ein Angriff simuliert wird – mit ausdrücklicher Genehmigung des Netzwerkbesitzers. Professionelle Pentester werden beauftragt, Schwachstellen zu finden, bevor echte Angreifer es tun.
Nightcrawler automatisiert diesen Prozess auf einem Telefon. Es verwendet ein kleines KI-Modell (LFM2.5-1.2B-Instruct-Heretic, 1,2 Milliarden Parameter), das lokal auf der GPU des Telefons läuft, um zu entscheiden, was als Nächstes zu tun ist – welcher Host untersucht wird, welches Tool verwendet wird, wonach gesucht werden soll. Keine Internetverbindung oder Cloud-API erforderlich.
▶️ Sehen Sie Nightcrawler in Aktion auf Instagram
Der Agent arbeitet wie ein geduldiger menschlicher Pentester – er rotiert zwischen Hosts, führt eine kleine Aktion pro Zug aus und baut über Stunden hinweg schrittweise Wissen auf. Dadurch ist er viel schwerer zu erkennen als herkömmliche Schwachstellenscanner, die jeden Host auf einmal attackieren.
| Begriff | Bedeutung |
|---|---|
| Drop Box | Ein Gerät, das in einem Zielnetzwerk zurückgelassen wird, um autonom Tests durchzuführen |
| Scope | Die Gruppe von Netzwerken/Hosts, die Sie testen dürfen |
| Rules of Engagement (ROE) | Ein rechtliches Dokument, das festlegt, was Sie tun dürfen |
| Stealth | Techniken zur Vermeidung der Erkennung durch Netzwerküberwachung (IDS/IPS) |
| MCP | Model Context Protocol – eine Standardschnittstelle für die KI-Werkzeugnutzung |
| C2 | Command and Control – das Web-Dashboard zur Überwachung und Steuerung des Agents |
┌──────────────────────────────────────────────────────────┐
│ PHONE (OnePlus 8) │
│ │
│ ┌─────────────┐ ┌──────────────────┐ │
│ │ LFM2.5 │ │ Agent Loop │ │
│ │ 1.2B model │◄───►│ (main.py) │ │
│ │ on GPU │ │ Decides what │ │
│ │ (:8080) │ │ to do next │ │
│ └─────────────┘ └────────┬─────────┘ │
│ │ │
│ ┌────────▼─────────┐ │
│ │ Scope Proxy │ ← Safety layer │
│ │ Validates every │ Blocks out- │
│ │ command before │ of-scope │
│ │ execution │ actions │
│ └────────┬─────────┘ │
│ │ │
│ ┌────────▼─────────┐ │
│ │ Kali MCP Server │ ← Runs the │
│ │ nmap, curl, │ actual │
│ │ smbclient, ... │ commands │
│ └──────────────────┘ │
│ │
│ ┌──────────────────┐ ┌──────────────────┐ │
│ │ Web Dashboard │ │ SQLite DB │ │
│ │ (:8888) │ │ Hosts, vulns, │ │
│ │ Monitor & steer │ │ creds, commands │ │
│ └──────────────────┘ └──────────────────┘ │
└──────────────────────────────────────────────────────────┘
Für das vollständige Systemdesign siehe docs/ARCHITECTURE.md.
Siehe docs/FEATURES.md für die vollständige Funktionsreferenz.
Alle Inferenzen über OpenCL auf der Adreno-650-GPU:
| Modell | Quantisierung | Prompt-Geschwindigkeit | Generierungsgeschwindigkeit |
|---|---|---|---|
| LFM2.5-1.2B-Instruct-Heretic (Produktion) | Q8_0 | 115 tok/s | 13 tok/s |
| Qwen3.5-0.8B | Q8_0 | 30,5 tok/s | 6,3 tok/s |
| Qwen3.5-4B | Q4_0 | 10,1 tok/s | 2,0 tok/s |
Hinweis: Android drosselt die GPU im Akkubetrieb (6-fache Verlangsamung). Nightcrawler enthält einen GPU-Governor-Daemon, der maximale Leistung erzwingt und bei ≤15 % Akku automatisch drosselt.
# 1. Installation (innerhalb des Kali NetHunter chroot)
bash INSTALL.sh
# 2. Warten, bis llama-server startet (~5 Min nach dem Booten)
curl -s http://127.0.0.1:8080/health # Sollte {"status":"ok"} zurückgeben
# 3. Alle Dienste starten
bash scripts/run-36h.sh
# 4. Web-Dashboard öffnen (von jedem Gerät in Ihrem Tailscale-Netzwerk)
# https://<your-tailscale-hostname>:8888
NC_DRY_RUN=1 python3 main.py
Dies verwendet einen Mock-Kali-Server, sodass Sie die Agent-Schleife testen können, ohne echte Netzwerkbefehle auszuführen.