Soumit-Santra/Security-Header-Analyzer

GitHub: Soumit-Santra/Security-Header-Analyzer

一款基于 Python 异步架构的综合 Web 安全审计工具,可一次性扫描 HTTP 安全头、TLS 配置、DNS 安全、机密泄露、GraphQL 暴露等多个安全维度并生成评分报告。

Stars: 0 | Forks: 0

# 🔒 Security Header 分析器 ![Python](https://img.shields.io/badge/Python-3.8+-blue?logo=python) ![Platform](https://img.shields.io/badge/Platform-Windows%20%7C%20Linux%20%7C%20macOS-green) ![Async](https://img.shields.io/badge/Async-asyncio%20%2B%20aiohttp-purple) ![License](https://img.shields.io/badge/License-MIT-yellow) ![Purpose](https://img.shields.io/badge/Purpose-Authorized%20Security%20Auditing%20Only-red) **由 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 检测** — 识别所有第三方 `