
🦞 Patch zur Sicherheitshärtung für Clawdbot/Moltbot. Erkennt und repariert freigelegte Gateways automatisch.
Sicherheitshärtung für Clawdbot/Moltbot-Installationen. Erkennt und behebt offengelegte Gateways.
Erkenne und behebe offengelegte Clawdbot/Moltbot-Gateways
Problem • Funktionen • Schnellstart • Docker • CLI • Was wird behoben • Entwicklung
900+ Clawdbot/Moltbot-Instanzen sind derzeit im Internet offengelegt (sichtbar auf Shodan, Port 18789) ohne Authentifizierung. Dadurch kann jeder:
Das Problem ist kein Fehler – es ist Fehlkonfiguration. Benutzer, die gateway.bind auf "0.0.0.0" ändern oder Docker mit -p 18789:18789 ohne ordnungsgemäße Authentifizierung verwenden, sind vollständig exponiert.
ClawdGuard behebt dies.
cargo install clawdguard
# Ausführen
clawdguard
# Repository klonen
git clone https://github.com/fadidevv/clawdguard.git
cd clawdguard
# Bauen (erster Build dauert ~2 Min.)
cargo build --release
# Ausführen
./target/release/clawdguard
# Repository klonen
git clone https://github.com/fadidevv/clawdguard.git
cd clawdguard
# Image bauen (~3–5 Min. beim ersten Mal)
docker build --no-cache -t clawdguard .
# Ausführen (Ihr Konfigurationsverzeichnis einbinden)
docker run -v ~/.moltbot:/root/.moltbot clawdguard
# Oder für das alte Clawdbot:
docker run -v ~/.clawdbot:/root/.clawdbot clawdguard
clawdguard
Das war's! ClawdGuard wird:
ClawdGuard generiert ein sicheres Token. Speichern Sie es!
╭────────────────────────────────────────────────────────────────────╮
│ ⚠️ WICHTIG: Speichern Sie Ihr neues Gateway-Token! │
│ │
│ clwd_a8f2k9x3m1p7v4q2b6n8... │
│ │
│ Sie benötigen es, um sich über die Control UI oder CLI zu │
│ verbinden. │
╰────────────────────────────────────────────────────────────────────╯
Vollständige Docker-Dokumentation für alle ohne Rust-Installation.
# 1. Repository klonen
git clone https://github.com/fadidevv/clawdguard.git
cd clawdguard
# 2. Image bauen (~3–5 Min. beim ersten Mal)
docker build --no-cache -t clawdguard .
# 3. Scan ausführen (Konfigurationsverzeichnis einbinden)
# Für Moltbot (neuer):
docker run -v ~/.moltbot:/root/.moltbot clawdguard
# Für Clawdbot (alt):
docker run -v ~/.clawdbot:/root/.clawdbot clawdguard
# Mit ausführlichem Modus
docker run -v ~/.moltbot:/root/.moltbot clawdguard --verbose
# Nur scannen (keine Korrekturen)
docker run -v ~/.moltbot:/root/.moltbot clawdguard --scan-only
# Automatik-Modus (keine Rückfragen)
docker run -v ~/.moltbot:/root/.moltbot clawdguard --auto
# Hilfe anzeigen
docker run clawdguard --help
Einfachere Syntax mit docker-compose:
# Mit docker-compose ausführen
docker-compose run clawdguard
# Mit ausführlichem Modus
docker-compose run clawdguard --verbose
# Nur scannen
docker-compose run clawdguard --scan-only
# Automatik-Modus
docker-compose run clawdguard --auto
| Mount | Zweck |
|---|---|
~/.moltbot:/root/.moltbot | Ihr Moltbot-Konfigurationsverzeichnis (neuer) |
~/.clawdbot:/root/.clawdbot | Ihr Clawdbot-Konfigurationsverzeichnis (alt) |
./results:/app/results | Ergebnisse lokal speichern |
# Alias für einfachere Nutzung erstellen (Ihr Konfigurationsverzeichnis verwenden)
alias clawdguard='docker run -v ~/.moltbot:/root/.moltbot clawdguard'
# Oder für das alte Clawdbot:
alias clawdguard='docker run -v ~/.clawdbot:/root/.clawdbot clawdguard'
# Dann einfach ausführen:
clawdguard
clawdguard --scan-only
clawdguard --verbose
clawdguard [OPTIONEN]
OPTIONEN:
--scan-only Nur nach Problemen suchen, keine Korrekturen anwenden
--auto Alle Korrekturen ohne Bestätigungsabfragen anwenden
--backup-dir <VERZ Eigenes Verzeichnis für Backup-Dateien
>
--skip-firewall Hinzufügen von Firewall-Regeln überspringen
--skip-restart Neustart des Gateway-Dienstes überspringen
--token <TOKEN> Ein bestimmtes Token statt eines generierten verwenden
-v, --verbose Detaillierte Ausgabe anzeigen
--json Ergebnisse als JSON ausgeben (für Skripte)
-h, --help Hilfe anzeigen
-V, --version Version anzeigen
# Standardnutzung – scannen, korrigieren, überprüfen
clawdguard
# Nur scannen (nichts korrigieren)
clawdguard --scan-only
# Alles automatisch korrigieren (keine Rückfragen)
clawdguard --auto
# Eigenes Token verwenden
clawdguard --token "my-secure-token-here"
# Ausführliche Ausgabe zur Fehlersuche
clawdguard --verbose
# JSON-Ausgabe für Skripte
clawdguard --json
# Optionen kombinieren
clawdguard --auto --skip-firewall --verbose
# Eigenes Backup-Verzeichnis
clawdguard --backup-dir /tmp/backups
ClawdGuard berechnet eine Risikopunktzahl von 0–10:
| Punktzahl | Stufe | Bedeutung |
|---|---|---|
| 0–3 | 🟢 NIEDRIG | Kleinere Probleme oder bereits sicher |
| 4–6 | 🟡 MITTEL | Einige Sicherheitsbedenken |
| 7–10 | 🔴 KRITISCH | Im Internet exponiert, sofort beheben |
Berechnung der Risikopunktzahl:
🦞 ClawdGuard
Sicherheitshärtung für Clawdbot/Moltbot
v1.0.0
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
ℹ Drücken Sie Ctrl+C, um jederzeit abzubrechen
[1/4] 🔍 Installation wird erkannt...
✓ Konfiguration: ~/.clawdbot/clawdbot.json
✓ Dienst: bot.molt.gateway (läuft, PID 1234)
✓ Port 18789 ist aktiv
[2/4] ⚠️ Sicherheitsrisiken werden analysiert...
╭──────────────────┬─────────────────────────┬──────────╮
│ Problem │ Aktueller Wert │ Schwere │
├──────────────────┼─────────────────────────┼──────────┤
│ Gateway-Bindung │ 0.0.0.0 │ KRITISCH │
│ Authentifizierung│ none │ KRITISCH │
│ mDNS-Broadcast │ full │ MITTEL │
╰──────────────────┴─────────────────────────┴──────────╯
Risikopunktzahl: 9/10 🔴 KRITISCH
⚠ Dies wird Ihre Konfiguration ändern, um Sicherheitsprobleme zu beheben.
ℹ Vor allen Änderungen wird ein Backup erstellt.
Korrekturen durchführen? [j/N]: j
[3/4] 🔧 Korrekturen werden angewendet...
✓ Backup: ~/.clawdbot/clawdbot.json.backup.20260128_143022
✓ Setze gateway.bind = "loopback" (war: "0.0.0.0")
✓ Setze gateway.auth.mode = "token" (war: "none")
✓ Setze gateway.auth.token = <generiert>
✓ Dateiberechtigungen korrigiert (600)
Generiertes Token: clwd_a8f2k9x3m1p7v4q2b6n8...
[4/4] ✅ Korrekturen werden überprüft...
✓ Gateway-Dienst neu gestartet
✓ Port 18789 nicht mehr extern erreichbar
✓ Gateway antwortet auf localhost
✓ Authentifizierung ist jetzt erforderlich
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
╭────────────────────────────────────────────────────────────────────╮
│ │
│ 🎉 ERFOLG! Ihr Clawdbot/Moltbot ist jetzt sicher. │
│ │
╰────────────────────────────────────────────────────────────────────╯
clawdguard --json
{"status": "gefixt", "token": "clwd_a8f2k9x3m1p7v4q2b6n8...", "backup": "~/.clawdbot/clawdbot.json.backup.20260128_143022"}
Drücken Sie während des Scannens jederzeit Ctrl+C, um sicher zu stoppen.
[2/4] ⚠️ Sicherheitsrisiken werden analysiert...
^C
⚠ Unterbrochen! Beende...
Es werden keine Änderungen vorgenommen, bis Sie bestätigen, daher ist das Unterbrechen immer sicher.
# Fügen Sie Ihrem Shell-Profil hinzu (~/.bashrc, ~/.zshrc usw.)
export CLAWDBOT_GATEWAY_TOKEN="clwd_ihr_token_hier"
Wenn Sie Fernzugriff benötigen, verwenden Sie eine dieser sicheren Methoden:
| Methode | Befehl |
|---|---|
| Tailscale (Empfohlen) | tailscale serve --bg 18789 |
| SSH-Tunnel | ssh -L 18789:localhost:18789 ihr-server |
| Cloudflare-Tunnel |
Ändern Sie niemals gateway.bind zurück zu "0.0.0.0" oder setzen Sie den Port direkt frei.
Stellen Sie Folgendes sicher:
~/.moltbot/ oder ~/.clawdbot/)~/.moltbot/moltbot.json oder ~/.clawdbot/clawdbot.jsonVersuchen Sie es manuell:
clawdbot gateway restart
# oder
moltbot gateway restart
clwd_-Präfix)Stellen Sie sicher, dass Ihr Konfigurationsverzeichnis lesbar ist:
# Für Moltbot (neuer)
chmod 755 ~/.moltbot
chmod 644 ~/.moltbot/moltbot.json
# Für Clawdbot (alt)
chmod 755 ~/.clawdbot
chmod 644 ~/.clawdbot/clawdbot.json
| Plattform | Status | Diensteverwaltung |
|---|---|---|
| macOS | ✅ Voll | launchd |
| Linux | ✅ Voll | systemd (Benutzer) |
| Windows | ⚠️ WSL2 | Innerhalb von WSL2 ausführen |
┌─────────────────────────────────────────────────────────────────┐
│ ClawdGuard v1.0 │
├─────────────────────────────────────────────────────────────────┤
│ │
│ ┌──────────┐ ┌──────────┐ ┌──────────┐ ┌──────────┐ │
│ │ ERKENNEN │ → │ ANALYSIER│ → │ PATCHEN │ → │ ÜBERPRÜF │ │
│ └──────────┘ └──────────┘ └──────────┘ └──────────┘ │
│ │ │ │ │ │
│ ▼ ▼ ▼ ▼ │
│ Konfig finden Risiken prüfen Konfig fixen Sicherheit best. │
│ Dienst finden Gefahr bewert. Token gener. Port testen │
│ Prozess finden Probleme aufl. Berecht. korr. Dienst neustart │
│ │
└─────────────────────────────────────────────────────────────────┘
clawdguard/
├── Cargo.toml # Abhängigkeiten
├── Dockerfile # Docker-Build
├── docker-compose.yml # Docker Compose
├── .dockerignore
├── README.md
├── LICENSE
├── .gitignore
├── assets/
│ └── screenshot.png # Screenshot für README
├── src/
│ ├── main.rs # CLI-Einstiegspunkt
│ ├── lib.rs # Bibliothekswurzel
│ ├── detect/ # Installationserkennung
│ │ ├── mod.rs
│ │ ├── config.rs # Erkennung der Konfigurationsdatei
│ │ ├── process.rs # Prozessererkennung
│ │ └── service.rs # Diensterkennung (launchd/systemd)
│ ├── analyze/ # Sicherheitsanalyse
│ │ ├── mod.rs
│ │ ├── config_risk.rs
│ │ ├── network.rs # Prüfung auf Port-Exposition
│ │ └── permissions.rs
│ ├── patch/ # Konfigurations-Patching
│ │ ├── mod.rs
│ │ ├── config.rs
│ │ ├── firewall.rs
│ │ └── token.rs # Generierung sicherer Token
│ ├── verify/ # Überprüfung der Korrekturen
│ │ ├── mod.rs
│ │ ├── port_check.rs
│ │ └── service.rs
│ └── output/
│ ├── mod.rs
│ └── printer.rs # Farbige CLI-Ausgabe
└── tests/
└── integration.rs
Option A: Nativ (Rust)
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh)Option B: Docker
Nativ:
# Repository klonen
git clone https://github.com/fadidevv/clawdguard.git
cd clawdguard
# Debug bauen (schnellere Kompilierung)
cargo build
# Release bauen (optimiert)
cargo build --release
Docker:
# Repository klonen
git clone https://github.com/fadidevv/clawdguard.git
cd clawdguard
# Image bauen
docker build --no-cache -t clawdguard .
# Alle Tests ausführen
cargo test
# Mit Ausgabe ausführen
cargo test -- --nocapture
# Code formatieren
cargo fmt
# Linter ausführen
cargo clippy
# Ohne Bauen prüfen
cargo check
Beiträge sind willkommen! Bitte:
git checkout -b feature/verbesserung)cargo test)cargo clippy)cargo fmt)git commit -m 'Verbesserung hinzufügen')git push origin feature/verbesserung)Ideen für Beiträge:
Dieses Werkzeug dient ausschließlich Sicherheitszwecken.
Die Autoren sind nicht verantwortlich für Missbrauch dieses Werkzeugs.
MIT-Lizenz – siehe LICENSE für Details.
Bleiben Sie sicher! 🦞🔐
| Risiko | Auswirkung |
|---|
| API-Schlüssel abgreifen | OpenAI-, Anthropic- und andere Anmeldeinformationen stehlen |
| Befehle ausführen | Beliebige Shell-Befehle auf Ihrem Rechner ausführen |
| Browser übernehmen | Ihre Browsersitzung kapern |
| E-Mails lesen | Auf Gmail, Kalender, Kontakte zugreifen |
| Chats lesen | Ihren gesamten Gesprächsverlauf einsehen |
| Bot kapern | Nachrichten in Ihrem Namen senden |
| Befehl | Beschreibung |
|---|
docker build --no-cache -t clawdguard . | Image bauen |
docker run clawdguard --help | Hilfe anzeigen |
docker run -v ... clawdguard | Scan ausführen |
docker run -v ... clawdguard --scan-only | Nur scannen |
docker run -v ... clawdguard --auto | Auto-Korrektur |
docker run -v ... clawdguard --verbose | Ausführlicher Modus |
docker-compose run clawdguard | Mit Compose ausführen |
| Einstellung | Vorher (unsicher) | Nachher (sicher) |
|---|
gateway.bind | "0.0.0.0" / "lan" / "all" | "loopback" |
gateway.auth.mode | "none" / fehlt | "token" |
gateway.auth.token | fehlt | Generiertes sicheres Token |
discovery.mdns.mode | "full" | "minimal" |
| Dateiberechtigungen | 644 / 755 | 600 |
cloudflared tunnel --url http://localhost:18789 |