
LLM-first Täuschungsframework: "Das Honeypot, das zurückredet!™"

Einführung von honeyprompt, einem LLM-zentrierten Täuschungsframework, das speziell für Webentwickler entwickelt wurde. Das persönliche Leidenschaftsprojekt von @alectrocute.
Unterstützt alle großen Cloud- und lokalen LLM-Anbieter. SSH, HTTP, TLS, TCP, Telnet und mehr. Es wird als kleiner Container (und als einzelnes statisches Binärprogramm) ausgeliefert und hält alle Einstellungen in einer honeyprompt.yaml.
Keine Plugins zu kompilieren, keine Datenbank zu betreiben, leicht erweiterbar und auf Low-End-Hardware einsetzbar.
Eine Demo-Instanz ist verfügbar unter 172.233.151.216, mit dem nicht authentifizierten Web-Panel unter: http://172.233.151.216:9090. Es ist eine öffentliche Instanz von honeyprompt, die auf einem günstigen Linode VPS läuft, mit openrouter/free als einzigem LLM-Anbieter/Modell.
Für die einfachste Einrichtung im Jahr 2026 empfehlen wir Docker und OpenRouter/openrouter/free als LLM-Anbieter. Alle großen Cloud- und lokalen LLM-Anbieter werden unterstützt. Drei Dateien und ein Befehl richten die vollständige Standardbereitstellung ein: sieben LLM-gestützte Täuschungsmodule, dauerhafte Ereignisspeicherung und das Operator-Panel.
1. Holen Sie sich die Standardkonfiguration, die Compose-Datei und die Umgebungsvorlage:
# Wenn Sie Docker nicht haben:
# curl -fsSL get.docker.com -o get-docker.sh && sh get-docker.sh
mkdir honeypot && cd honeypot
wget https://raw.githubusercontent.com/alectrocute/honeyprompt/main/honeyprompt.yaml
wget https://raw.githubusercontent.com/alectrocute/honeyprompt/main/compose.yaml
wget -O .env https://raw.githubusercontent.com/alectrocute/honeyprompt/main/.env.example
(Oder klonen Sie das Repository und wechseln Sie mit cd hinein – dieselben drei Dateien.)
2. Füllen Sie .env aus. Zwei Werte sind erforderlich:
OPENROUTER_API_KEY=sk-or-... # Verwenden Sie einen dedizierten Schlüssel mit einem Ausgabenlimit
HONEYPROMPT_PANEL_PASSWORD=changeme # Basic-Auth-Passwort für das Panel
3. Starten Sie es:
docker compose up -d
4. Testen Sie es:
ssh -p 2222 root@localhost # Passwort: root — dann geben Sie irgendetwas ein
curl http://localhost:2375/v1.54/containers/json # "freigegebene" Docker-API
5. Beobachten Sie es live im schreibgeschützten Panel unter http://127.0.0.1:9090 (melden Sie sich mit admin und Ihrem Panel-Passwort an). Jede Verbindung, jeder Anmeldeversuch und jeder Befehl wird live übertragen. Wenn Sie auf einem entfernten Host bereitstellen, müssen Sie den Port :9090 in der compose.yaml freigeben. Dies wird für Produktionsumgebungen nicht empfohlen.
Verwenden Sie für Produktionsumgebungen einen nummerierten Release anstelle von
latest– setzen Sie dazuHONEYPROMPT_IMAGEin der.env.
Die honeyprompt.yaml, die Sie gerade heruntergeladen haben, ist eine vollständig kommentierte Demo. Sie enthält Profile für:
/ liefert sofort die Standard-Nginx-Willkommensseite, und tiefere Pfade werden zur LLM weitergeleitet, die vollständige HTML/CSS-Intranetseiten, Anmeldeformulare und Admin-Panels erstellt, die den Angreifer bei der Stange halten.[!WICHTIG] Auch wenn Sie LLMs verwenden: Bestimmen Sie die am häufigsten verwendeten Pfade und fügen Sie statische Regeln für diese hinzu. Dies spart Ihnen massive Mengen an LLM-Token und beschleunigt Antworten auf Anfragen, die die Kosten eines LLM-Aufrufs nicht wert sind. Zufällige Beispiele:
whoami, Gesundheitschecks, favicon, Versionsabfragen usw.
Diese minimale honeyprompt.yaml simuliert eine SSH-Box mit zwei statischen Regeln und ohne LLM:
panel:
enabled: true
address: "0.0.0.0:8080"
events:
buffer: 2000
file: /data/events.jsonl # dauerhafte Angreiferaktivität
services:
- protocol: ssh
address: "0.0.0.0:2222"
description: "Ubuntu 26.04 LTS Build Runner"
serverName: "gpu-runner-07"
passwordRegex: "^(root|admin|123456)$" # welche Passwörter "funktionieren"
commands:
- regex: "^whoami$"
handler: "root"
- regex: "^(.+)$"
handler: "bash: command not found"
docker run --rm \
-p 2222:2222 -p 8080:8080 \
-v "$(pwd)/honeyprompt.yaml:/etc/honeyprompt/honeyprompt.yaml:ro" \
-v honeyprompt-data:/data \
alectrocute/honeyprompt:latest
Für eine dauerhafte Bereitstellung verwenden Sie die beiliegende compose.yaml. Der Bereitstellungsleitfaden behandelt Docker-Hub-Releases, erforderliche GitHub-Geheimnisse, Port- und Firewall-Einrichtung, Panel-Zugriff über SSH, Upgrades, Rollback, Ereignisspeicherung und Isolation.
Ein Honeypot muss nur eines gut können: überzeugend genug bleiben, damit der Angreifer weitertippt. Jeder Befehl, den er ausführt, ist Geheimdienstinformation – die Tools, nach denen er greift, die Anmeldedaten, die er wiederverwendet, die CVEs, von denen er annimmt, dass Sie sie nicht gepatcht haben. Statische Honeypots brechen aus der Rolle, sobald jemand einen Befehl ausführt, den der Autor nicht vorhergesehen hat. Honeyprompt übergibt diesen Moment einer LLM, sodass die Shell dmesg | tail oder cat /etc/shadow so beantwortet, wie es eine echte tun würde, und die Sitzung läuft weiter.
Sehen Sie sich Adel Karimis hervorragenden DEF CON 32 Vortrag über Galah, den (ersten?) LLM-Honeypot, an, der dieses Projekt inspiriert hat: https://www.youtube.com/watch?v=XGsm4Qcc_Ag
Dies ist der Teil, den Sie vorab verstehen sollten, da die beiden Ströme bewusst getrennt gehalten werden:
Sie konfigurieren sie getrennt:
# Der Honig: Angreiferaktivität.
events:
buffer: 2000 # letzte Ereignisse im Speicher für das Panel
file: /data/events.jsonl # jedes Ereignis als JSON Lines speichern