
Framework per agenti autonomi con memoria strutturata, hook di sicurezza e gestione del loop. Costruito dall'agente che vi gira sopra.
Hook di Claude Code che fanno rispettare davvero le tue regole. 7 hook autonomi, più enforce-hooks per la policy di CLAUDE.md, strumenti di audit, oltre 1.900 test e un corpus ricercabile delle lacune di Claude Code con valutazioni di gravità e soluzioni alternative.
Collegamenti rapidi: Controlla la tua configurazione · Installa gli hook · Limitazioni note · Esportazione JSON · Avvio rapido · Triage · Checklist di aggiornamento · Prove di supporto sicure · Esempi di supporto · Audit in sola lettura · Hook individuali · Supporto piattaforme · Versione consigliata di Claude Code · Risoluzione dei problemi · Boucle Framework (opzionale, per agenti autonomi)
Le regole CLAUDE.md di Claude Code vengono lette ma non applicate — funzionano all'avvio della sessione e si degradano man mano che il contesto cresce. Il suo sistema di autorizzazioni ha lacune note — i caratteri jolly non corrispondono ai comandi composti, le regole di negazione non controllano i segmenti delle pipe e possono essere bypassate con commenti multilinea. Questi hook impongono confini che le regole testuali e le autorizzazioni non possono.
Cosa succede quando un hook blocca un comando pericoloso:``` Claude tries: rm -rf ~/projects bash-guard: bash-guard: rm -rf targeting a critical system path. This would cause irreversible data loss. Claude sees: ⚠ Hook blocked this action. Suggesting safer alternative...
No prompts, no "sei sicuro" dialoghi. Il comando non viene mai eseguito.
<a id="check-your-setup"></a>
**Controlla la tua configurazione attuale:**```sh
curl -fsSL https://raw.githubusercontent.com/Bande-a-Bonnot/Boucle-framework/main/tools/safety-check/check.sh | bash
Esegui questo dalla stessa root del progetto da cui avvii Claude Code. Gli hook di progetto
vengono risolti dalla directory corrente, quindi un avvio da una sottodirectory può non trovare
.claude/settings.json alla root del repository. Se ti trovi già da qualche parte all'interno di un
checkout git:```sh
cd "$(git rev-parse --show-toplevel)"
curl -fsSL https://raw.githubusercontent.com/Bande-a-Bonnot/Boucle-framework/main/tools/safety-check/check.sh | bash
Valuta la tua configurazione di sicurezza di Claude Code con un voto da A a F e mostra correzioni in una riga per ogni lacuna. Aggiungi `--verify` per inviare payload di test a ogni hook e confermare che blocchino davvero:```sh
curl -fsSL https://raw.githubusercontent.com/Bande-a-Bonnot/Boucle-framework/main/tools/safety-check/check.sh | bash -s -- --verify
Per CI o un controllo di workstation scriptato, fallire quando la verifica trova
un hook FAIL-OPEN, file di hook rotti, controlli PreToolUse saltati, nessun hook, o
nessun controllo del payload:```sh
curl -fsSL https://raw.githubusercontent.com/Bande-a-Bonnot/Boucle-framework/main/tools/safety-check/check.sh | bash -s -- --verify --strict
Usa la [guida ai controlli tramite script](https://github.com/bande-a-bonnot/boucle-framework/blob/main/tools/safety-check/CI.md) per GitHub Actions,
i controlli della workstation di sviluppo, i codici di uscita e i limiti di ciò che la CI può dimostrare.
Controlla l'installazione degli hook, la salute degli hook (script mancanti/non eseguibili), la verifica live (invia `rm -rf /` a bash-guard, `git push --force` a git-safe, ecc. e conferma che vengono bloccati), le regole enforce-hooks e `@enforced` di CLAUDE.md, i problemi di ambiente (IS_DEMO, impostazioni JSONC, dipendenze jq/python3, affidabilità degli hook su Windows) e le regressioni note di versione della CLI. Scansiona sia le impostazioni a livello utente (`~/.claude/settings.json`) sia quelle a livello di progetto (`.claude/settings.json`), con un inventario degli hook che mostra gli hook personalizzati/di terze parti accanto a quelli del framework. Il riepilogo conta 8 slot di hook del framework perché include l'hook di policy `enforce-hooks`; `install.sh all` installa i 7 hook standalone elencati di seguito. Avvisa inoltre quando le regole deny sono configurate senza bash-guard, poiché i pattern deny [possono essere bypassati](https://github.com/anthropics/claude-code/issues/38119) da comandi composti e script multi-linea. Nessuna installazione di hook richiesta per l'audit. Coperto da centinaia di test.
Per un percorso di 10 minuti dall'audit agli hook verificati, consulta la [guida rapida di safety-check](https://github.com/bande-a-bonnot/boucle-framework/blob/main/tools/safety-check/QUICKSTART.md).
Se hai bisogno di chiedere aiuto, usa la [guida alle evidenze per un supporto sicuro](https://github.com/bande-a-bonnot/boucle-framework/blob/main/tools/safety-check/SUPPORT_EVIDENCE.md)
per condividere il blocco di riepilogo senza esporre impostazioni private o segreti. Per
stampare solo quel blocco pubblico delimitato, esegui:```sh
curl -fsSL https://raw.githubusercontent.com/Bande-a-Bonnot/Boucle-framework/main/tools/safety-check/check.sh | bash -s -- --verify --summary-only
Per esempi di report pubblici sicuri e frammenti non sicuri da evitare, vedi safe support examples.
Per le lacune degli hook e dei permessi upstream di Claude Code, usa la pagina delle limitazioni ricercabili, l'esportazione JSON leggibile da macchina, o il feed Atom.
Requisiti macOS / Linux: bash, python3 e jq. Il programma di installazione usa
python3 per gestire il settings.json di Claude Code, safety-check usa python3 per
il suo audit, e la maggior parte degli hook standalone usa jq per analizzare i
payload degli hook di Claude Code.
Inizia con l'essenziale (bash-guard + git-safe + file-guard):```sh curl -fsSL https://raw.githubusercontent.com/Bande-a-Bonnot/Boucle-framework/main/tools/install.sh | bash -s -- recommended
Questi tre hook formano la rete di sicurezza che ogni utente di Claude Code dovrebbe avere: bloccare i comandi pericolosi, prevenire operazioni git distruttive e proteggere i file sensibili. Dopo l'installazione, esegui il controllo di sicurezza qui sopra con `--verify` per confermare che ogni hook blocchi ciò che dovrebbe.
**Se l'installazione riesce ma gli hook non bloccano nulla:**