
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, pensée pour les développeurs, recensant les vulnérabilités applicatives courantes et critiques, couvrant l'ensemble du cycle de vie, du code à la compilation, en passant par l'infrastructure et le déploiement.
Elle fournit des explications claires, des exemples de code réalistes, vulnérables et sécurisés, ainsi que des recommandations concrètes pour de multiples langages de programmation et frameworks, afin d'aider les équipes à construire des applications sécurisées par défaut.
🎯 Objectif : renforcer la posture de sécurité applicative de l'organisation en rendant le codage sécurisé compréhensible, accessible et reproductible.
Accès ici - https://viralmaniar.github.io/Vulnvault/site/vulnvault.html
La plupart des recommandations de sécurité sont soit :
VulnVault comble cet écart 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 par norme.
Chaque vulnérabilité comprend généralement :
Les exemples sont rédigés selon des modèles d'application réalistes, et non des extraits artificiels.
La couverture actuelle comprend (et s'étend) :
Chaque exemple met en regard les implémentations ❌ vulnérable et ✅ sécurisée.
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, ce qui permet 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 de SAST, DAST ou de 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.
🛡 Activation du programme AppSec Alignez les recommandations avec les normes internes, les modèles de menace et l'appétit pour le 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 actif d'activation de la sécurité.
Les exemples de ce dépôt sont uniquement à des fins éducatives. Ne déployez pas d'exemples non sécurisés sur des systèmes de production.
Ce projet est sous licence MIT. Consultez le fichier LICENSE pour plus de détails.
Inspiré par des revues de sécurité du monde réel, 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. Dès la conception.