Competenze per la modellazione delle minacce, la scansione, il triage, il patching, più un harness di scansione autonomo che puoi /customize
Un'implementazione di riferimento per la scoperta autonoma e la correzione di vulnerabilità con Claude, basata su quanto appreso collaborando con i team di sicurezza di diverse organizzazioni dal lancio di Claude Mythos Preview. Per un resoconto di questi apprendimenti insieme alle best practice, consulta il post del blog allegato (disponibile anche in blog-post.md). Per una panoramica leggera, solo SDK, dello stesso ciclo ricognizione → individuazione → triage → report → patch, consulta il cookbook complementare.
Questo repository non è mantenuto e non accetta contributi.
🔒 Vuoi un'opzione gestita? Anthropic offre Claude Security, un prodotto ospitato che individua e corregge le vulnerabilità nel tuo codice sorgente su più progetti. Claude Security esegue la scansione del tuo repository per individuare vulnerabilità, applica una pipeline di verifica a più stadi per ridurre i falsi positivi e ti consente di gestire i risultati durante il loro ciclo di vita: triage, validazione delle correzioni e generazione rapida delle correzioni.
Questo repository è un'implementazione di riferimento open-source basata su best practice generali per individuare vulnerabilità usando Claude. Puoi usarlo per costruire la tua pipeline di individuazione delle vulnerabilità, personalizzarne la logica, e può essere usato con qualunque accesso tu abbia alle API di Claude (inclusi Bedrock, Vertex o Azure).
/quickstart, /threat-model, /vuln-scan, /triage, /patch, /customize: definizione interattiva dell'ambito, scansione, triage e applicazione di patch. Apri questo repository in Claude Code ed esegui /quickstart per orientarti.harness/: la pipeline di riferimento autonoma (ricognizione → individuazione → verifica → report → patch), configurata per individuare vulnerabilità di memoria in C/C++ usando Docker e ASAN. Questo harness è un riferimento, non un prodotto. La struttura generale, i prompt e il sandboxing sono riutilizzabili, ma l'harness non funzionerà su ogni codebase senza adattamenti. Esegui /customize per portarlo sul tuo linguaggio, rilevatore o classe di vulnerabilità.⚠️ Sicurezza:
/quickstart,/threat-model,/vuln-scane/triageleggono e scrivono solo file. Anche l'esecuzione di/patchsui risultati statici (TRIAGE.jsonoVULN-FINDINGS.json) è di sola lettura e scrittura./customizemodifica il codice dell'harness ed esegue comandi di validazione. Ognuna di queste skill è sicura da eseguire senza sandbox, purché tu esamini e approvi ogni utilizzo degli strumenti in Claude Code. La pipeline di riferimento autonoma (incluso/patchsui risultati della pipeline) esegue codice del target, quindi rifiuta di funzionare al di fuori di una sandbox gVisor a meno che non si esegua un override esplicito. Per la configurazione, eseguiscripts/setup_sandbox.shuna volta, poi invoca la pipeline tramitebin/vp-sandboxed. Consulta docs/security.md e docs/agent-sandbox.md per maggiori dettagli.
git clone https://github.com/anthropics/defending-code-reference-harness
cd defending-code-reference-harness
claude
# 30-sec intro + guided first run on the canary target
> /quickstart
> /quickstart how do I port the pipeline to Java?
> /quickstart how do I triage all these bugs?
I team di sicurezza di maggior successo con cui abbiamo collaborato sono quelli che hanno iniziato a mettersi all'opera più rapidamente. Anche se può essere allettante passare mesi a progettare la pipeline perfetta, consigliamo di iniziare in piccolo il Giorno 1 e di costruire da lì man mano che arrivano gli apprendimenti. I passaggi seguenti seguono questo schema e fissano un ritmo ambizioso (ma ragionevole) in base a ciò che abbiamo visto.
| Passaggio 1 | Giorno 1 | Costruisci un modello di minaccia ed esegui la tua prima scansione statica + triage |
| Passaggio 2 | Giorno 2 | Esegui la pipeline di riferimento su una libreria C/C++ |
| Passaggio 3 | Giorni 3-5 | Personalizza la pipeline per il tuo target |
| Passaggio 4 | Settimana 2 | Inizia la scansione, il triage e l'applicazione di patch autonomi |
Il Giorno 1 è incentrato sulla visione dell'intero ciclo dall'inizio alla fine. Usando solo le skill interattive, costruirai un modello di minaccia, eseguirai una scansione statica delimitata da esso, farai il triage di ciò che emerge e abbozzerai le correzioni candidate. Concluderai la giornata con un modello di minaccia, un elenco classificato dei risultati statici e patch candidate.
Le skill pertinenti leggono e scrivono solo file nel tuo repository. Finché esegui Claude Code in modalità interattiva e approvi ogni utilizzo degli strumenti, non è necessaria alcuna sandbox.
# Pin every subagent to the model you want
export CLAUDE_CODE_SUBAGENT_MODEL=<model-id>
claude
# 0. intro + guided first run
> /quickstart
# 1. Build a threat model (aim before you shoot)
> /threat-model bootstrap targets/canary
# 2. Run a static scan, scoped by that threat model
> /vuln-scan targets/canary
# 3. Verify, dedupe, and rank what came back
> /triage targets/canary/VULN-FINDINGS.json