VulnVault 是一个实用、以开发者为中心的知识库,收录常见且关键的应用程序安全漏洞,覆盖从代码到构建、基础设施和部署的完整生命周期。
它提供清晰的解释、贴近现实的不安全与安全代码示例,以及跨多种编程语言和框架的可操作指导,帮助团队默认构建安全的应用程序。
🎯 目标:通过让安全编码变得易于理解、易于获取、可重复,提升组织的应用程序安全态势。
访问地址 - https://viralmaniar.github.io/Vulnvault/site/vulnvault.html
大多数安全指南要么:
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();
📚 学习与参考 在开发过程中将其用作安全编码手册。
🔍 代码审查 在 PR 评论中直接链接相关的 VulnVault 页面。
🧪 安全测试 验证来自 SAST、DAST 或渗透测试的发现是否可被利用。
🎓 培训与入职 使用示例提升新员工和初级开发人员的技能。
🛡 AppSec 项目赋能 使指导与内部标准、威胁模型和风险偏好保持一致。
欢迎并鼓励贡献。 你可以通过以下方式贡献:
贡献的指导原则:
VulnVault 有意聚焦于:
这不是一个漏洞扫描器——它是一个安全赋能资产。
本仓库中的示例仅用于教育目的。 请勿将不安全的示例部署到生产系统。
本项目采用 MIT 许可证授权。 详情请参阅 LICENSE 文件。
灵感来源于真实世界的安全审查、渗透测试,以及构建和保护生产系统的经验教训。
🔐 构建安全的软件。从设计开始。