CSquareClub/T-04-Automated-Cybersecurity-Vulnerability-Scanner-for-Web-Apps
GitHub: CSquareClub/T-04-Automated-Cybersecurity-Vulnerability-Scanner-for-Web-Apps
一个专为学术项目设计的轻量级开源 Web 应用漏洞扫描器,通过插件化架构自动检测 OWASP Top 10 漏洞并生成附带修复建议的分级报告。
Stars: 0 | Forks: 0
# T-04:Web 应用自动化网络安全漏洞扫描器
## 领域
**网络安全 · DevSecOps**
## 问题描述
学生开发的 Web 应用程序通常在上线时带有未修补的漏洞(XSS、SQLi、CSRF、配置错误),这是由于缺乏安全测试知识或无法使用专业工具。目前缺乏一种专为学术项目量身定制的轻量级、教育性、开源的扫描器。
## 项目目标
1. 实现对 OWASP Top 10 漏洞类别的自动化扫描
2. 生成易于理解的漏洞报告并附带修复步骤
3. 支持扫描本地开发环境和已部署的 URL
4. 集成到 CI/CD pipeline(GitHub Actions)中
5. 为非技术用户提供 Web UI 以发起扫描
6. 按严重程度(严重 / 高危 / 中危 / 低危)对发现的问题进行分类
## 功能需求
- 目标 URL 输入,支持爬取深度配置
- 主动检查:SQLi(基于错误)、XSS(反射型)、CSRF token 缺失、开放重定向、目录遍历
- 被动检查:安全 header 分析、SSL/TLS 评级、cookie 标志
- 针对每个发现的问题进行 OWASP Top 10 覆盖范围映射
- 严重性评分(CVSS-lite)
- 导出 HTML + JSON 报告
- 用于 CI 集成的 GitHub Actions YAML 模板
- 带有比较功能的扫描历史记录(用于检测回归)
## 非功能需求
| 属性 | 需求 |
| :--- | :--- |
| 性能 | 在 5 分钟内完成基础扫描 |
| 安全性 | 无破坏性 payload;仅读取/探测 |
| 可移植性 | 基于 Docker 的部署 |
| 可靠性 | 扫描失败时实现优雅超时与重试 |
| 道德规范 | 进行速率限制以避免对目标造成 DoS |
## 建议技术栈
| 层级 | 选项 |
| :--- | :--- |
| 扫描器核心 | Python (Requests, BeautifulSoup, Scrapy) |
| 主动测试 | 自定义 payload + sqlmap API(有限) |
| 后端 API | FastAPI |
| 前端 | React.js 或 Vue.js |
| 数据库 | SQLite / PostgreSQL |
| CI 集成 | GitHub Actions YAML |
| 可选 | OWASP ZAP Python API wrapper |
## 系统设计需求
- **架构**:基于插件的扫描器核心。每个漏洞类别都作为独立的插件模块实现,便于轻松扩展。爬取引擎映射目标站点的 URL 图。每个插件接收 URL/表单并执行探测。收集发现的问题,进行去重和严重性评分。API 层公开扫描管理 endpoint。前端提供扫描向导和报告查看器。
- **主要模块**:Crawler Engine、Plugin Manager、SQLi Module、XSS Module、Header Analyzer、SSL Checker、Severity Scorer、Report Generator、CI Template Generator。
- **数据流**:URL 输入 → 爬取 → 插件分发 → 探测执行 → 结果收集 → 评分 + 去重 → 报告。
## 预期交付物
- [ ] 具有插件架构的扫描器源代码
- [ ] 10+ 个记录完善的测试用例(基于 DVWA 或 Juice Shop)
- [ ] 示例扫描报告(HTML + JSON)
- [ ] GitHub Actions 集成示例
- [ ] 道德使用声明与免责文档
- [ ] 在包含故意漏洞的 App 上的演示视频
## 里程碑与时间表
| 周 | 目标 |
| :--- | :--- |
| 1 | 插件架构设计;爬虫实现 |
| 2 | SQLi + XSS 检测模块 |
| 3 | Header/SSL 检查 + CSRF 检测 |
| 4 | 严重性评分 + 报告生成 |
| 5 | Web UI + GitHub Actions 模板 |
| 6 | 针对 DVWA/Juice Shop 进行测试,编写文档 |
## 评估标准
| 标准 | 分值 |
| :--- | :--- |
| 检测准确度(真阳性与假阳性对比) | 35 |
| 覆盖范围(实现的 OWASP 类别) | 20 |
| 报告质量 | 15 |
| 代码架构与安全性 | 20 |
| 文档与演示 | 10 |
## 额外加分功能
- 经过身份验证的扫描支持(注入 session cookie)
- 为自定义检查生成 Nuclei 模板
- 针对 CI 失败的 Slack/电子邮件提醒
- 跨版本的漏洞趋势跟踪
标签:AV绕过, CISA项目, DevSecOps, FastAPI, OWASP Top 10, Python, Splunk, Web安全, 上游代理, 字符串匹配, 无后门, 测试用例, 网络安全, 蓝队分析, 请求拦截, 逆向工具, 隐私保护