angel-cm-dev/vuln-scanner-py

GitHub: angel-cm-dev/vuln-scanner-py

基于Python的轻量级被动Web安全扫描器,通过分析HTTP响应头检测XSS、点击劫持等常见安全配置问题,支持多线程并发扫描并生成专业PDF报告。

Stars: 0 | Forks: 0

# 🛡️ Web 漏洞扫描器(轻量级)

Python Docker Modular Clean Code

### 🌟 简介 该项目是一个用 Python 开发的**被动 Web 安全审计工具**。其目标是通过分析 HTTP 响应头,评估远程服务器安全配置的健壮性,检测诸如 **XSS、点击劫持(Clickjacking)和信息泄露(Information Leakage)** 等关键漏洞。 ### 🚀 主要特性 * **⚡ 并发引擎:** 使用 `ThreadPoolExecutor` 实现 **Multithreading**,并行处理多个目标且无 I/O 阻塞。 * **🏗️ 模块化架构:** 模块间职责严格分离,保证可维护性与可扩展性。 * **📄 工业级报告:** 生成具有视觉层级、斑马纹(Zebra Striping)和风险颜色分级的专业 PDF 报告。 * **🐳 完全容器化:** 通过 **Docker** 实现即时、可移植的部署,消除环境冲突。 ### 🏗️ 系统架构 该项目遵循模块化结构,确保各基础组件相互独立: | 组件 | 文件 | 主要功能 | | :--- | :--- | :--- | | **Scanner Engine** | `core.py` | 管理网络与并发。使用 `requests.Session()` 复用 TCP 连接,优化性能。 | | **Vulnerability Analyzer** | `analyzer.py` | 包含检查逻辑。评估响应头(CSP, HSTS, X-Frame-Options)的存在性,并检测服务器签名中的信息泄露。 | | **PDF Reporter** | `reporter.py` | 将技术发现转化为可读的执行报告,并应用自动换行以实现完美排版。 | ### 💻 使用与部署 #### **前置条件** * Docker Desktop(推荐)或 Python 3.11+。 #### **使用 Docker 运行(推荐模式)** 1. **构建镜像:** docker build -t vuln-scanner . 2. **运行扫描(将报告映射到主机):** # 在 Windows Git Bash 中使用 $(pwd) 表示当前路径 docker run --rm -v "$(pwd):/app" vuln-scanner -u google.com github.com -o auditoria_final.pdf ### 📐 工程设计决策 作为系统工程师,该项目在设计中优先考虑性能与健壮性: *性能:* 由于任务属于 I/O Bound(等待网络响应),选择线程模型而非进程模型,在批量扫描中可实现最高 5 倍的加速。 *Clean Code:* 代码实现了 Type Hinting 与自定义异常处理,以确保在连接失败或 URL 格式错误时的稳定性。 *安全性:* 集成 validators 库对输入进行清洗,缓解 SSRF(Server-Side Request Forgery)风险。 ### 📈 后续更新计划 1. Network Discovery:实现端口扫描(nmap-style),用于分析本地网络中的设备(PC、IoT)。 2. Web Dashboard:基于 React 开发的图形界面,用于动态展示扫描结果。 3. JSON Export:支持以 JSON 格式导出结果,便于与 CI/CD 流水线集成。 ### 👤 作者 Angel Castañeda - Systems Engineer(秘鲁,利马)。 专注于向 Senior Developer 角色发展,对网络安全与可扩展软件架构有浓厚兴趣。 **免责声明:本项目仅用于授权的教育与审计目的。滥用责任由用户自行承担。**
标签:C++17, Docker容器, HTTP头分析, PDF报告生成, Python安全工具, Snort++, SOLID原则, TCP连接复用, Web安全, XSS检测, 信息泄露, 密码管理, 对称加密, 插件系统, 攻击面发现, 模块化架构, 点击劫持, 网络安全, 自动化审计, 蓝队分析, 被动扫描, 请求拦截, 轻量级扫描器, 逆向工具, 隐私保护