
База знаний по уязвимостям безопасности приложений, ориентированная на разработчиков, с примерами небезопасного и безопасного кода, рекомендациями по предотвращению и сопоставлениями с OWASP/CWE для разных языков и фреймворков.
VulnVault — это практичная база знаний по распространённым и критическим уязвимостям безопасности приложений, ориентированная в первую очередь на разработчиков и охватывающая полный жизненный цикл от кода до сборки, инфраструктуры и развёртывания.
Она предоставляет понятные объяснения, реалистичные примеры небезопасного и безопасного кода и практические рекомендации для множества языков программирования и фреймворков, помогая командам создавать безопасные приложения по умолчанию.
🎯 Цель: повысить уровень безопасности приложений в организации, сделав безопасное программирование понятным, доступным и воспроизводимым.
Большинство рекомендаций по безопасности либо:
VulnVault устраняет этот разрыв, потому что:
Этот репозиторий предназначен для использования:
VulnVault организован по категориям уязвимостей, а не по инструментам или стандартам.
Каждая уязвимость обычно включает:
Примеры написаны с использованием реалистичных шаблонов приложений, а не надуманных фрагментов.
Текущее покрытие включает (и расширяется):
Каждый пример противопоставляет ❌ небезопасную и ✅ безопасную реализации бок о бок.
String query = "SELECT * FROM users WHERE username = '" + username + "'";
Почему это важно: Недоверенный ввод напрямую конкатенируется в запрос, что позволяет злоумышленникам манипулировать логикой SQL.
String query = "SELECT * FROM users WHERE username = ?";
PreparedStatement ps = connection.prepareStatement(query);
ps.setString(1, username);
ResultSet rs = ps.executeQuery();
📚 Обучение и справочник Используйте как руководство по безопасному программированию во время разработки.
🔍 Ревью кода Ссылайтесь на соответствующие страницы VulnVault прямо в комментариях к PR.
🧪 Тестирование безопасности Проверяйте, эксплуатируемы ли находки от SAST, DAST или пентестов.
🎓 Обучение и адаптация Используйте примеры для повышения квалификации новых сотрудников и младших разработчиков.
🛡 Поддержка программы AppSec Согласовывайте рекомендации с внутренними стандартами, моделями угроз и допустимым уровнем риска.
Вклад приветствуется и поощряется. Вы можете внести вклад, если будете:
Руководящие принципы для вклада:
VulnVault намеренно фокусируется на:
Это не сканер уязвимостей — это инструмент для повышения уровня безопасности.
Примеры в этом репозитории предназначены только для образовательных целей. Не развёртывайте небезопасные примеры в производственных системах.
Этот проект лицензирован по лицензии MIT. Подробности см. в файле LICENSE.
Вдохновлено реальными проверками безопасности, пентестами и уроками, извлечёнными из создания и защиты производственных систем.
🔐 Создавайте безопасное программное обеспечение. По дизайну.