Brandonp584/web-vulnerability-scanner

GitHub: Brandonp584/web-vulnerability-scanner

一款基于 Python 的轻量级 Web 安全扫描器,通过分析 HTTP 响应检测缺失的安全标头与配置弱点,并生成带评分的结构化报告。

Stars: 0 | Forks: 0

# Web 漏洞扫描器 一个基于 Python 的 Web 安全扫描器,用于识别常见的 Web 安全配置错误、缺失的安全标头以及不安全的 Web 配置。 ## 概述 Web 漏洞扫描器是作为一个网络安全作品集项目开发的,旨在展示 Web 安全测试、HTTP 分析、Python 自动化、漏洞报告和防御性安全实践。 该扫描器会分析 Web 响应,评估与安全相关的 HTTP 标头,识别配置弱点,计算安全得分,并生成 JSON 和 HTML 报告。 ## 真实环境测试 该扫描器针对我托管在 Netlify 上的个人作品集网站进行了测试。 ### 初始评估 初始扫描识别出多个缺失的安全标头,并生成了 **74/100** 的安全得分。 检测到的问题包括: * 缺失 Content-Security-Policy * 缺失 X-Frame-Options * 缺失 X-Content-Type-Options * 缺失 Referrer-Policy * 缺失 Permissions-Policy ### 修复前 ![修复前](https://static.pigsec.cn/wp-content/uploads/repos/2026/06/970169a3d6150943.jpg) ### 修复 缺失的安全标头是使用 Netlify 的 `_headers` 配置文件实现的。 添加的标头: * Content-Security-Policy * X-Frame-Options * X-Content-Type-Options * Referrer-Policy * Permissions-Policy ### 验证 在实施安全控制后,对该网站进行了重新扫描。 安全得分从 **74/100** 提升至 **99/100**,仅留下一个与 Netlify 服务器标头相关的低严重性信息性发现。 ### 修复后 ![修复后](https://static.pigsec.cn/wp-content/uploads/repos/2026/06/2e01a6e6af150951.jpg) ### 终端输出 ![终端输出](https://static.pigsec.cn/wp-content/uploads/repos/2026/06/8beddd61a2150957.jpg) 这展示了完整的安全评估流程: 1. 漏洞识别 2. 安全修复 3. 通过重新扫描进行验证 4. 可量化的安全改进 ## 功能 ### Web 安全分析 该扫描器目前可检测: * 缺失 Content-Security-Policy 标头 * 缺失 X-Frame-Options 标头 * 缺失 X-Content-Type-Options 标头 * 缺失 Strict-Transport-Security 标头 * 缺失 Referrer-Policy 标头 * 缺失 Permissions-Policy 标头 * 服务器信息泄露 * 使用 HTTP 而非 HTTPS ### 报告 * 基于终端的漏洞报告 * 导出 JSON 报告 * 导出 HTML 报告 * 安全得分计算 (0–100) * 严重性摘要 * 扫描元数据和时间戳 ### 自动化 * 自动化 URL 扫描 * 结构化报告 * 可复用的安全评估工作流 ## 使用示例 ### 扫描网站 ``` python main.py --url https://example.com ``` ### 导出 JSON 报告 ``` python main.py --url https://example.com --json report.json ``` ### 导出 HTML 报告 ``` python main.py --url https://example.com --html report.html ``` ### 导出 JSON 和 HTML 报告 ``` python main.py --url https://example.com --json report.json --html report.html ``` ## JSON 输出示例 ``` { "tool": "Web Vulnerability Scanner", "version": "1.0.0", "target_url": "https://example.com", "scan_summary": { "total_findings": 7, "security_score": 69 } } ``` ## 安全评分 每项发现都会根据严重程度增加相应的风险扣分: | 严重程度 | 扣分 | | -------- | ------ | | 严重 | 20 | | 高 | 10 | | 中 | 5 | | 低 | 1 | 安全得分起始为 **100**,并根据分析期间检测到的发现进行扣减。 ## 项目结构 ``` web-vulnerability-scanner/ │ ├── images/ │ ├── scanner/ │ ├── __init__.py │ ├── checks.py │ ├── engine.py │ ├── exporter.py │ └── reporter.py │ ├── tests/ │ ├── main.py ├── README.md ├── requirements.txt └── .gitignore ``` ## 使用的技术 * Python * Requests * JSON * HTML * Git * GitHub ## 道德规范使用 本工具仅供防御性安全目的使用。 它仅应用于您拥有或获得明确授权进行评估的网站。 该扫描器执行被动的安全检查,旨在用于教育、防御和作品集开发目的。 ## 未来改进 计划的增强功能包括: * Cookie 安全标志分析 * 安全标头建议 * 额外的 HTTP 安全检查 * 自动化单元测试 * 集成 GitHub Actions CI/CD * 导出 SARIF 报告 * 历史扫描比较 * 扩展漏洞检测 ## 作者 **Brandon Powell** 信息技术高等教育文凭(全栈 Web 开发) 未来的信息技术学士(计算机科学与网络安全) 有志于成为网络安全专业人士,对安全软件开发、应用安全、漏洞管理和渗透测试充满兴趣。
标签:Homebrew安装, HTTP分析, Python, Web安全扫描器, 多模态安全, 字符串匹配, 安全基线检查, 密码管理, 无后门, 逆向工具