
Knowledge base per sviluppatori sulle vulnerabilità di sicurezza delle applicazioni, con esempi di codice insicuro e sicuro, linee guida per la prevenzione e mappature OWASP/CWE per linguaggi e framework.
VulnVault è una knowledge base pratica, orientata allo sviluppatore, delle vulnerabilità di sicurezza applicativa comuni e critiche, che copre l'intero ciclo di vita dal codice alla build, all'infrastruttura e al deployment.
Fornisce spiegazioni chiare, esempi realistici di codice insicuro vs sicuro e indicazioni attuabili in molteplici linguaggi di programmazione e framework per aiutare i team a costruire applicazioni sicure by default.
🎯 Obiettivo: Migliorare la postura di sicurezza applicativa dell'organizzazione rendendo la programmazione sicura comprensibile, accessibile e ripetibile.
La maggior parte delle linee guida di sicurezza è:
VulnVault colma questo divario:
Questo repo è pensato per essere utilizzato da:
VulnVault è organizzato per categoria di vulnerabilità, non per strumento o standard.
Ogni vulnerabilità include tipicamente:
Gli esempi sono scritti utilizzando pattern applicativi realistici, non frammenti artificiosi.
La copertura attuale include (ed è in espansione):
Ogni esempio mette a confronto implementazioni ❌ insicure e ✅ sicure fianco a fianco.
String query = "SELECT * FROM users WHERE username = '" + username + "'";
Perché è importante: Input non attendibile viene concatenato direttamente nella query, consentendo agli attaccanti di manipolare la logica SQL.
String query = "SELECT * FROM users WHERE username = ?";
PreparedStatement ps = connection.prepareStatement(query);
ps.setString(1, username);
ResultSet rs = ps.executeQuery();
📚 Apprendimento e consultazione Usalo come manuale di programmazione sicura durante lo sviluppo.
🔍 Code Review Collega le pagine pertinenti di VulnVault direttamente nei commenti delle PR.
🧪 Security Testing Verifica se i risultati di SAST, DAST o pentest sono sfruttabili.
🎓 Formazione e onboarding Usa gli esempi per formare nuovi assunti e sviluppatori junior.
🛡 Abilitazione del programma AppSec Allinea le linee guida con standard interni, modelli di minaccia e propensione al rischio.
I contributi sono benvenuti e incoraggiati. Puoi contribuire:
Principi guida per i contributi:
VulnVault si concentra intenzionalmente su:
Questo non è un vulnerability scanner—è una risorsa per l'abilitazione alla sicurezza.
Gli esempi in questo repository sono solo a scopo educativo. Non distribuire esempi insicuri in sistemi di produzione.
Questo progetto è distribuito sotto la licenza MIT. Vedi il file LICENSE per i dettagli.
Ispirato a security review del mondo reale, penetration test e lezioni apprese dalla costruzione e messa in sicurezza di sistemi di produzione.
🔐 Costruisci software sicuro. By design.