
Base de connaissances orientée développeur sur les vulnérabilités de sécurité des applications, avec des exemples de code non sécurisé vs sécurisé, des conseils de prévention et des correspondances OWASP/CWE pour différents langages et frameworks.
VulnVault est une base de connaissances pratique, axée sur les développeurs, consacrée aux vulnérabilités de sécurité applicative courantes et critiques, couvrant l'ensemble du cycle de vie, du code à la compilation, à l'infrastructure et au déploiement.
Il fournit des explications claires, des exemples de code non sécurisé vs sécurisé réalistes, et des recommandations exploitables à travers plusieurs langages de programmation et frameworks pour aider les équipes à construire des applications sécurisées par défaut.
🎯 Objectif : Améliorer la posture de sécurité applicative de l'organisation en rendant le codage sécurisé compréhensible, accessible et reproductible.
La plupart des recommandations de sécurité sont soit :
VulnVault comble ce fossé en :
Ce dépôt est conçu pour être utilisé par :
VulnVault est organisé par catégorie de vulnérabilité, et non par outil ou norme.
Chaque vulnérabilité comprend généralement :
Les exemples sont écrits en utilisant des modèles d'application réalistes, et non des extraits artificiels.
La couverture actuelle comprend (et s'étend) :
Chaque exemple met en contraste les implémentations ❌ non sécurisées et ✅ sécurisées côte à côte.
String query = "SELECT * FROM users WHERE username = '" + username + "'";
Pourquoi c'est important : Une entrée non fiable est directement concaténée dans la requête, permettant aux attaquants de manipuler la logique SQL.
String query = "SELECT * FROM users WHERE username = ?";
PreparedStatement ps = connection.prepareStatement(query);
ps.setString(1, username);
ResultSet rs = ps.executeQuery();
📚 Apprentissage et référence À utiliser comme manuel de codage sécurisé pendant le développement.
🔍 Revues de code Liez directement les pages VulnVault pertinentes dans les commentaires de PR.
🧪 Tests de sécurité Validez si les résultats des SAST, DAST ou tests d'intrusion sont exploitables.
🎓 Formation et intégration Utilisez les exemples pour monter en compétences les nouvelles recrues et les développeurs juniors.
🛡 Mise en œuvre du programme AppSec Alignez les recommandations avec les normes internes, les modèles de menaces et l'appétence au risque.
Les contributions sont les bienvenues et encouragées. Vous pouvez contribuer en :
Principes directeurs pour les contributions :
VulnVault se concentre intentionnellement sur :
Ce n'est pas un scanner de vulnérabilités — c'est un atout d'habilitation à la sécurité.
Les exemples de ce dépôt sont à but éducatif uniquement. Ne déployez pas d'exemples non sécurisés sur des systèmes de production.
Ce projet est sous licence MIT. Voir le fichier LICENSE pour plus de détails.
Inspiré par des revues de sécurité réelles, des tests d'intrusion et les leçons tirées de la construction et de la sécurisation de systèmes de production.
🔐 Construisez des logiciels sécurisés. Par conception.