EHArviv/python-security-headers-checker

GitHub: EHArviv/python-security-headers-checker

一款 Python 编写的 HTTP 安全响应头自动化检查工具,能够检测缺失的防护措施、计算安全评分并生成适配 SOC/SIEM 工作流的多格式报告。

Stars: 0 | Forks: 0

# Python 安全响应头检查器 一款 Python 安全自动化工具,用于检查网站的 HTTP 安全响应头,识别缺失的防护措施,计算安全评分,分配风险等级,并生成多种报告格式,以适用于 IT、安全、SOC 和 SIEM 工作流。 ## 功能特性 * 检查 HTTP 安全响应头 * 检测缺失的安全防护措施 * 计算安全评分 * 分配风险等级 * 分析单个 URL * 从文件分析多个 URL * 生成 CSV 报告 * 生成 TXT 摘要报告 * 生成 JSON 报告 * 生成安全发现 * 生成用于 SIEM 式摄取的 NDJSON 事件 * 针对缺失的响应头提供建议 * 通过命令行运行 * 包含 GitHub Actions 工作流 ## 检查的安全响应头 该工具会检查以下 HTTP 安全响应头: * Strict-Transport-Security * Content-Security-Policy * X-Frame-Options * X-Content-Type-Options * Referrer-Policy * Permissions-Policy ## 项目结构 ``` python-security-headers-checker/ ├── .github/ │ └── workflows/ │ └── python-check.yml ├── src/ │ └── headers_checker.py ├── sample_urls/ │ └── urls.txt ├── reports/ │ └── .gitkeep ├── README.md ├── requirements.txt └── .gitignore ``` ## 安装 安装所需的依赖: ``` pip install -r requirements.txt ``` ## 用法 检查单个 URL: ``` python src/headers_checker.py https://example.com ``` 从文件检查多个 URL: ``` python src/headers_checker.py --file sample_urls/urls.txt ``` ## 生成的报告 该脚本会在本地的 `reports/` 文件夹中生成以下文件: ``` security_headers_report.csv security_headers_summary.txt security_headers_report.json findings.json events.ndjson ``` 这些生成的报告文件会被 Git 忽略,不应提交到代码仓库中。 ## 报告类型 ### CSV 报告 ``` security_headers_report.csv ``` 用于基于电子表格的审查、筛选、排序和手动分析。 ### TXT 摘要 ``` security_headers_summary.txt ``` 用于生成人类可读的扫描结果摘要。 ### JSON 报告 ``` security_headers_report.json ``` 用于自动化、仪表板、API 或与其他工具的集成。 ### JSON 安全发现 ``` findings.json ``` 用于以结构化格式呈现安全发现。 每项发现包含: * 发现 ID * 发现名称 * 严重性 * 目标 URL * 详情 * 修复建议 ### NDJSON 事件 ``` events.ndjson ``` 用于 SIEM 式的事件摄取。 每一行都是一个独立的 JSON 事件。 ## 控制台输出示例 ``` URL: https://example.com Strict-Transport-Security: Missing Content-Security-Policy: Missing X-Frame-Options: Found X-Content-Type-Options: Found Referrer-Policy: Found Permissions-Policy: Missing Score: 3/6 Risk Level: Medium ``` ## JSON 报告结构示例 ``` { "tool_name": "Python Security Headers Checker", "report_type": "web_security_headers_assessment", "generated_at": "2026-06-18T13:00:00+00:00", "summary": { "total_targets": 3, "high_risk": 1, "medium_risk": 2, "low_risk": 0, "unknown_risk": 0 }, "results": [ { "url": "https://example.com", "error": null, "score": 3, "total_headers": 6, "risk_level": "Medium", "missing_headers": [ "Strict-Transport-Security", "Content-Security-Policy", "Permissions-Policy" ] } ] } ``` ## 安全发现示例 ``` { "id": "FINDING-001", "name": "Missing Content-Security-Policy", "severity": "Medium", "target": "https://example.com", "details": "The Content-Security-Policy header was not found in the HTTP response.", "recommendation": "Implement a restrictive Content-Security-Policy to reduce XSS risk." } ``` ## NDJSON 事件示例 ``` {"timestamp":"2026-06-18T13:00:00+00:00","event_type":"missing_security_header","target":"https://example.com","header":"Content-Security-Policy","severity":"Medium","message":"Missing security header: Content-Security-Policy"} ``` ## 风险等级逻辑 该脚本会根据找到的必需响应头数量来计算风险等级。 ``` All headers found → Low Most headers found → Medium Several headers missing → High ``` ## 响应头建议 该工具针对缺失的响应头提供修复建议。 | 响应头 | 建议 | | ------------------------- | ---------------------------------------------------------------------- | | Strict-Transport-Security | 启用 HSTS 以强制使用 HTTPS 连接。 | | Content-Security-Policy | 实施严格的 Content-Security-Policy 以降低 XSS 风险。 | | X-Frame-Options | 将 X-Frame-Options 设置为 DENY 或 SAMEORIGIN 以降低点击劫持风险。 | | X-Content-Type-Options | 将 X-Content-Type-Options 设置为 nosniff。 | | Referrer-Policy | 设置严格的 Referrer-Policy,例如 strict-origin-when-cross-origin。 | | Permissions-Policy | 限制浏览器功能,如相机、麦克风和地理位置。 | ## SOC / SIEM 输出 本项目生成安全运营中常用的多种输出格式: * CSV:用于基于电子表格的审查 * TXT:用于人类可读的摘要 * JSON:用于自动化、仪表板和 API * `findings.json`:用于结构化的安全评估发现 * `events.ndjson`:用于 SIEM/日志摄取工作流 ## GitHub Actions 本项目包含一个 GitHub Actions 工作流,该工作流会在每次推送和拉取请求时运行自动化检查。 该工作流会执行以下操作: * 安装项目依赖 * 检查 Python 语法 * 运行单个 URL 扫描 * 运行 URL 列表扫描 * 验证报告是否能成功生成 工作流文件: ``` .github/workflows/python-check.yml ``` ## 环境要求 本项目使用: * Python 3 * requests ## 展现的技能 * Python 自动化 * HTTP 请求 * Web 安全基础 * HTTP 安全响应头分析 * CSV 报告生成 * TXT 摘要生成 * JSON 报告生成 * NDJSON 事件生成 * 安全发现结构 * 命令行参数 * 风险评分 * 适配 SOC/SIEM 的输出格式 * GitHub Actions * IT/安全自动化工作流 ## 简历描述示例 开发了一款 Python 安全自动化工具,用于检查 HTTP 安全响应头、识别缺失的防护措施、计算风险等级、提供修复建议,并生成 CSV/TXT/JSON/NDJSON 报告,以服务于 Web 安全评估及 SOC/SIEM 工作流。
标签:HTTP安全头, Python, 子域名暴力破解, 无后门, 自动化检测, 逆向工具