
🦞 Patch di hardening della sicurezza per Clawdbot/Moltbot. Rileva e corregge automaticamente i gateway esposti.
Rafforzamento della sicurezza per installazioni Clawdbot/Moltbot. Rileva e corregge gateway esposti.
Rileva e correggi gateway Clawdbot/Moltbot esposti
Problema • Funzionalità • Avvio rapido • Docker • CLI • Cosa viene corretto • Sviluppo
Oltre 900 istanze Clawdbot/Moltbot sono attualmente esposte su internet (visibili su Shodan, porta 18789) senza alcuna autenticazione. Ciò consente a chiunque di:
Il problema non è un bug: è una configurazione errata. Gli utenti che impostano gateway.bind a 0.0.0.0 o usano Docker con -p 18789:18789 senza una corretta autenticazione sono completamente esposti.
ClawdGuard risolve questo problema.
cargo install clawdguard
# Esegui
clawdguard
# Clona il repository
git clone https://github.com/fadidevv/clawdguard.git
cd clawdguard
# Compila (prima volta ~2 min)
cargo build --release
# Esegui
./target/release/clawdguard
# Clona il repository
git clone https://github.com/fadidevv/clawdguard.git
cd clawdguard
# Crea l'immagine (~3-5 min la prima volta)
docker build --no-cache -t clawdguard .
# Esegui (monta la directory di configurazione)
docker run -v ~/.moltbot:/root/.moltbot clawdguard
# O per Clawdbot legacy:
docker run -v ~/.clawdbot:/root/.clawdbot clawdguard
clawdguard
Questo è tutto! ClawdGuard:
ClawdGuard genera un token sicuro. Salvalo!
╭────────────────────────────────────────────────────────────────────╮
│ ⚠️ IMPORTANTE: Salva il tuo nuovo token del gateway! │
│ │
│ clwd_a8f2k9x3m1p7v4q2b6n8... │
│ │
│ Ti servirà per connetterti dall'interfaccia di controllo o CLI. │
╰────────────────────────────────────────────────────────────────────╯
Documentazione Docker completa per chi non ha Rust installato.
# 1. Clona il repository
git clone https://github.com/fadidevv/clawdguard.git
cd clawdguard
# 2. Crea l'immagine (~3-5 min la prima volta)
docker build --no-cache -t clawdguard .
# 3. Esegui la scansione (monta la directory di configurazione)
# Per Moltbot (più recente):
docker run -v ~/.moltbot:/root/.moltbot clawdguard
# Per Clawdbot (legacy):
docker run -v ~/.clawdbot:/root/.clawdbot clawdguard
# Con modalità verbose
docker run -v ~/.moltbot:/root/.moltbot clawdguard --verbose
# Solo scansione (nessuna correzione)
docker run -v ~/.moltbot:/root/.moltbot clawdguard --scan-only
# Modalità automatica (nessun prompt)
docker run -v ~/.moltbot:/root/.moltbot clawdguard --auto
# Mostra aiuto
docker run clawdguard --help
Sintassi più semplice usando docker-compose:
# Esegui con docker-compose
docker-compose run clawdguard
# Con verbose
docker-compose run clawdguard --verbose
# Solo scansione
docker-compose run clawdguard --scan-only
# Modalità automatica
docker-compose run clawdguard --auto
| Montaggio | Scopo |
|---|---|
~/.moltbot:/root/.moltbot | Directory di configurazione Moltbot (più recente) |
~/.clawdbot:/root/.clawdbot | Directory di configurazione Clawdbot (legacy) |
./results:/app/results | Salva risultati in locale |
# Crea alias per un uso più facile (usa la tua directory di configurazione)
alias clawdguard='docker run -v ~/.moltbot:/root/.moltbot clawdguard'
# O per Clawdbot legacy:
alias clawdguard='docker run -v ~/.clawdbot:/root/.clawdbot clawdguard'
# Poi esegui semplicemente:
clawdguard
clawdguard --scan-only
clawdguard --verbose
clawdguard [OPZIONI]
OPZIONI:
--scan-only Solo analisi, non applica correzioni
--auto Applica tutte le correzioni senza richiedere conferma
--backup-dir <DIR> Directory personalizzata per i file di backup
--skip-firewall Salta l'aggiunta di regole firewall
--skip-restart Salta il riavvio del servizio gateway
--token <TOKEN> Usa un token specifico invece di generarli
-v, --verbose Mostra output dettagliato
--json Output dei risultati in formato JSON (per script)
-h, --help Stampa aiuto
-V, --version Stampa versione
# Uso base - scansione, correzione, verifica
clawdguard
# Solo scansione (non correggere nulla)
clawdguard --scan-only
# Correggi tutto automaticamente (nessun prompt)
clawdguard --auto
# Usa il tuo token
clawdguard --token "my-secure-token-here"
# Output verbose per risoluzione problemi
clawdguard --verbose
# Output JSON per script
clawdguard --json
# Combina opzioni
clawdguard --auto --skip-firewall --verbose
# Directory di backup personalizzata
clawdguard --backup-dir /tmp/backups
ClawdGuard calcola un punteggio di rischio da 0 a 10:
| Punteggio | Livello | Significato |
|---|---|---|
| 0-3 | 🟢 BASSO | Problemi minori o già sicuro |
| 4-6 | 🟡 MEDIO | Alcune preoccupazioni di sicurezza |
| 7-10 | 🔴 CRITICO | Esposto su internet, correggi immediatamente |
Calcolo del punteggio di rischio:
🦞 ClawdGuard
Rafforzamento sicurezza per Clawdbot/Moltbot
v1.0.0
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
ℹ Premi Ctrl+C per annullare in qualsiasi momento
[1/4] 🔍 Rilevamento installazione...
✓ Config: ~/.clawdbot/clawdbot.json
✓ Servizio: bot.molt.gateway (in esecuzione, PID 1234)
✓ Porta 18789 attiva
[2/4] ⚠️ Analisi rischi di sicurezza...
╭──────────────────┬─────────────────────────┬──────────╮
│ Problema │ Valore corrente │ Gravità │
├──────────────────┼─────────────────────────┼──────────┤
│ Gateway Bind │ 0.0.0.0 │ CRITICO │
│ Autenticazione │ none │ CRITICO │
│ Trasmissione mDNS│ full │ MEDIO │
╰──────────────────┴─────────────────────────┴──────────╯
Punteggio di rischio: 9/10 🔴 CRITICO
⚠ Questo modificherà la tua configurazione per risolvere i problemi di sicurezza.
ℹ Verrà creato un backup prima di qualsiasi modifica.
Procedere con le correzioni? [s/N]: s
[3/4] 🔧 Applicazione correzioni...
✓ Backup: ~/.clawdbot/clawdbot.json.backup.20260128_143022
✓ Impostato gateway.bind = "loopback" (era: "0.0.0.0")
✓ Impostato gateway.auth.mode = "token" (era: "none")
✓ Impostato gateway.auth.token = <generato>
✓ Permessi file corretti (600)
Token generato: clwd_a8f2k9x3m1p7v4q2b6n8...
[4/4] ✅ Verifica correzioni...
✓ Servizio gateway riavviato
✓ Porta 18789 non più raggiungibile esternamente
✓ Gateway risponde su localhost
✓ Autenticazione ora richiesta
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
╭────────────────────────────────────────────────────────────────────╮
│ │
│ 🎉 SUCCESSO! Il tuo Clawdbot/Moltbot è ora sicuro. │
│ │
╰────────────────────────────────────────────────────────────────────╯
clawdguard --json
{"status": "fixed", "token": "clwd_a8f2k9x3m1p7v4q2b6n8...", "backup": "~/.clawdbot/clawdbot.json.backup.20260128_143022"}
Premi Ctrl+C in qualsiasi momento durante la scansione per fermarti in sicurezza.
[2/4] ⚠️ Analisi rischi di sicurezza...
^C
⚠ Interrotto! Uscita...
Nessuna modifica viene apportata finché non confermi, quindi interrompere è sempre sicuro.
# Aggiungi al tuo profilo shell (~/.bashrc, ~/.zshrc, ecc.)
export CLAWDBOT_GATEWAY_TOKEN="clwd_tuo_token_qui"
Se hai bisogno di accesso remoto, usa uno di questi metodi sicuri:
| Metodo | Comando |
|---|---|
| Tailscale (Consigliato) | tailscale serve --bg 18789 |
| Tunnel SSH | ssh -L 18789:localhost:18789 tuo-server |
| Tunnel Cloudflare |
Non reimpostare mai gateway.bind su 0.0.0.0 o esporre direttamente la porta.
Assicurati che:
~/.moltbot/ o ~/.clawdbot/)~/.moltbot/moltbot.json o ~/.clawdbot/clawdbot.jsonProva manualmente:
clawdbot gateway restart
# o
moltbot gateway restart
clwd_)Assicurati che la directory di configurazione sia leggibile:
# Per Moltbot (più recente)
chmod 755 ~/.moltbot
chmod 644 ~/.moltbot/moltbot.json
# Per Clawdbot (legacy)
chmod 755 ~/.clawdbot
chmod 644 ~/.clawdbot/clawdbot.json
| Piattaforma | Stato | Gestore servizi |
|---|---|---|
| macOS | ✅ Completo | launchd |
| Linux | ✅ Completo | systemd (utente) |
| Windows | ⚠️ WSL2 | Esegui all'interno di WSL2 |
┌─────────────────────────────────────────────────────────────────┐
│ ClawdGuard v1.0 │
├─────────────────────────────────────────────────────────────────┤
│ │
│ ┌──────────┐ ┌──────────┐ ┌──────────┐ ┌──────────┐ │
│ │ RILEVA │ → │ ANALIZZA │ → │ CORREGGI │ → │ VERIFICA │ │
│ └──────────┘ └──────────┘ └──────────┘ └──────────┘ │
│ │ │ │ │ │
│ ▼ ▼ ▼ ▼ │
│ Trova config Controlla rischi Corregge config Conferma │
│ Trova servizio Valuta pericolo Genera token Test porta│
│ Trova processo Elenca problemi Corregge perm Riavvia │
│ │
└─────────────────────────────────────────────────────────────────┘
clawdguard/
├── Cargo.toml # Dipendenze
├── Dockerfile # Build Docker
├── docker-compose.yml # Docker compose
├── .dockerignore
├── README.md
├── LICENSE
├── .gitignore
├── assets/
│ └── screenshot.png # Screenshot per README
├── src/
│ ├── main.rs # Punto di ingresso CLI
│ ├── lib.rs # Radice della libreria
│ ├── detect/ # Rilevamento installazione
│ │ ├── mod.rs
│ │ ├── config.rs # Rilevamento file di configurazione
│ │ ├── process.rs # Rilevamento processo
│ │ └── service.rs # Rilevamento servizio (launchd/systemd)
│ ├── analyze/ # Analisi di sicurezza
│ │ ├── mod.rs
│ │ ├── config_risk.rs
│ │ ├── network.rs # Controllo esposizione porta
│ │ └── permissions.rs
│ ├── patch/ # Applicazione correzioni configurazione
│ │ ├── mod.rs
│ │ ├── config.rs
│ │ ├── firewall.rs
│ │ └── token.rs # Generazione token sicuri
│ ├── verify/ # Verifica correzioni
│ │ ├── mod.rs
│ │ ├── port_check.rs
│ │ └── service.rs
│ └── output/
│ ├── mod.rs
│ └── printer.rs # Output CLI colorato
└── tests/
└── integration.rs
Opzione A: Nativo (Rust)
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh)Opzione B: Docker
Nativo:
# Clona il repository
git clone https://github.com/fadidevv/clawdguard.git
cd clawdguard
# Compila debug (compilazione più veloce)
cargo build
# Compila release (ottimizzato)
cargo build --release
Docker:
# Clona il repository
git clone https://github.com/fadidevv/clawdguard.git
cd clawdguard
# Crea immagine
docker build --no-cache -t clawdguard .
# Esegui tutti i test
cargo test
# Esegui con output
cargo test -- --nocapture
# Formatta codice
cargo fmt
# Esegui linter
cargo clippy
# Controlla senza compilare
cargo check
Contributi benvenuti! Per favore:
git checkout -b feature/miglioramento)cargo test)cargo clippy)cargo fmt)git commit -m 'Aggiungi miglioramento')git push origin feature/miglioramento)Idee per contributi:
Questo strumento è solo per scopi di sicurezza.
Gli autori non sono responsabili per l'uso improprio di questo strumento.
Licenza MIT - vedi LICENSE per i dettagli.
Rimani al sicuro! 🦞🔐
| Rischio | Impatto |
|---|
| Accedere alle chiavi API | Rubare credenziali OpenAI, Anthropic e altre |
| Eseguire comandi | Eseguire comandi shell arbitrari sulla tua macchina |
| Controllare il browser | Prendere il controllo della tua sessione di navigazione |
| Leggere le email | Accedere a Gmail, calendario, contatti |
| Leggere le chat | Visualizzare tutta la cronologia delle conversazioni |
| Dirottare il bot | Inviare messaggi a tuo nome |
| Comando | Descrizione |
|---|
docker build --no-cache -t clawdguard . | Crea immagine |
docker run clawdguard --help | Mostra aiuto |
docker run -v ... clawdguard | Esegui scansione |
docker run -v ... clawdguard --scan-only | Solo scansione |
docker run -v ... clawdguard --auto | Correzione automatica |
docker run -v ... clawdguard --verbose | Modalità verbose |
docker-compose run clawdguard | Esegui con compose |
| Impostazione | Prima (Insicura) | Dopo (Sicura) |
|---|
gateway.bind | "0.0.0.0" / "lan" / "all" | "loopback" |
gateway.auth.mode | "none" / mancante | "token" |
gateway.auth.token | mancante | Token sicuro generato |
discovery.mdns.mode | "full" | "minimal" |
| Permessi file | 644 / 755 | 600 |
cloudflared tunnel --url http://localhost:18789 |