Hrishi043/SecureScan-Ai
GitHub: Hrishi043/SecureScan-Ai
基于 Flask 和 Selenium 构建的 Web 漏洞扫描器与安全审计仪表板,支持多种漏洞类型主动扫描并自动生成专业报告。
Stars: 1 | Forks: 0
# SecureScan AI 🛡️
**SecureScan AI** 是一个使用 Flask、SQLAlchemy、Selenium 和 ReportLab 构建的专业级、作品集级别的 Web 漏洞扫描器和安全审计仪表板。它将基础的测试脚本转化为一个功能齐全的安全评估平台,展示了动态扫描跟踪、仪表板分析和专业的 PDF 报告生成功能。
## 核心功能
- **时尚的赛博朋克仪表板 (Bootstrap 5)**:交互式的暗色主题界面,具有动态的玻璃拟态面板、指标卡片和响应式侧边栏导航。
- **实时分析 (Chart.js)**:环形图汇总漏洞严重程度分布(严重、高、中、低、信息),从数据库中动态加载。
- **安全认证**:健壮的用户管理,集成了 `Flask-Login` 会话管理,并使用 `werkzeug.security`(Scrypt 哈希)进行安全的密码加密。
- **关系型数据库历史记录**:基于 SQLAlchemy ORM 的 SQLite 后端,用于跟踪历史审计记录和具体的 payload 执行细节(payload 字符串、状态、严重程度、执行时间和 stdout 日志)。
- **统一的漏洞扫描器**:重构了 Selenium 自动化引擎,用于测试以下内容:
- 命令注入漏洞
- 跨站脚本攻击(反射型 XSS)漏洞
- SQL 注入攻击
- CSRF 表单漏洞
- **自动模拟回退**:智能的 ChromeDriver 执行包装器。如果缺少本地的 DVWA 实例或 WebDriver 二进制文件,扫描器会自动回退到异常安全的**模拟模式**,确保平台体验的无缝衔接。
- **动态 PDF 审计**:统一的 PDF 生成模块,直接根据数据库记录构建动态填充的审计报告,汇总元数据、目标风险因素、发现结果表格以及量身定制的代码修复建议。
- **OWASP Top 10 学习中心**:采用 Bootstrap 简洁风格设计的内嵌教育专区,方便用户深入了解漏洞类型和现实生活中的漏洞赏金案例研究。
## 重组后的项目结构
项目已从扁平化目录重构为符合企业级 Flask 布局规范的模块化包架构:
```
SecureScan_AI/
├── app/
│ ├── __init__.py # Flask app factory, extension configs, and Blueprint registers
│ ├── models.py # User (auth mixins), Scan, and ScanResult database entities
│ ├── routes/
│ │ ├── auth.py # Secure login, registration, and logout sessions
│ │ ├── dashboard.py # Compile metrics summaries for Chart.js rendering
│ │ ├── scanner.py # Launch dynamic scans, retrieve log tables, and OWASP views
│ │ └── reports.py # Dynamic ReportLab PDF builder and browser download stream
│ ├── scanners/
│ │ ├── base_scanner.py # Base Chrome Webdriver config with simulation fallback
│ │ ├── payloads.py # Centralized lists of security payloads
│ │ ├── command_injection.py
│ │ ├── xss.py
│ │ ├── sql_injection.py
│ │ └── csrf.py
│ ├── static/
│ │ ├── css/
│ │ │ └── style.css # Global glassmorphism dark-theme styling
│ │ └── bg.jpg # Auth page backdrop asset
│ └── templates/
│ ├── base.html # Sidebar, navbar, alerts frame
│ ├── auth/ # Login & register templates
│ ├── dashboard.html # Chart.js graphs and metric cards
│ ├── scanner/ # Audit forms, history logs, and execution details
│ └── owasp/ # Dynamic educational partial templates
├── instance/
│ └── securescan.db # SQLite database storage
├── requirements.txt # Package dependencies lock
└── run.py # Server startup script
```
## 安装与设置
### 1. 克隆并配置环境
导航到项目根目录,并确保已安装 Python 3.8+:
```
# 检查 Python 版本
python --version
```
### 2. 安装包依赖
安装所需的锁定版本库:
```
pip install -r requirements.txt
```
### 3. 启动 SecureScan AI 服务器
启动 Flask 开发服务器:
```
python run.py
```
打开浏览器并访问 `http://127.0.0.1:5000` 以进入登录页面。
## 使用指南
1. **身份验证**:注册一个新的安全专家账户。密码在保存时会自动加密。
2. **仪表板概览**:查看审计历史和安全态势摘要。
3. **配置审计**:导航至 **Run Scan** 并选择一个漏洞利用模块。
4. **扫描模式**:
- **模拟模式(默认)**:保持开关处于选中状态,即可即时模拟扫描过程。非常适合在无需配置环境的情况下进行演示。
- **实时扫描代理**:取消选中“Enable Simulation Mode”以启动 Selenium 浏览器抓取工具。确保在 `http://localhost/dvwa` 运行着本地的 Damn Vulnerable Web Application (DVWA) 实例,并且将 `chromedriver.exe` 放置在项目根目录下。
5. **查看发现并导出**:深入查看结果以检查目标控制台日志,或点击 **Download PDF Audit Report** 导出包含修复说明的精美 PDF 文件。
标签:Bootstrap, CISA项目, Flask, Selenium, 加密, 后端开发, 数据泄露, 漏洞扫描器, 逆向工具