
NOVA - Sistema de protección de código Claude contra ataques de inyección de prompts
Monitoreo de seguridad y defensa contra inyección de instrucciones para Claude Code usando el NOVA Framework.
# Clonar el repositorio
git clone https://github.com/fr0gger/nova-claude-code-protector.git
cd nova_claude_code_protector
# Instalar globalmente (registra hooks en ~/.claude/settings.json)
./install.sh
# Reiniciar Claude Code para activar los hooks
¡Eso es todo! Nova-tracer ahora protegerá todas tus sesiones de Claude Code.
brew install jq en macOS)./install.sh
El instalador hará lo siguiente:
~/.claude/settings.json./uninstall.sh
El desinstalador hará lo siguiente:
.nova-tracer/Nova-tracer registra cuatro hooks de Claude Code que trabajan juntos:
┌─────────────────────────────────────────────────────────────┐
│ Sesión de Claude Code │
├─────────────────────────────────────────────────────────────┤
│ │
│ 1. Hook SessionStart │
│ └── Crea archivo JSONL de sesión │
│ └── Inicializa seguimiento con ID de sesión │
│ │
│ 2. Hook PreToolUse (Bash, Write, Edit) [ACTIVO] │
│ └── Escanea comandos ANTES de la ejecución │
│ └── BLOQUEA operaciones peligrosas (rm -rf, etc.) │
│ │
│ 3. Hook PostToolUse (Read, Bash, WebFetch, etc.) [PASIVO] │
│ └── Escanea la SALIDA de la herramienta por inyección │
│ └── ADVIERTE a Claude si se detectan amenazas │
│ └── Registra evento con veredicto de NOVA │
│ │
│ 4. Hook SessionEnd │
│ └── Genera informe HTML interactivo │
│ └── Crea resumen de sesión impulsado por IA │
│ └── Guarda en .nova-tracer/reports/ │
│ │
└─────────────────────────────────────────────────────────────┘
Nova-tracer proporciona dos modos de protección:
| Modo | Hook | Comportamiento | Caso de uso |
|---|---|---|---|
| ACTIVO | PreToolUse | Bloquea la ejecución antes de que ocurra | Comandos peligrosos (rm -rf /, sudo rm, etc.) |
| PASIVO | PostToolUse | Advierte a Claude después de que se lee el contenido | Inyección de instrucciones en archivos, páginas web, salida de comandos |
Importante: La detección de inyección de instrucciones es pasiva. Cuando Nova-tracer detecta una inyección de instrucciones en un archivo o página web, el contenido ya ha sido leído por Claude. Nova-tracer envía un mensaje de advertencia a Claude indicándole que trate el contenido con sospecha, pero no impide que Claude vea el contenido malicioso.
Esta es una limitación de la arquitectura del hook PostToolUse: se ejecuta después de que la herramienta se ejecuta. El bloqueo activo de inyecciones de instrucciones requeriría escanear el contenido antes de que Claude lo lea, lo que implicaría leer los archivos dos veces (una para escanear, otra para Claude).
Lo que se bloquea activamente:
rm -rf /, sudo rm -rf, mkfsdd if=... of=/dev/, bombas forkcurl ... | sh, lectura de ~/.ssh/id_rsaLo que se advierte pasivamente:
| Nivel | Método | Velocidad | Detecta |
|---|---|---|---|
| Palabras clave | Patrones regex | ~1ms | Patrones de ataque conocidos, frases exactas |
| Semántica | Similitud ML | ~50ms | Ataques parafraseados, variaciones |
| LLM | Evaluación IA | ~500-2000ms | Ataques sofisticados y novedosos |
Una vez instalado, Nova-tracer funciona automáticamente:
Los informes se guardan en el directorio .nova-tracer/reports/ de cada proyecto:
# Listar informes del proyecto actual
ls .nova-tracer/reports/
# Abrir un informe en el navegador
open .nova-tracer/reports/session-abc123.html
El informe HTML interactivo incluye:
Prueba la detección de Nova-tracer sin ejecutar Claude Code:
# Ejecutar pruebas de muestra de ataque
uv run hooks/test-nova-guard.py --samples
# Probar texto específico
uv run hooks/test-nova-guard.py --text "ignora las instrucciones anteriores"
# Probar un archivo
uv run hooks/test-nova-guard.py --file sospechoso.txt
# Modo interactivo
uv run hooks/test-nova-guard.py -i
Nova-tracer funciona con valores predeterminados sensatos, pero puedes personalizar el comportamiento.