BlackPanda999/secureheaders-scanner

GitHub: BlackPanda999/secureheaders-scanner

一款轻量级 Python 工具,扫描网站 HTTP 安全响应头并按权重给出 A+ 到 F 的安全评级,帮助开发者和安全团队快速发现配置缺失。

Stars: 0 | Forks: 0

# 🔒 SecureHeaders 扫描器 ![Python](https://img.shields.io/badge/Python-3.8+-3776AB?style=for-the-badge&logo=python&logoColor=white) ![Security](https://img.shields.io/badge/Cybersecurity-🛡️-blue?style=for-the-badge) ![License](https://img.shields.io/badge/License-MIT-green?style=for-the-badge) 一款轻量级的 Python 工具,能够扫描任何网站的 HTTP 安全响应头,并给出安全评级(从 A+ 到 F)。它可以检测缺失或配置不当的 Header,这些漏洞可能会使网站面临 XSS、点击劫持、MIME 嗅探以及其他常见攻击的风险。 ## 为什么这很重要 安全响应头是任何 Web 应用的第一道防线。到了 2026 年,随着 AI 驱动的攻击日益加剧,配置不当的 Header 依然是渗透测试中最常见的发现之一。这款工具旨在帮助开发者和安全团队在攻击者发现之前,快速审计他们的安全响应头。 ## 功能 - ✅ 扫描 10 个关键的 HTTP 安全响应头 - ✅ 给出从 A+ 到 F 的网站评级 - ✅ 解释每个缺失的 Header 及其带来的风险 - ✅ 提供修复建议 - ✅ 带颜色的终端输出 - ✅ 支持同时扫描多个 URL - ✅ 将结果导出为 JSON 或文本文件 - ✅ 无外部依赖(纯 Python + requests) ## 快速开始 ``` # 克隆 repo git clone https://github.com/BlackPanda999/secureheaders-scanner.git cd secureheaders-scanner # 安装 requirements pip install -r requirements.txt # 扫描单个站点 python scanner.py https://example.com # 扫描多个站点 python scanner.py https://example.com https://github.com https://google.com # 导出结果至 JSON python scanner.py https://example.com --json results.json # 导出结果至文本文件 python scanner.py https://example.com --output report.txt # Verbose 模式(显示所有 header 详情) python scanner.py https://example.com --verbose ``` ## 检查的安全响应头 | Header | 防范内容 | 权重 | |--------|-----------------|--------| | Strict-Transport-Security (HSTS) | 协议降级攻击 | 15% | | Content-Security-Policy (CSP) | XSS,数据注入 | 20% | | X-Frame-Options | 点击劫持 | 10% | | X-Content-Type-Options | MIME 嗅探 | 10% | | Referrer-Policy | Referrer 数据泄露 | 10% | | Permissions-Policy | 功能滥用(摄像头、麦克风等) | 10% | | X-XSS-Protection | 旧版 XSS 过滤 | 5% | | Cross-Origin-Opener-Policy | 跨源隔离 | 5% | | Cross-Origin-Embedder-Policy | 跨源资源加载 | 10% | | Cross-Origin-Resource-Policy | 跨源资源访问 | 5% | ## 评分标准 | 评级 | 分数 | 含义 | |-------|-------|---------| | A+ | 95-100 | 优秀 — 所有关键 Header 均已配置 | | A | 85-94 | 非常好 — 需要少量改进 | | B | 70-84 | 良好 — 缺失部分重要 Header | | C | 50-69 | 一般 — 缺失多个关键 Header | | D | 30-49 | 较差 — 缺失大部分 Header | | F | 0-29 | 不及格 — 极少或完全没有安全响应头 | ## 示例输出 ``` ╔══════════════════════════════════════════════════════════╗ ║ 🔒 SECUREHEADERS SCANNER v1.0 ║ ╚══════════════════════════════════════════════════════════╝ Target: https://example.com ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ✅ Strict-Transport-Security: max-age=31536000 → HSTS enforced — good ❌ Content-Security-Policy: MISSING → Risk: XSS and data injection attacks → Fix: Add a CSP header to restrict resource loading ✅ X-Frame-Options: DENY → Clickjacking protected ❌ Referrer-Policy: MISSING → Risk: Referrer data leakage → Fix: Set Referrer-Policy to "no-referrer" or "same-origin" ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 📊 Security Score: 55/100 📊 Grade: C — Fair (several critical headers missing) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ``` ## 适用场景 - **在部署网站之前** — 确保已正确配置 Header - **渗透测试** — 快速识别缺失的 Header - **漏洞赏金 hunting** — 查找值得报告的配置错误 - **安全审计** — 将结果包含在您的报告中 - **学习研究** — 了解每个 Header 的作用及其重要性 ## 局限性 - 仅检查 HTTP 响应头(不包含主体内容) - 会跟随重定向(扫描最终到达的 URL) - 不测试 Header 绕过技术 - 不包含 TLS/SSL 证书验证(请使用其他工具进行验证) ## 许可证 MIT 许可证 — 详情请参阅 [LICENSE](LICENSE)。 ## 作者 **BlackPanda999** — 网络安全专家 | [GitHub](https://github.com/BlackPanda999) | [LinkedIn](https://linkedin.com/in/osamakhan44)
标签:HTTP安全头, Python, Web安全, 无后门, 蓝队分析, 逆向工具