
Entwicklerorientierte Wissensdatenbank zu Sicherheitslücken in Anwendungen mit Beispielen für unsicheren vs. sicheren Code, Präventionshinweisen und OWASP/CWE-Zuordnungen über Sprachen und Frameworks hinweg.
VulnVault ist eine praktische, entwicklerorientierte Wissensdatenbank zu häufigen und kritischen Sicherheitslücken in Anwendungen, die den gesamten Lebenszyklus von Code über Build, Infrastruktur bis hin zum Deployment abdeckt.
Sie bietet klare Erklärungen, realistische Beispiele für unsicheren vs. sicheren Code und umsetzbare Anleitungen für mehrere Programmiersprachen und Frameworks, um Teams dabei zu helfen, Anwendungen standardmäßig sicher zu entwickeln.
🎯 Ziel: Die Anwendungssicherheitslage der Organisation verbessern, indem sicheres Programmieren verständlich, zugänglich und wiederholbar gemacht wird.
Die meisten Sicherheitsrichtlinien sind entweder:
VulnVault schließt diese Lücke, indem es:
Dieses Repository ist für die Nutzung durch folgende Zielgruppen konzipiert:
VulnVault ist nach Schwachstellenkategorie organisiert, nicht nach Tool oder Standard.
Jede Schwachstelle enthält typischerweise:
Die Beispiele verwenden realistische Anwendungsmuster, keine konstruierten Codeschnipsel.
Die aktuelle Abdeckung umfasst (und wird erweitert):
Jedes Beispiel stellt ❌ unsichere und ✅ sichere Implementierungen direkt gegenüber.
String query = "SELECT * FROM users WHERE username = '" + username + "'";
Warum das wichtig ist: Nicht vertrauenswürdige Eingaben werden direkt in die Abfrage eingefügt, wodurch Angreifer die SQL-Logik manipulieren können.
String query = "SELECT * FROM users WHERE username = ?";
PreparedStatement ps = connection.prepareStatement(query);
ps.setString(1, username);
ResultSet rs = ps.executeQuery();
📚 Lernen & Nachschlagen Als Handbuch für sicheres Programmieren während der Entwicklung verwenden.
🔍 Code-Reviews Relevante VulnVault-Seiten direkt in PR-Kommentaren verlinken.
🧪 Sicherheitstests Überprüfen, ob Befunde aus SAST, DAST oder Pentests ausnutzbar sind.
🎓 Schulung & Onboarding Beispiele nutzen, um neue Mitarbeiter und Junior-Entwickler weiterzubilden.
🛡 AppSec-Programm-Enablement Richtlinien an interne Standards, Bedrohungsmodelle und Risikobereitschaft ausrichten.
Beiträge sind willkommen und erwünscht. Du kannst auf folgende Weise beitragen:
Leitprinzipien für Beiträge:
VulnVault konzentriert sich bewusst auf:
Dies ist kein Vulnerability Scanner – es ist ein Asset zur Sicherheitsbefähigung.
Die Beispiele in diesem Repository dienen ausschließlich Bildungszwecken. Stelle unsichere Beispiele nicht in Produktionssystemen bereit.
Dieses Projekt ist unter der MIT-Lizenz lizenziert. Siehe die LICENSE-Datei für Details.
Inspiriert durch reale Sicherheitsüberprüfungen, Penetrationstests und Lehren aus dem Aufbau und der Absicherung von Produktionssystemen.
🔐 Sichere Software entwickeln. Von Anfang an.