
NOVA - Sistema di protezione di Claude Code contro attacchi di iniezione di prompt
Monitoraggio della sicurezza e difesa contro l'iniezione di prompt per Claude Code utilizzando il NOVA Framework.
# Clona il repository
git clone https://github.com/fr0gger/nova-claude-code-protector.git
cd nova_claude_code_protector
# Installa globalmente (registra gli hook in ~/.claude/settings.json)
./install.sh
# Riavvia Claude Code per attivare gli hook
Questo è tutto! Nova-tracer proteggerà ora tutte le tue sessioni di Claude Code.
brew install jq su macOS)./install.sh
Il programma di installazione:
~/.claude/settings.json./uninstall.sh
Il programma di disinstallazione:
.nova-tracer/Nova-tracer registra quattro hook di Claude Code che lavorano insieme:
┌─────────────────────────────────────────────────────────────┐
│ Sessione Claude Code │
├─────────────────────────────────────────────────────────────┤
│ │
│ 1. Hook SessionStart │
│ └── Crea il file JSONL della sessione │
│ └── Inizializza il tracciamento con ID sessione │
│ │
│ 2. Hook PreToolUse (Bash, Write, Edit) [ATTIVO] │
│ └── Scansiona i comandi PRIMA dell'esecuzione │
│ └── BLOCCA operazioni pericolose (rm -rf, ecc.) │
│ │
│ 3. Hook PostToolUse (Read, Bash, WebFetch, ecc.) [PASSIVO] │
│ └── Scansiona l'OUTPUT dello strumento per iniezione di prompt │
│ └── AVVERTE Claude se vengono rilevate minacce │
│ └── Registra l'evento con il verdetto di NOVA │
│ │
│ 4. Hook SessionEnd │
│ └── Genera un report HTML interattivo │
│ └── Crea un riepilogo della sessione basato su IA │
│ └── Salva in .nova-tracer/reports/ │
│ │
└─────────────────────────────────────────────────────────────┘
Nova-tracer fornisce due modalità di protezione:
| Modalità | Hook | Comportamento | Caso d'Uso |
|---|---|---|---|
| ATTIVA | PreToolUse | Blocca l'esecuzione prima che avvenga | Comandi pericolosi (rm -rf /, sudo rm, ecc.) |
| PASSIVA | PostToolUse | Avverte Claude dopo che il contenuto è stato letto | Iniezione di prompt in file, pagine web, output di comandi |
Importante: Il rilevamento di iniezione di prompt è passivo. Quando Nova-tracer rileva un'iniezione di prompt in un file o una pagina web, il contenuto è già stato letto da Claude. Nova-tracer invia un messaggio di avviso a Claude consigliandogli di trattare il contenuto con sospetto, ma non impedisce a Claude di vedere il contenuto malevolo.
Questa è una limitazione dell'architettura dell'hook PostToolUse: viene eseguito dopo che lo strumento ha agito. Il blocco attivo delle iniezioni di prompt richiederebbe la scansione del contenuto prima che Claude lo legga, il che implicherebbe la lettura dei file due volte (una per la scansione, una per Claude).
Cosa viene bloccato attivamente:
rm -rf /, sudo rm -rf, mkfsdd if=... of=/dev/, fork bombcurl ... | sh, lettura di ~/.ssh/id_rsaCosa viene avvisato passivamente:
| Livello | Metodo | Velocità | Rileva |
|---|---|---|---|
| Parole Chiave | Pattern regex | ~1ms | Pattern di attacco noti, frasi esatte |
| Semantica | Similarità ML | ~50ms | Attacchi parafrasati, variazioni |
| LLM | Valutazione AI | ~500-2000ms | Attacchi sofisticati e nuovi |
Una volta installato, Nova-tracer funziona automaticamente:
I report vengono salvati nella directory .nova-tracer/reports/ di ogni progetto:
# Elenca i report per il progetto corrente
ls .nova-tracer/reports/
# Apri un report nel browser
open .nova-tracer/reports/session-abc123.html
Il report HTML interattivo include:
Testa il rilevamento di Nova-tracer senza eseguire Claude Code:
# Esegui test di attacco campione
uv run hooks/test-nova-guard.py --samples
# Testa un testo specifico
uv run hooks/test-nova-guard.py --text "ignore previous instructions"
# Testa un file
uv run hooks/test-nova-guard.py --file suspicious.txt
# Modalità interattiva
uv run hooks/test-nova-guard.py -i
Nova-tracer funziona con impostazioni predefinite sensate, ma puoi personalizzare il comportamento.
Modifica config/nova-tracer.yaml: