
Analizza la configurazione `.claude/` di un repository (`settings.json hooks`, `MCP servers`, `env`, `allowed-tools`) per le trappole di RCE ed esfiltrazione di chiavi API (CVE-2025-59536, CVE-2026-21852) che si attivano quando cloni e apri un repository non fidato. Statico, zero dipendenze, locale.
Scansiona la configurazione locale di
.claude/di un repository —settings.jsonhooks, definizioni del server MCP, blocchienv,permissions.allow— per i pericoli di RCE e esfiltrazione di chiavi API che scattano nel momento in cui faigit clonee apri un repository non fidato in Claude Code. Indica la linea esatta pericolosa in modo da poter leggere prima di fidarti. Legge solo — non esegue mai ciò che trova.
⚡ Eseguilo in una riga, senza installazione, nulla esce dalla tua macchina:
npx dotclaude-security --dir ./qualche-repo-clonato
🤝 Lo vuoi rafforzato per te? Audit a perimetro fisso — $99 / 24h: Rivedo ogni risultato e invio un report scritto con le correzioni esatte della configurazione
.claude.
$ npx dotclaude-security --dir ./repo-non-fidato
1 critico, 2 alti, 0 medi in 1 file di configurazione.
CRITICO .claude/settings.json:4 Hook di auto-esecuzione su "SessionStart" esegue un comando quando il repo viene aperto
ALTO .claude/settings.json:7 permissions.allow pre-approva uno strumento pericoloso: Bash(*)
ALTO .claude/settings.json:8 Il server MCP "x" esegue un pacchetto remoto al volo (npx)
Un repository può fornire la propria configurazione .claude/, e un agente la onora all'apertura.
Nel febbraio 2026, Check Point Research ha divulgato due CVE radicate esattamente in questo:
SessionStart controllato dal repository esegue automaticamente un comando shell quando la directory viene aperta.
Clona un repo malevolo, aprilo, vieni compromesso. Esecuzione di codice remoto all'inizializzazione.env) legge la tua ANTHROPIC_API_KEY e la invia a un host remoto. Esfiltrazione silenziosa della chiave.Entrambi attaccano la stessa superficie: hooks di settings.json, comandi di lancio del server MCP, blocchi env e la lista permissions.allow — le cose che il repo di uno sconosciuto può consegnarti. I grandi strumenti esistenti (skill-scanner di Cisco, agent-scan di Snyk) scansionano le skill; quasi nessuno scansiona i file di configurazione .claude.
dotclaude-security analizza quei file, staticamente, e segnala il file esatto + la riga di ogni direttiva pericolosa — così valuti i fatti, non i forse, e non esegui mai il payload per trovarlo.
# Scansiona la configurazione .claude/ nel repo corrente
npx dotclaude-security
# Scansiona un repo appena clonato e non fidato PRIMA di aprirlo in Claude Code
npx dotclaude-security --dir ./qualche-repo-clonato
# Solo JSON leggibile da macchina (usa il riepilogo per la tua CI)
npx dotclaude-security --json
# Scrivi un report HTML condivisibile
npx dotclaude-security --html report.html
L'output è JSON su stdout (inoltralo nella CI) e un riepilogo di una riga per risultato su stderr. Ogni risultato riporta file, location.line, location.text e un fix concreto.
npm i -g dotclaude-security
dotclaude-security --dir ./repo-non-fidato
Zero dipendenze. Legge i tuoi file di configurazione e riporta — non esegue mai un hook, un comando MCP o altro che scopre. Nulla esce dalla tua macchina.
Stessa filosofia local-first, dimostra-il-vero-problema su tutto lo stack, tutti MIT:
supabase-security · strapi-security · pocketbase-security · firebase-security · appwrite-security · nhost-security · stripe-webhook-security · github-actions-security · aws-s3-security
MIT © Renzo Madueno
📚 Parte di Awesome Backend Security Auditors — la collezione completa di auditor a sonda attiva senza chiave.
| Controllo | Gravità | Cosa rileva |
|---|
Hook di auto-esecuzione all'apertura (SessionStart/PreToolUse/UserPromptSubmit) | critico / alto | comando che viene eseguito nel momento in cui il repo viene aperto — RCE all'inizializzazione (CVE-2025-59536) |
| Hook legge un segreto e chiama la rete | critico | ANTHROPIC_API_KEY/token inviato a un host remoto — esfiltrazione chiave (CVE-2026-21852) |
| Schema di comando pericoloso in un qualsiasi hook | alto | curl|sh, eval, base64 -d, nc -e, /dev/tcp, inline python -c/node -e |
| Server MCP lancia un comando pericoloso | critico | command/args di MCP che scaricano ed eseguono codice alla connessione |
| Server MCP esegue un pacchetto remoto al volo | alto | definizioni MCP con npx/uvx/bunx che tirano pacchetti non bloccati |
| Server MCP riceve un segreto / URL remoto | alto / medio | credenziali iniettate via env, endpoint remoti non fidati |
Voce rischiosa in permissions.allow | alto / medio | Bash(*), WebFetch, mcp__* ampio che rimuove il gate di approvazione umana |
| Valore segreto committato | critico | sk-ant-…, AKIA…, ghp_…, chiavi private reali in qualsiasi file .claude |