roronoazoro-hacked/hawkeye-OWASP-scanner

GitHub: roronoazoro-hacked/hawkeye-OWASP-scanner

一款生产级Web漏洞扫描器,针对OWASP Top 10进行检测,支持被动/主动扫描模式、分类工作流和多格式报告导出。

Stars: 0 | Forks: 0

# 🦅 Hawkeye OWASP 扫描器 ![Python](https://img.shields.io/badge/Python-3.11-blue?style=flat-square&logo=python) ![Flask](https://img.shields.io/badge/Flask-3.0-black?style=flat-square&logo=flask) ![OWASP](https://img.shields.io/badge/OWASP-Top%2010-red?style=flat-square) ![License](https://img.shields.io/badge/License-MIT-yellow?style=flat-square) ## 🔍 功能介绍 一款生产级 Web 漏洞扫描器,可针对 OWASP Top 10 对目标进行检测 — 这是全球公认的 Web 应用安全风险标准。由 Python 从零构建,带有基于浏览器的仪表板、登录保护和专业的报告功能。 ## ✨ 功能特点 | 功能 | 描述 | |---|---| | 🔍 **OWASP Top 10 检查** | 涵盖所有 10 个类别 — A01 至 A10 | | 🛡 **被动/主动模式** | 被动模式对任何目标都安全,主动模式会发送测试载荷 | | ✅ **分类工作流** | 可将发现标记为已确认、误报或已接受风险 | | 📄 **PDF 报告** | 执行摘要 + 完整技术发现 | | ⚙ **SARIF 导出** | 兼容 Burp Suite、Jira、GitHub Advanced Security | | { } **JSON 导出** | 机器可读的发现结果,便于流水线集成 | | 🔐 **登录保护** | 基于会话的认证保护仪表板 | | 📊 **扫描历史** | 所有扫描保存在 SQLite 中,支持差异比较 | | ⚡ **并发扫描** | 最多可同时运行 2 个扫描 | | 🔄 **扫描差异对比** | 比较同一目标的扫描结果 | ## 🖥 环境要求 在开始之前,请确保您已具备: - **Python 3.10 或更高版本** — 从 https://www.python.org/downloads/ 下载 - **Git** — 从 https://git-scm.com/downloads 下载 - 终端(Windows 上使用 PowerShell,Mac/Linux 上使用 Terminal) ## 🚀 安装步骤 ### 步骤 1 — 克隆仓库 ``` git clone https://github.com/roronoazoro-hacked/hawkeye-OWASP-scanner.git cd hawkeye-OWASP-scanner ``` ### 步骤 2 — 创建虚拟环境 **Windows:** ``` python -m venv .venv .venv\Scripts\activate ``` **Mac / Linux:** ``` python3 -m venv .venv source .venv/bin/activate ``` 当您在终端行首看到 `(.venv)` 时,即表示操作成功。 ### 步骤 3 — 安装依赖 ``` pip install -r requirements.txt ``` 这将自动安装 Flask、BeautifulSoup、requests、reportlab 和所有其他必需的库。 ### 步骤 4 — 运行扫描器 **Windows:** ``` python main.py ``` **Mac / Linux:** ``` python3 main.py ``` # 您应该看到: OWASP Web Vulnerability Scanner Open: http://127.0.0.1:5000 ### 步骤 5 — 打开仪表板 打开浏览器并访问: http://127.0.0.1:5000 ### 步骤 6 — 登录 ### 首次设置 — 创建您的 `.env` 文件 将 `.env.example` 复制为 `.env` 并设置您自己的凭据: SCANNER_USERNAME=yourchoice SCANNER_PASSWORD=yourpassword 然后运行扫描器。切勿分享您的 `.env` 文件。 ## 📖 使用方法 ### 运行扫描 1. 在输入框中输入目标 URL — 例如 `https://example.com` 2. 选择扫描模式: - **🛡 被动模式** — 仅读取响应头和 HTML,对任何目标都安全 - **⚡ 主动模式** — 发送测试载荷,仅用于您拥有权限的目标 3. 点击 **▶ 扫描** 4. 实时观察各项检查运行 — 每个 OWASP 类别都会实时更新 ### 查看结果 每个发现项显示: - **严重程度** — CRITICAL / HIGH / MEDIUM / LOW / INFO - **OWASP 类别** — 触发了哪条 Top 10 规则 - **详情** — 具体发现了什么 - **修复建议** — 如何修复该问题 - **请求/响应** — 确切的 HTTP 证据(点击展开) ### 分类发现结果 点击任意发现项展开,然后使用分类按钮: - **✓ 已确认** — 真实漏洞,需要修复 - **✗ 误报** — 不是真正的问题 - **⚠ 已接受风险** — 已知问题,团队已接受 ### 导出报告 扫描完成后,会出现三个导出按钮: - **📄 PDF 报告** — 面向客户或管理层的专业报告 - **{ } JSON** — 机器可读的格式,便于自动化流水线使用 - **⚙ SARIF** — 可直接导入 Burp Suite、Jira 或 GitHub Advanced Security ## 🎯 支持的 OWASP 检查 | ID | 类别 | 检查内容 | |---|---|---| | A01 | 访问控制失效 | 敏感路径、管理面板、备份文件 | | A02 | 加密失败 | HTTPS、HSTS、弱 TLS 配置 | | A03 | 注入 | SQL 注入、XSS 载荷反射 | | A05 | 安全配置错误 | 缺少安全头部、服务器版本泄露 | | A06 | 易受攻击的组件 | 过时的 jQuery、已弃用的 JS 库 | | A07 | 身份验证失败 | 默认凭据、缺少速率限制 | | A09 | 日志记录和监控不足 | 暴露的日志文件、robots.txt 敏感路径 | | A10 | SSRF | 接受外部地址的 URL 参数 | ## 🏗 项目结构 ## hawkeye-OWASP-scanner/ ├── main.py — Flask 服务器、登录系统、所有 API 路由 ├── scanner.py — 扫描引擎、线程处理、SQLite 持久化 ├── checks.py — 所有 OWASP 检测逻辑 ├── reporter.py — PDF、JSON、SARIF 报告生成 ├── requirements.txt ├── templates/ │ ├── index.html — 主扫描仪表板 │ └── login.html — 登录页面 └── scans.db — 自动创建的 SQLite 数据库(扫描历史) ## ⚙️ 配置 在项目文件夹中创建 `.env` 文件(从 `.env.example` 复制): SCANNER_USERNAME=yourchoice SCANNER_PASSWORD=yourpassword 切勿提交您的 `.env` 文件 — 它已自动列入 `.gitignore`。 ## 🔒 法律声明 **仅扫描您拥有或已获得明确书面授权进行测试的目标。** 未经授权的扫描在您所在司法管辖区可能违法。 本工具仅用于教育目的和专业安全测试。 ## 🛠 问题排查 **端口已被占用:** ``` # 修改 main.py 中的端口 app.run(host="0.0.0.0", port=5001) ``` **pip install 失败:** ``` pip install --upgrade pip pip install -r requirements.txt ``` **登录后页面空白:** - 请始终使用相同的地址 — 要么 `127.0.0.1:5000`,要么您的 IP,不要混用 - 尝试清除浏览器 Cookie 后重新登录 **扫描按钮无响应:** - 打开浏览器开发者工具(F12)→ Console 选项卡 — 检查是否有红色错误 - 确保您已登录 `http://127.0.0.1:5000/login` ## 👨‍💻 作者 **Dhrumil Chheda** - GitHub:[@roronoazoro-hacked](https://github.com/roronoazoro-hacked) ## 📄 许可证 MIT 许可证 — 可免费使用、修改和分发,但需注明出处。
标签:AMSI绕过, Flask, GPT, OWASP Top 10, PDF报告, Python, SARIF, Snort++, Splunk, SQLite, Talos规则, Web安全, 主动扫描, 加密, 威胁检测, 安全测试, 实时处理, 密码管理, 攻击性安全, 无后门, 漏洞扫描器, 漏洞管理, 网络安全, 蓝队分析, 被动扫描, 逆向工具, 隐私保护