Coding · dal video
Security audit skill: l'agente che revisiona il codice in difesa
Cloudflare ha aperto la skill che trasforma un coding agent in revisore difensivo: 6 fasi, validazione avversariale, sandbox obbligatoria. Come installarla e usarla sul tuo codice.
Di Manu · Pubblicato il

Cloudflare ha pubblicato come open source la skill che usa per trasformare un coding agent in revisore di sicurezza: si chiama security-audit-skill, ha licenza MIT e organizza l'audit in sei fasi con validazione avversariale e risultati leggibili dalle macchine. Non è uno scanner da lanciare e dimenticare: è un metodo che impone copertura misurata, verifiche indipendenti e sandbox. Questa guida spiega come è fatta, come installarla e quando usarla sul tuo codice, sempre in difesa e sempre con autorizzazione.
Cos'è: una skill, non un tool
La skill non contiene un modello: è un pacchetto di istruzioni, prompt e validatori che guida un coding agent capace di usare strumenti e sotto-agenti paralleli. Parte dal repository che gli indichi e produce tre artefatti: REPORT.md con il resoconto, FINDINGS-DETAIL.md con i dettagli e NEEDS-VALIDATION.md con ciò che resta da verificare. Ogni rilevazione finisce in un file findings.json strutturato, validato contro uno schema. L'installazione passa dalla Skills CLI:
npx skills add https://github.com/cloudflare/security-audit-skill \
--skill security-auditLe sei fasi dell'audit
- Ricognizione: mappa architettura, confini di fiducia e superfici di input in architecture.md e coverage-ledger.json
- Caccia guidata dalla copertura: cacciatori isolati per unità del ledger, con critici che cercano i buchi
- Validazione dei candidati: ogni candidato passa a un verificatore nuovo che prova a smentirlo
- Output strutturato: verdetti confirmed, needs_validation e rejected in findings.json validato
- Riverifica indipendente: agenti nuovi riverificano le affermazioni sulle fonti prima del report
- Report neutrale: i documenti finali derivano solo dai record verificati e dal ledger
I principi difensivi (quelli che contano)
Quattro regole rendono questa skill compatibile con un lavoro di sicurezza serio e autorizzato. Si conferma solo un fallimento di confine dimostrato con traccia completa delle fonti; il resto resta needs_validation con il fatto esatto ancora aperto. L'agente che verifica una rilevazione non è mai quello che l'ha trovata. La severità richiede un impatto, non basta la deviazione da una checklist. E se un livello di difesa blocca già l'attacco, l'assenza di un secondo livello è una nota di hardening, non una vulnerabilità.
Requisiti: la sandbox non è opzionale
Il README è esplicito: serve un coding agent con modello che supporti tool use e sotto-agenti paralleli, Node.js per i validatori e una sandbox imposta dal sistema operativo per build, test, processi e browser del target. La sandbox deve disabilitare la rete esterna, usare un ambiente ripulito con allowlist, imporre limiti di risorse e consentire scritture solo in percorsi temporanei assegnati. Senza questi controlli, il flusso non esegue il codice del target e tiene il lead come needs_validation. È la regola che separa un audit difensivo da un esperimento pericoloso.
Limiti onesti
- Consuma molti token: più esecuzioni migliorano la copertura, e ogni esecuzione costa; preventivare prima di lanciare
- Cloudflare dichiara nei propri test che una singola esecuzione trova circa metà delle vulnerabilità trovate da esecuzioni ripetute: pianifica più run
- È un punto di partenza per un singolo repository, da cui è evoluto il sistema multi-stadio di Cloudflare: non è l'intero sistema
- Richiede revisione umana: i verdetti needs_validation e rejected vanno letti, non nascosti
Quando ha senso (e quando no)
- Ha senso per revisionare il tuo codice o codice su cui hai autorizzazione scritta, in locale e in sandbox
- Ha senso come passo di CI leggibile dalle macchine: findings.json si integra in una pipeline
- Non ha senso su sistemi altrui senza autorizzazione: quello non è audit, è un attacco
- Non ha senso senza sandbox di rete e senza limiti di risorse: fermati ai requisiti prima di partire
Fonte: Repository ufficiale della skill — README, fasi, installazione e licenza MIT
Fonte: Il sistema da cui deriva: vulnerability harness di Cloudflare — contesto sul sistema multi-stadio aziendale