Il tuo AI coder e potente. Ma un singolo comando puo distruggere ore di lavoro, esporre segreti, o cancellare dati in produzione. Safety Guard intercetta prima che accada.
Ogni pattern ha un livello di rischio e un messaggio di warning specifico. Safety Guard non blocca: avvisa.
| Pattern | Rischio | Warning |
|---|---|---|
git push --force |
HIGH | Sovrascrive la storia remota. Usa --force-with-lease come alternativa sicura. |
rm -rf |
HIGH | Cancellazione ricorsiva irreversibile. Verifica il path prima di eseguire. |
.env / .pem |
HIGH | Possibile esposizione di segreti. Verifica che il file sia in .gitignore. |
git reset --hard |
HIGH | Distrugge tutte le modifiche non committate. Considera git stash prima. |
git checkout . |
HIGH | Scarta tutte le modifiche locali. Assicurati di aver salvato il lavoro. |
git push main |
MEDIUM | Push diretto su main/master. Usa un branch e una pull request. |
DROP TABLE |
HIGH | Cancellazione di tabella database. Verifica l'ambiente (dev/staging/prod). |
docker prune |
MEDIUM | Rimuove container, volumi e immagini. Puo eliminare dati persistenti. |
chmod 777 |
MEDIUM | Apre tutti i permessi. Rischio di sicurezza su file sensibili. |
Safety Guard non impedisce l'esecuzione. Mostra un avviso chiaro prima che il coder agisca, lasciando la decisione a chi la deve prendere.
Il coder sta per eseguire un comando. L'hook si attiva prima dell'esecuzione.
Il comando viene confrontato con i 9 pattern pericolosi conosciuti.
Se c'e un match, un warning viene scritto su stderr. Il coder lo vede immediatamente.
Il coder decide se procedere o no. Zero blocchi, zero falsi positivi forzati.
Filosofia: Safety Guard non e un firewall. E uno specchietto retrovisore. Ti mostra cosa stai per fare prima che sia troppo tardi. La responsabilita resta al coder, ma l'informazione arriva al momento giusto.
Scarica il seed file. Contiene le istruzioni per configurare i 9 pattern di sicurezza.
Copia SEED-safety.md nella root del tuo progetto.
Il tuo AI coder legge il seed, genera gli hook di sicurezza, e attiva il monitoraggio.
# 1. Crea la configurazione hooks in .claude/settings.local.json
{
"hooks": {
"PreToolUse": [
{
"matcher": "Bash|Execute",
"hooks": [{
"type": "command",
"command": "bash .claude/hooks/safety-guard.sh"
}]
}
]
}
}
# 2. Crea lo script .claude/hooks/safety-guard.sh
#!/bin/bash
INPUT=$(cat)
CMD=$(echo "$INPUT" | jq -r '.tool_input.command // empty')
# Pattern matching per i 9 comandi pericolosi
if echo "$CMD" | grep -qE 'push\s+--force|push\s+-f'; then
echo "WARNING: force push rilevato" >&2
fi
if echo "$CMD" | grep -qE 'rm\s+-rf'; then
echo "WARNING: rm -rf rilevato" >&2
fi
# ... (i restanti 7 pattern)
# 3. Rendi eseguibile
chmod +x .claude/hooks/safety-guard.sh