gitstq/VulnPilot

GitHub: gitstq/VulnPilot

VulnPilot 是一款纯 Python 编写的零依赖轻量级 Web 应用安全漏洞智能扫描器,帮助开发者和安全工程师在开发阶段快速发现 OWASP Top 10 常见漏洞。

Stars: 0 | Forks: 0

__ __ _ _ _____ _ _ _______ _____ | \/ (_)_ __ (_) __ \ _ __ _____ ___ _| \ | |_ _|_ _| | |\/| | | '_ \| | | _) | '__/ _ \ \/ / | | | \| | | | | | | | | | | | | | | |__> | | | (_) > <| |_| | |\ | | | | | |_| |_|_|_| |_|_|_____/|_| \___/_/\_\\__, |_| \_| |_| |_| |___/ Lightweight Web Application AI Security Vulnerability Scanner

简体中文

## 目录 - [项目介绍](#-项目介绍) - [核心特性](#-核心特性) - [快速开始](#-快速开始) - [详细使用指南](#-详细使用指南) - [设计思路与迭代规划](#-设计思路与迭代规划) - [打包与部署指南](#-打包与部署指南) - [贡献指南](#-贡献指南) - [开源协议](#-开源协议) ## 🎉 项目介绍 ### 🎯 项目定位 **VulnPilot** 是一款**轻量级 Web 应用安全漏洞智能扫描器**,专为开发团队和安全工程师打造。它采用纯 Python 编写,**零外部依赖**,开箱即用,无需任何 `pip install` 操作。 ### 💡 核心价值 | 维度 | 说明 | |------|------| | **零依赖** | 完全基于 Python 标准库(`urllib`、`html.parser`、`concurrent.futures`、`dataclasses`),无需安装第三方包 | | **开箱即用** | 下载即扫描,`python vulnpilot.py scan --url ` 一行命令启动 | | **智能检测** | 内置 7 大专业扫描器,覆盖 OWASP Top 10 主要漏洞类别 | | **多格式报告** | 支持 Text(彩色终端)、JSON、HTML、Markdown 四种报告输出 | | **CI/CD 友好** | 内置 CI 模式,通过退出码和 JSON 输出无缝集成到流水线中 | ### 🔥 解决的痛点 - **传统扫描工具过于臃肿**:动辄数百 MB 的安装包,复杂的依赖链,VulnPilot 整个项目仅由若干 `.py` 文件组成,拷贝即用 - **CI/CD 集成困难**:很多扫描工具缺乏结构化的输出和标准化的退出码,VulnPilot 原生支持 `--ci` 模式,发现漏洞即返回非零退出码 - **离线环境受限**:无法安装依赖的安全隔离环境?VulnPilot 只需要 Python 3.8+ 解释器,无网络也能运行 - **快速安全检查门槛高**:开发者想要一个简单的安全自检工具,却不得不学习复杂的配置,VulnPilot 提供合理的默认值,零配置即可使用 ### ✨ 差异化亮点 - 🧬 **智能 Payload 变异引擎**:内置 7 种变异策略(URL 编码、双重编码、Unicode 编码、大小写变换、HTML 实体编码、注释插入、空字节注入),有效绕过 WAF 和输入过滤 - 🎨 **精美的终端 UI**:彩色输出、进度条、动画 Spinner、格式化表格,让命令行工具也能赏心悦目 - 🔌 **可扩展的扫描器架构**:基于插件式设计,新增扫描器只需继承 `BaseScanner` 类并实现 `scan()` 方法 - 📊 **自定义规则系统**:通过 JSON 规则文件灵活控制扫描行为,包括启用/禁用扫描器、自定义请求头、排除路径等 - 🛡️ **安全第一**:明确要求仅对授权目标进行扫描,内置速率限制和扫描上限保护 ### 🌟 灵感来源 VulnPilot 的设计灵感来源于安全工程师在日常开发和渗透测试中的真实需求——我们需要一个**轻量、快速、可靠**的安全扫描工具,能够在开发流程的早期阶段快速发现常见漏洞,而不必部署重量级的商业扫描器。正如飞行员在起飞前会进行系统性的安全检查清单一样,VulnPilot 帮助开发者在代码上线前完成 Web 应用的安全预检。 ## ✨ 核心特性 ### 🔍 七大专业扫描器 | 扫描器 | 覆盖漏洞 | OWASP 分类 | CWE 编号 | |--------|----------|------------|----------| | **SQL 注入扫描器** | 错误型、布尔盲注、时间盲注 | A03:2021 - Injection | CWE-89 | | **XSS 扫描器** | 反射型 XSS、DOM-based XSS | A03:2021 - Injection | CWE-79 | | **SSRF 扫描器** | 内部 IP 探测、协议走私、云元数据访问 | A10:2021 - SSRF | CWE-918 | | **安全头检测器** | 缺失安全响应头、Cookie 配置缺陷 | A05:2021 - Security Misconfiguration | CWE-693 | | **信息泄露检测器** | 技术指纹识别、敏感文件暴露、调试信息 | A01:2021 - Broken Access Control | CWE-200 | | **路径穿越扫描器** | 目录遍历、本地文件包含(LFI) | A01:2021 - Broken Access Control | CWE-22 | | **开放重定向扫描器** | URL 重定向滥用、钓鱼攻击向量 | A01:2021 - Broken Access Control | CWE-601 | ### 🧬 智能 Payload 变异引擎 VulnPilot 内置强大的 Payload 变异系统,通过多种编码和混淆策略有效绕过常见的输入过滤和 WAF 防护: 原始 Payload: 变异策略输出: URL 编码: %3Cscript%3Ealert('XSS')%3C/script%3E 双重 URL 编码: %253Cscript%253Ealert('XSS')%253C/script%253E Unicode 编码: \u003cscript\u003ealert('XSS')\u003c/script\u003e HTML 实体编码: <script>alert('XSS')</script> 大小写变换: 注释插入: