Vai al contenuto principale
Claude Code e open source

Hookify: regole di sicurezza per Claude Code senza codice

· 5 minuti di lettura · Redazione Scrivere.AI

In breve

  • Hookify è un plugin ufficiale di Anthropic che crea hook per Claude Code a partire da una frase, scrivendo la regola in un file Markdown con un'espressione regolare.
  • Ogni regola indica l'evento da sorvegliare (comandi, modifiche ai file, messaggi o chiusura del lavoro) e se avvisare o bloccare l'operazione, e /hookify senza argomenti propone regole analizzando la conversazione.
  • Le regole a espressione regolare prevengono errori di distrazione ma non sono una barriera completa, e chi preferisce protezioni già pronte può usare i plugin di claude-code-hooks come block-dangerous-commands e protect-secrets.

Hookify è un plugin ufficiale di Anthropic per Claude Code che ti permette di creare regole di sicurezza descrivendole a parole, per esempio "avvisami quando usi rm -rf". Il plugin trasforma la frase in un piccolo file Markdown con una regola basata su un'espressione regolare, che avvisa o blocca l'operazione prima che venga eseguita. Non devi scrivere script né modificare a mano il file hooks.json.

Se non usi Claude Code, l'idea è semplice: è un assistente che lavora sul tuo computer, lancia comandi e modifica file. Un guardrail è un controllo automatico che si mette in mezzo tra la decisione dell'assistente e l'azione vera. Il meccanismo che lo rende possibile si chiama hook ed è spiegato nell'articolo sugli hooks di Claude Code: qui vediamo come Hookify ne semplifica la scrittura e quali alternative già pronte esistono.

Che cosa fa Hookify, in concreto?

Hookify registra i propri hook su quattro momenti della sessione: prima e dopo l'uso di uno strumento, all'invio del tuo messaggio e quando Claude sta per fermarsi. A ogni evento uno script Python legge le regole che hai scritto e controlla se qualcosa corrisponde. Le regole stanno nella cartella .claude del progetto, in file con nomi come .claude/hookify.warn-rm.local.md.

Ogni regola è un file Markdown con un'intestazione YAML (il frontmatter) e un messaggio. I campi principali sono questi:

  • event: su cosa scatta. bash per i comandi di terminale, file per le modifiche ai file, prompt per i messaggi che invii, stop quando Claude vuole chiudere il lavoro, all per tutto.
  • pattern: l'espressione regolare, in sintassi Python, da cercare.
  • action: warn mostra un avviso ma lascia procedere (è il valore predefinito), block impedisce l'operazione o, sull'evento stop, impedisce a Claude di dichiarare finito.
  • enabled: true o false, per accendere e spegnere la regola senza cancellarla.

Il testo sotto l'intestazione è il messaggio che Claude riceve quando la regola scatta: scrivilo come un'istruzione chiara.

Come si installa e come si crea la prima regola?

Hookify è nel marketplace ufficiale claude-plugins-official, che Claude Code registra da solo alla prima sessione interattiva. Dentro una sessione si installa con:

/plugin install hookify@claude-plugins-official

Il comando apre il pannello dei plugin, dove scegli l'ambito e confermi. I passaggi generali sono nella guida a installare e gestire i plugin. Serve Python 3 sul computer, perché gli script del plugin sono in Python.

A quel punto la prima regola si crea così:

/hookify Avvisami quando uso rm -rf

Il plugin interpreta la richiesta e scrive il file della regola. Secondo il README non serve riavviare: la regola vale già dal successivo uso di uno strumento. Un esempio di regola che blocca, invece di avvisare:

---
name: block-destructive-ops
enabled: true
event: bash
pattern: rm\s+-rf|dd\s+if=|mkfs
action: block
---

Operazione distruttiva rilevata: verifica il percorso esatto
e proponi un'alternativa più sicura prima di procedere.

Per casi più fini ci sono le condizioni multiple, che devono essere vere tutte insieme: per esempio "il file modificato finisce in .env" e "il nuovo testo contiene KEY".

Cosa succede se lanci /hookify senza argomenti?

È la funzione più interessante. Scritto da solo, /hookify analizza la conversazione recente e cerca i comportamenti che hai corretto o che ti hanno infastidito, per proporre regole che li prevengano. Se hai ripetuto più volte "non lasciare console.log nel codice", la correzione diventa una regola stabile invece di un'istruzione da ripetere.

Per gestire le regole esistenti ci sono altri comandi:

  • /hookify:list elenca le regole caricate;
  • /hookify:configure le attiva e disattiva da un'interfaccia interattiva.

Per eliminare una regola basta cancellare il suo file .local.md.

Quali sono i limiti di Hookify?

Una regola basata su un'espressione regolare intercetta solo ciò che descrive. Un pattern scritto per rm -rf può non riconoscere la stessa operazione scritta in un altro modo, con le opzioni separate o attraverso uno script. Per questo Hookify è un buon sistema di promemoria e di prevenzione degli errori di distrazione, non una barriera di sicurezza: per i rischi seri servono anche le regole di permesso di Claude Code e, dove possibile, un ambiente isolato.

Altri punti da sapere:

  • Gli script girano a ogni evento con i tuoi permessi. Il README consiglia pattern semplici ed eventi specifici invece di all.
  • Le regole block sull'evento stop, come "non fermarti finché non hai lanciato i test", sono rigide: accendile solo quando vuoi davvero quel vincolo.
  • Le regole sono file del progetto: se lavori in team, decidete insieme quali tenere e controllate cosa contengono, come per qualunque configurazione. Le regole generali sono nell'articolo sulla sicurezza dei plugin.

Il codice e la documentazione completa sono nella cartella di Hookify nel repository ufficiale.

Un'alternativa già pronta: claude-code-hooks

Se preferisci non scrivere regole ma installare guardrail già confezionati e testati, il progetto open source claude-code-hooks è a sua volta un marketplace di plugin, uno per hook. I tre più vicini al tema di questo articolo sono:

  • block-dangerous-commands: blocca prima dell'esecuzione comandi di shell pericolosi, come cancellazioni ricorsive della home, curl | sh e push forzati sul ramo principale;
  • protect-secrets: impedisce di leggere, modificare o far uscire file sensibili come .env, chiavi SSH e credenziali cloud;
  • git-safety: protegge i rami principali da push, cancellazioni e modifiche dirette, e blocca operazioni distruttive del comando gh.

L'installazione segue lo schema dei marketplace di terze parti:

/plugin marketplace add karanb192/claude-code-hooks
/plugin install block-dangerous-commands@claude-code-hooks

Questi hook sono script Node.js e supportano livelli di severità configurabili tramite la variabile HOOK_SAFETY_LEVEL. Il README avverte che config-guard, che impedisce all'assistente di modificare la propria configurazione, blocca anche l'installazione di altri plugin: va installato per ultimo. Trattandosi di terze parti, leggi gli script prima di attivarli.

Hookify o hook pronti: per chi ha senso?

Hookify conviene a chi vuole regole su misura del progetto, scritte a parole e facili da rileggere. Gli hook pronti convengono a chi vuole una base di protezione comune su più progetti. Le due strade possono convivere, purché tu sappia quali hook sono attivi: /hooks e /hookify:list servono proprio a questo.

Cosa fare adesso: installa Hookify su un progetto di prova, crea una regola warn per il comportamento che correggi più spesso e lasciala girare una settimana prima di passare a block. Per altri plugin da affiancare trovi la guida ai plugin di Claude Code e la rassegna dei plugin da provare.

Domande frequenti

Come si installa Hookify in Claude Code?

Dentro una sessione di Claude Code si usa /plugin install hookify@claude-plugins-official, poi si sceglie l'ambito nel pannello dei plugin. Serve Python 3 sul computer, perché gli script del plugin sono in Python.

Dove salva le regole Hookify?

Le regole sono file Markdown nella cartella .claude del progetto, con nomi del tipo hookify.nome-regola.local.md. Per disattivarne una si imposta enabled: false, per eliminarla si cancella il file.

Hookify può bloccare un comando o solo avvisare?

Può fare entrambe le cose: con action: warn mostra un avviso e lascia procedere, con action: block impedisce l'operazione. Sull'evento stop, block impedisce a Claude di dichiarare concluso il lavoro.

Hookify basta a rendere sicuro Claude Code?

No. Una regola a espressione regolare intercetta solo le forme che descrive, quindi va affiancata alle regole di permesso di Claude Code e, per i lavori rischiosi, a un ambiente isolato.

Continua a leggere