Soumit-Santra/Security-Header-Analyzer
GitHub: Soumit-Santra/Security-Header-Analyzer
一款基于 Python 异步架构的综合 Web 安全审计工具,可一次性扫描 HTTP 安全头、TLS 配置、DNS 安全、机密泄露、GraphQL 暴露等多个安全维度并生成评分报告。
Stars: 0 | Forks: 0
# 🔒 Security Header 分析器





**由 Soumit Santra 创建 — Security Header Analyzer:专业的 Web 安全审计**
© 2026 Soumit Santra. 保留所有权利。
## ⚠️ 法律与道德声明
**仅供合乎道德的使用:**
- 对您自己的 Web 基础设施进行安全审计
- 签订正规服务合同后的授权渗透测试
- 具有明确 Web 安全范围的漏洞赏金计划
- 在受控实验室环境中进行教育学习
- 经管理层批准的企业安全团队评估
- **严禁在未获得明确书面许可的情况下对目标进行使用**
## 📚 这是什么?
Security Header Analyzer 是一款功能全面、由异步驱动的 Web 安全审计工具,专为安全工程师、渗透测试人员和 DevSecOps 团队设计。它对 HTTP 安全态势进行深度检查,包括响应头、TLS/SSL 配置、CORS 策略、Cookie 卫生、DNS 安全记录、WAF 检测、机密扫描、GraphQL endpoint 安全等——所有这些都在一次扫描中完成。
## ✨ 功能
### 🛡️ Security Header 分析
- **检查 10 个关键头部** — Content-Security-Policy, HSTS, X-Content-Type-Options, X-Frame-Options, Referrer-Policy, Permissions-Policy, CORP, COOP, COEP, X-XSS-Protection
- **深度 CSP 解析** — 验证 nonce 强度 (≥128 位)、hash 格式完整性 (SHA-256/384/512)、unsafe-inline/eval 检测、通配符来源检测以及缺失的关键指令
- **HSTS 验证** — 检查 max-age 是否足够 (≥31536000)、是否存在 includeSubDomains 和 preload
- **Referrer 与 Permissions Policy 分析** — 标记弱的 referrer 策略;检查摄像头、麦克风和地理位置限制
### 🔒 TLS / SSL 检查
- **证书验证** — 过期状态、剩余天数、自签名检测、SAN 提取
- **Cipher Suite 分析** — 标记 RC4, DES, 3DES, NULL, EXPORT, ANON, MD5 组件
- **TLS 版本强制执行** — 针对 TLSv1/1.1 发出警告 (存在 BEAST/POODLE 风险),建议使用 TLS 1.3
- **Perfect Forward Secrecy** — 检测 RSA 密钥交换 (无 PFS) 对比 ECDHE/DHE (启用 PFS)
- **密钥位强度** — 标记低于 128 位的加密密钥
### 🌐 WAF 检测
- **13 种 WAF 签名** — Cloudflare, Sucuri, Imperva/Incapsula, Akamai, AWS WAF, Wordfence, ModSecurity, F5 BIG-IP, Barracuda, FortiGate, Nginx+NAXSI, CloudFront 等
- **多信号检测** — 交叉比对响应头、Cookie 模式和 HTML 正文模式
- **置信度评级** — 针对 WAF 匹配给出 HIGH / MEDIUM 置信度
- **无 WAF 警报** — 将未检测到 WAF 的站点标记为 LOW 严重性发现
### 🔍 DNS 安全
- **SPF 记录验证** — 检测缺失的 SPF,对比严格的 `-all`/`~all` 标记弱的 `+all`/`?all` 策略
- **DMARC 策略执行** — 检查缺失的 DMARC 并标记 `p=none` (仅监控,无强制执行)
- **CAA 记录检测** — 确定 CA 是否被限制签发证书
- **DNSSEC 验证** — 通过 UDP 查询检查 AD flag 以确认 DNSSEC 验证
- **需要 `dnspython`** — 如果未安装,将以信息提示的形式优雅降级
### 🔑 机密扫描
- **30 多种机密模式** — AWS Access Keys/Secret Keys, GitHub token (PAT/OAuth/App), Google API Key, Slack token/webhook, Stripe key, Twilio, SendGrid, Mailchimp, JWT token, PEM 私钥,数据库连接字符串,Firebase 配置,Azure 存储 key,Heroku API key,NPM auth token,SSH 私钥,通用 password/API key/bearer token
- **误报过滤** — 排除诸如 `your_api_key`, `changeme`, `example`, `xxxxxxxxx` 等占位符
- **值掩码** — 对于任何匹配到的机密,仅报告前 6 位 + 后 3 位字符,以实现安全报告
- **去重** — 机密值的 SHA-256 hash 可防止重复发现
- **上下文提取** — 为每个发现提供 150 个字符的周边上下文
### ⚡ GraphQL 安全
- **Endpoint 发现** — 探测 9 个常见的 GraphQL 路径 (`/graphql`, `/api/graphql`, `/gql` 等)
- **Introspection 检测** — 识别暴露于未经身份验证查询的 schema
- **Query Batching 测试** — 检测批量查询支持 (存在放大/暴力破解风险)
- **Depth Limit 测试** — 发送 10 级嵌套查询以检查 DoS 防护
- **基于 Alias 的复杂性** — 测试 100 个 alias 查询以检查复杂性限制执行情况
- **Playground 暴露** — 检测 GraphiQL, GraphQL Playground 和 Altair IDE 暴露情况
### 🔗 CORS 分析
- **通配符 Origin 检测** — 将带有 `credentials=true` 的 `*` 标记为严重,将不带凭证的 `*` 标记为中危
- **Null Origin 检测** — 识别危险的 `null` CORS origin 许可
- **危险方法** — 标记 Access-Control-Allow-Methods 中的 DELETE, PUT, PATCH
- **Authorization Header 暴露** — 当跨域请求中允许使用 Authorization 时发出警告
- **Vary Header 验证** — 检查带凭证的 CORS 配置中是否缺失 `Vary: Origin`
### 🍪 Cookie 安全
- **逐个 Cookie 检查** — 验证 Secure, HttpOnly, SameSite 属性
- **SameSite=None 防护** — 将没有 Secure flag 的 SameSite=None 标记出来
- **框架 Cookie 检测** — 识别 `laravel_session`, `csrftoken`, `ci_session`, `wordpress_logged_in`
### 📦 JS 库指纹识别与 CVE 匹配
- **检测 12 个库** — jQuery, Bootstrap, Angular, Lodash, Moment.js, Handlebars, Underscore, React, Vue, D3, Axios, Three.js
- **内置 CVE 数据库** — 将检测到的库版本与已知 CVE 进行映射,并附带严重性评级 (CRITICAL/HIGH/MEDIUM)
- **涵盖的知名 CVE** — CVE-2020-11022 (jQuery XSS), CVE-2019-10744 (Lodash 原型污染), CVE-2021-23369 (Handlebars RCE), CVE-2022-24785 (Moment.js 路径遍历) 等
### 🔎 Subresource Integrity (SRI)
- **外部 Script 检测** — 识别所有第三方 `