oshp/oshp-validator

GitHub: oshp/oshp-validator

这是一个基于 Venom 测试套件的工具,用于根据 OWASP 安全头项目(OSHP)的建议验证 HTTP 安全响应头配置是否合规。

Stars: 136 | Forks: 24

# OWASP Secure Headers Project 验证器 [![验证测试套件](https://static.pigsec.cn/wp-content/uploads/repos/2026/04/f39cedb775022139.svg)](https://github.com/oshp/oshp-validator/actions/workflows/validate-tests-suite.yml) ✅ [Venom](https://github.com/ovh/venom) 测试套件,用于根据 [OSHP 建议](https://owasp.org/www-project-secure-headers/#div-bestpractices) 验证 [HTTP 安全响应头](https://owasp.org/www-project-secure-headers/#div-headers) 配置。 🎯 目标是以一种灵活/可移植的方式提供验证非面向互联网的应用程序配置的方法。 💡 您可以使用提供的测试套件作为基础,根据您的上下文进行调整。 📑 测试套件文件的语法使用此 [yamllint](https://yamllint.readthedocs.io) 配置 [文件](.yamllint) 进行验证。 # 为什么选择 venom? 🤔 我们选择利用该工具的原因如下: * 它是免费且开源的。 * 它不需要任何安装:提供了独立的二进制文件,但如果您希望对执行的二进制文件进行完全控制,也可以轻松编译它。 * 它是跨平台的。 * 它使用描述性方法来定义 [测试套件](tests_suite.yml),因此不需要任何代码(或编码技能)来添加/更新测试。 # 测试套件 📋 它通过此 [单个文件](tests_suite.yml) 提供。 💻 [Visual Studio Code](https://code.visualstudio.com/) 用于测试套件开发。为项目提供了一个 Visual Studio Code [工作区文件](project.code-workspace),其中包含 [推荐的扩展](.vscode/extensions.json)。 📐 支持以下参数: | **参数名称** | **描述** | **默认值** | **必填** | |----------------------------|------------------------------------------------------------------------------------------------------------------|-----------|----------| | target_site | 必须测试其头配置的站点的 URL。 | "" | 是 | | logout_url | 应用程序注销端点的相对路径。用于测试头 "Clear-Site-Data" 的配置。 | "" | 否 | | request_timeout_in_seconds | 等待目标应用程序响应的最长时间(秒)。 | 20 | 否 | # 如何使用它? 您可以使用本地安装的 venom 或容器镜像中的 venom。 ## 本地 Venom 💻 请按照以下步骤操作。 1. 获取适用于您平台的 [venom 版本](https://github.com/ovh/venom#installing)。 2. 运行与您的上下文对应的以下命令之一: ``` # 使用默认值 $ venom run --var="target_site=https://mysite.com" tests_suite.yml # 使用 parameter 为测试 header "Clear-Site-Data" 指定 logout page $ venom run --var="target_site=https://mysite.com" --var="logout_url=/logout" tests_suite.yml ``` 📽️ 实时使用示例(参数 `internet_facing` 不再存在,有关说明请参见 [此处](https://github.com/OWASP/www-project-secure-headers/pull/193)): [![观看视频](https://static.pigsec.cn/wp-content/uploads/repos/2026/04/abf2cdb058022140.png)](demo.mp4) 💡 **提示:** 当测试失败或当您尝试更新但您的版本已是最新版本时,Venom 返回非零代码。因此,为了防止脚本失败,请在命令末尾添加 `|| true`。 ## 容器镜像 💻 请按照以下步骤操作。 ``` docker run --mount type=bind,source=$(pwd)/tests_suite.yml,target=/workdir/tests_suite.yml ovhcom/venom:latest run --var="target_site=https://mysite.com" tests_suite.yml ``` # 报告 📖 venom 文档的此 [部分](https://github.com/ovh/venom#export-tests-report) 描述了集成到 CI/CD 平台所支持的不同格式。 # 测试套件模拟服务 🌍 Python 脚本 [test_suite_mock.py](test_suite_mock.py) 提供了一个模拟端点,该端点返回 HTTP 响应,其中将设置 [OSHP](https://owasp.org/www-project-secure-headers/) 推荐的所有 HTTP 响应头。 📦 它会自动部署在 `https://oshp-validator-mock.onrender.com` 上,并且此 [CI 工作流](.github/workflows/validate-tests-suite.yml) 使用它来测试 venom 测试套件。 # Venom 中头名称的大小写敏感性 📖 请参见 [此处](https://github.com/ovh/venom/pull/570),从版本 [1.2.0](https://github.com/ovh/venom/releases/tag/v1.2.0) 开始。
标签:HTTP安全, Venom, Web安全, YAML, yamllint, 安全头部, 安全库, 安全配置验证, 开源安全工具, 蓝队分析, 请求拦截, 逆向工具, 逆向工程平台, 非暴露应用安全