Prerequisiti
- Python 3.7 o successiva nel tuo
PATH. La revisione del commit agentico richiede Python 3.10 o successiva, così come tutte le revisioni supportate da modello quando Claude Code utilizza un provider di terze parti come Amazon Bedrock o Google Cloud’s Agent Platform. Il plugin preferisce gli interpreti versionatipython3.13fino apython3.10, quindi ricade apython3,pythonepy -3 - Un repository git per la directory in cui lavori. Le revisioni di fine turno e commit fanno il diff rispetto allo stato git e saltano silenziosamente al di fuori di un repository. Il controllo del pattern per modifica funziona ovunque
~/.claude/security/ e installa Claude Agent SDK al suo interno, il che richiede pip e accesso alla rete. Se quell’installazione fallisce, o il Python disponibile è più vecchio di 3.10, la revisione del commit con autenticazione di prima parte ricade a una revisione singola invece di quella agentica; su un provider di terze parti come Amazon Bedrock o Google Cloud’s Agent Platform le revisioni supportate da modello hanno bisogno dell’SDK stesso, quindi vengono saltate. Il plugin mostra un avviso una sola volta quando una versione più vecchia di Python è la causa.
Installa il plugin
In una sessione Claude Code, installa dal marketplace ufficiale Anthropic:/plugin apre un pannello interattivo nel CLI del terminale. Se Claude risponde che /plugin non è disponibile in questo ambiente, installa in un altro modo:
- App desktop Claude, sessione locale o SSH: apri il browser dei plugin facendo clic sul pulsante + accanto al prompt, quindi Plugins, quindi Add plugin
- Estensione VS Code: installa dalla finestra di dialogo Manage plugins
- Sessioni cloud: una sessione cloud non carica i plugin dalle tue impostazioni utente o dal file
.claude/settings.jsondel repository, come spiega What carries over from your setup. Per i plugin che la tua organizzazione distribuisce tramite impostazioni gestite, consulta Manage plugins for your organization
Marketplace "claude-plugins-official" not found: aggiungi il marketplace con/plugin marketplace add anthropics/claude-plugins-official, quindi riprova l’installazione.- Il plugin non è trovato nel marketplace: controlla il nome del plugin.
Run /reload-plugins to apply., consulta Apply plugin changes without restarting per attivare il plugin nella tua sessione corrente.
Abilita per il tuo team nelle sessioni locali
Per attivare il plugin nelle sessioni locali che i tuoi colleghi avviano nel repository, dichiaralo nelle impostazioni del progetto archiviate:.claude/settings.json
enabledPlugins nelle impostazioni gestite.
Cosa controlla il plugin
Il plugin rivede il lavoro di Claude in tre punti, ognuno a una profondità diversa:- Su ogni modifica di file: una corrispondenza di pattern veloce per chiamate rischiose, senza chiamata al modello
- Alla fine di ogni turno: una revisione del modello in background di tutto ciò che quel turno ha modificato
- Su ogni commit o push che Claude fa: una revisione agentica più profonda che legge il codice circostante
Su ogni modifica di file
Quando Claude scrive in un file, il plugin scansiona il nuovo contenuto per pattern noti rischiosi. Questa è una corrispondenza di pattern senza chiamata al modello, quindi non aggiunge alcun costo di utilizzo. Categorie di pattern di esempio:- Esecuzione di codice dinamico:
eval(,new Function,os.system,child_process.exec - Deserializzazione non sicura:
pickle - Injection DOM:
dangerouslySetInnerHTML,.innerHTML =,document.write - File di workflow: modifiche sotto
.github/workflows/, che possono concedere autorizzazioni a livello di repository
security-patterns.yaml.
Alla fine di ogni turno
Un turno è un round di risposta di Claude: invii un messaggio, Claude lavora e risponde, e il turno termina. Dopo ogni turno, il plugin calcola un git diff di tutto ciò che è cambiato nell’albero di lavoro durante il turno, incluse le modifiche dagli strumenti di modifica di Claude, dai comandi Bash e dai subagent, e lo invia a una revisione Claude separata focalizzata sulla sicurezza. La revisione viene eseguita in background, quindi la risposta di Claude non viene ritardata. Se la revisione trova problemi, Claude viene ripromptato con i risultati e li affronta come follow-up. Questo cattura problemi che una corrispondenza di stringa non può, come:- Bypass dell’autorizzazione
- Riferimenti diretti a oggetti non sicuri
- Injection
- Server-side request forgery
- Crittografia debole
Su ogni commit o push che Claude fa
Quando Claude eseguegit commit o git push attraverso il suo strumento Bash, il plugin esegue una revisione agentica più profonda della modifica in background. Questa revisione legge il codice circostante, inclusi i chiamanti, i sanitizer e i file correlati, per decidere se un risultato è reale prima di segnalarlo. Il contesto aggiuntivo mantiene bassi i falsi positivi su pattern che sembrano pericolosi in isolamento ma sono sicuri nel tuo codebase.
Questo livello si attiva solo su commit e push che Claude fa attraverso il suo strumento Bash. I commit che esegui dalla tua shell, incluso l’escape shell ! all’interno di una sessione, non vengono revisionati. Le revisioni di commit e push sono limitate a 20 per ora mobile. Se i risultati della revisione del commit duplicano ciò che la revisione di fine turno ha già segnalato, Claude non viene ripromptato, quindi un commit pulito non produce output visibile da questo livello.
Indipendenza e limiti della revisione
Il plugin non chiede alla stessa istanza di Claude che ha scritto il codice di valutare se stesso. Il controllo per modifica è una corrispondenza di stringa deterministica senza modello coinvolto. Le revisioni di fine turno e commit vengono eseguite come una chiamata Claude separata con un contesto fresco e un prompt focalizzato sulla sicurezza: il revisore inizia dal diff, non ha investimento nell’approccio originale ed è istruito solo a trovare problemi. Nessuno dei livelli blocca le scritture o i commit. I risultati raggiungono Claude che scrive come istruzioni, Claude li affronta nella conversazione, e il modello di revisione può perdere problemi. Tratta il plugin come uno strato di difesa in profondità, non una soluzione di sicurezza completa. Vedi Come questo si adatta ad altri strumenti di sicurezza.Aggiungi le tue regole
Il plugin ha due punti di estensione: un file di guida Markdown per le revisioni supportate dal modello e un file di pattern YAML o JSON per la corrispondenza di stringa per modifica. Entrambi sono additivi. Puoi aggiungere controlli ma non puoi disabilitare quelli incorporati da questi file.Aggiungi guida per le revisioni supportate dal modello
Crea.claude/claude-security-guidance.md nel tuo progetto e descrivi il tuo modello di minaccia e la tua lista di controllo di revisione in linguaggio naturale. Le revisioni supportate dal modello lo caricano come contesto aggiuntivo insieme alla lista di controllo delle vulnerabilità incorporata.
Il seguente esempio è per un servizio web con route admin controllate da ruoli e una politica di logging dei dati dei clienti:
.claude/claude-security-guidance.md
Aggiungi pattern personalizzati per modifica
Crea.claude/security-patterns.yaml per aggiungere regole regex o substring al controllo di pattern per modifica. Questi vengono eseguiti come corrispondenze di stringa deterministiche insieme ai pattern incorporati:
.claude/security-patterns.yaml
Il plugin legge anche
.claude/security-patterns.yml e .claude/security-patterns.json con lo stesso schema. JSON funziona su qualsiasi installazione Python. Le forme YAML richiedono che PyYAML sia importabile, che il plugin non installa per te. Il plugin carica fino a 50 regole personalizzate e salta le regex che sembrano inclini al backtracking catastrofico.
Posizioni di ricerca del file di regole
Il plugin cercaclaude-security-guidance.md e security-patterns.yaml negli stessi percorsi, indipendentemente da come il plugin è stato abilitato:
Il plugin carica tutti i percorsi che esistono e li concatena, con un limite combinato di 8 KB per il file di guida. Gli amministratori possono distribuire regole a livello organizzativo spingendo il file con ambito utente a
~/.claude/ attraverso la gestione dei dispositivi. Gli stessi percorsi si applicano a security-patterns.yaml.
Costo di utilizzo
Il controllo di pattern per modifica non effettua alcuna chiamata al modello e non aggiunge alcun costo. Le revisioni di fine turno e commit spendono ciascuna un utilizzo del modello aggiuntivo che conta verso il tuo utilizzo come qualsiasi altra richiesta Claude. La revisione del commit è agentica e può richiedere diversi turni di modello per commit. Aspettati approssimativamente una chiamata di revisione per turno che modifica i file e una revisione più profonda per commit, entrambe soggette ai limiti di cui sopra. Entrambe le revisioni supportate dal modello utilizzano Claude Opus 4.7 per impostazione predefinita. ImpostaSECURITY_REVIEW_MODEL per scegliere un modello diverso per la revisione di fine turno e SG_AGENTIC_MODEL per la revisione del commit.
Il plugin è disponibile su tutti i piani.
Disabilita o disinstalla
Per disattivare i singoli livelli mantenendo il resto, imposta la variabile di ambiente corrispondente:
Per mettere in pausa il plugin nel tuo ambito utente:
.claude/settings.json di un progetto, disabilitarlo da /plugin scrive un override al tuo .claude/settings.local.json piuttosto che modificare il file archiviato, quindi il plugin rimane disattivato per te mentre i tuoi compagni di squadra non sono interessati. La stessa finestra di dialogo offre anche di disinstallare il plugin per tutti rimuovendolo dal .claude/settings.json condiviso. Se è stato abilitato attraverso impostazioni gestite, solo un amministratore può disabilitarlo.
Come il plugin si integra con Claude Code
Il plugin è costruito interamente su hooks, il meccanismo per eseguire il tuo codice in punti specifici del loop di Claude. Registra:
Se costruisci i tuoi hook, il codice sorgente del plugin è un esempio funzionante di esecuzione di una chiamata di modello separata da un hook e alimentazione del risultato di nuovo alla sessione.
Come questo si adatta ad altri strumenti di sicurezza
Il plugin è uno strato in un approccio di difesa in profondità. Cattura i problemi il più presto possibile, mentre il codice è ancora nell’editor, ma non è una garanzia e non sostituisce i controlli successivi. Uno stack tipico:
Per trovare problemi di sicurezza nel codice che hai già, piuttosto che nei cambiamenti che Claude sta scrivendo, chiedi a Claude in una sessione di rivedere un file o una directory specifica per le vulnerabilità, oppure usa il Plugin Claude Security per una scansione multi-agent più profonda dell’intero repository;
/security-review copre solo i cambiamenti sul tuo ramo corrente. In ogni caso, la revisione legge il codice sorgente nel tuo checkout, non un sito in esecuzione o un servizio distribuito.
Risoluzione dei problemi
Il plugin scrive diagnostica di runtime in~/.claude/security/log.txt. Controlla lì per primo se le revisioni non vengono visualizzate.
Motivi comuni per cui un livello di revisione salta senza un messaggio nella conversazione:
- La directory non è un repository git: le revisioni di fine turno e commit richiedono lo stato git e saltano al di fuori di un repository
- La sessione non ha autenticazione Anthropic e nessun provider di terze parti configurato: le revisioni supportate dal modello saltano e viene eseguito solo il controllo di pattern per modifica
- Un file
security-patterns.yamlè presente ma PyYAML non è importabile: il file viene ignorato. Usasecurity-patterns.jsoninvece
Risorse correlate
Per approfondire i pezzi che questa pagina tocca:- Code Review: configura la revisione multi-agent al momento della PR
- Automatizza i workflow con gli hook: costruisci i tuoi controlli negli stessi punti del ciclo di vita
- Scopri i plugin nel marketplace ufficiale: dove sfogliare gli altri plugin ufficiali