harsh2003jadhav-art/Automated-Vulnerability-Scanner
GitHub: harsh2003jadhav-art/Automated-Vulnerability-Scanner
一个集成网络扫描、Web应用安全测试和CVE情报的自动化漏洞扫描Web平台,用于安全评估和漏洞管理。
Stars: 0 | Forks: 0
# 自动化漏洞扫描器
一个用于自动化安全漏洞扫描和评估的综合Web平台。该工具结合了网络扫描、Web应用安全测试和CVE情报,提供详细的安全洞察。




## ⚠️ 重要法律声明
**本工具仅用于授权的安全测试和教育目的。**
- 仅扫描您拥有或已获得明确书面授权进行测试的系统
- 未经授权的扫描在您所在司法管辖区可能属于违法行为
- 请负责任且合乎道德地使用
- 作者不对误用或损害承担责任
## 🚀 功能
### 🔍 扫描能力
- **网络扫描**
- 端口扫描和服务检测
- 操作系统指纹识别
- 横幅抓取以识别版本
- 常见漏洞检测
- **Web应用扫描**
- SQL注入检测
- 跨站脚本(XSS)测试
- 安全头部验证
- SSL/TLS配置检查
- Web爬虫以实现全面覆盖
- **漏洞情报**
- CVE/NVD数据库集成
- CVSS评分
- 严重程度分类(严重、高、中、低)
- 修复建议
### 🤖 自动化功能
- 计划扫描(每日、每周、每月)
- 持续监控
- 实时进度跟踪
- 自动报告生成
### 📊 报告与分析
- 带统计信息的交互式仪表板
- PDF报告生成
- 用于集成的JSON导出
- 严重程度分布可视化
- 趋势分析
- 漏洞管理
### 🔐 安全与访问控制
- 用户认证(基于JWT)
- 基于角色的访问控制(RBAC)
- 审计日志
- 安全的密码哈希
## 🛠️ 技术栈
### 后端
- **Python 3.8+** - 核心编程语言
- **Flask** - Web框架
- **SQLAlchemy** - 数据库管理的ORM
- **SQLite** - 数据库(可升级到PostgreSQL)
- **Flask-JWT-Extended** - 认证
- **python-nmap** - 网络扫描
- **BeautifulSoup4** - Web抓取
- **ReportLab** - PDF生成
### 前端
- **React 18.2** - UI框架
- **React Router** - 导航
- **Axios** - HTTP客户端
- **Tailwind CSS** - 样式
- **Chart.js** - 数据可视化
## 📦 安装
### 前置条件
- Python 3.8或更高版本
- Node.js 14或更高版本
- npm或yarn包管理器
- Git(可选)
### 后端设置
1. **导航到项目目录:**
```
cd "C:\Users\ABC\OneDrive\Documents\Data Analytics-1\CS Project\112"
```
2. **创建虚拟环境:**
```
python -m venv venv
```
3. **激活虚拟环境:**
Windows:
```
source venv/Scripts/activate
```
Linux/Mac:
```
source venv/bin/activate
```
4. **安装Python依赖:**
```
pip install -r requirements.txt
```
5. **启动后端服务器:**
```
cd backend
python app.py
```
后端API将在 `http://localhost:5000` 启动
### 前端设置
1. **打开新终端并导航到前端目录:**
```
cd frontend
```
2. **安装Node.js依赖:**
```
npm install
```
3. **启动开发服务器:**
```
npm start
```
前端将在 `http://localhost:3000` 启动
## 🎯 使用方法
### 首次设置
1. **访问应用**:`http://localhost:3000`
2. **使用默认凭据登录:**
- 用户名:`admin`
- 密码:`admin123`
3. **更改默认密码**(生产环境建议)
### 启动扫描
1. 点击仪表板或扫描页面上的**"新建扫描"**按钮
2. 输入目标:
- 网络扫描输入IP地址(例如 `192.168.1.1`)
- Web应用扫描输入URL(例如 `https://example.com`)
3. 选择扫描类型:
- **网络扫描** - 端口和服务检测
- **Web应用扫描** - 安全漏洞测试
- **完整扫描** - 综合扫描(网络+Web)
4. 点击**"开始扫描"**
### 监控扫描
- 在扫描详情页面查看实时进度
- 扫描每5-10秒自动刷新
- 扫描完成时接收通知
### 查看结果
1. 导航到扫描详情页面
2. 按严重程度查看漏洞摘要
3. 查看详细发现,包括:
- 严重程度级别
- CVSS评分
- 受影响的组件
- 修复建议
4. 下载PDF报告以供记录
### 管理漏洞
1. 转到**漏洞**页面
2. 按严重程度或状态筛选
3. 更新状态:
- **待处理** - 新发现
- **处理中** - 正在修复
- **已解决** - 已修复
- **误报** - 非真实漏洞
## 📁 项目结构
```
112/
├── backend/
│ ├── app.py # Main Flask application
│ ├── models/
│ │ ├── user.py # User model
│ │ └── scan.py # Scan & Vulnerability models
│ ├── routes/
│ │ ├── auth.py # Authentication endpoints
│ │ ├── scans.py # Scan management
│ │ ├── vulnerabilities.py # Vulnerability management
│ │ ├── dashboard.py # Dashboard statistics
│ │ └── reports.py # Report generation
│ ├── scanners/
│ │ ├── network_scanner.py # Network scanning logic
│ │ ├── web_scanner.py # Web security testing
│ │ └── cve_integration.py # CVE database integration
│ └── utils/ # Helper utilities
├── frontend/
│ ├── public/
│ │ └── index.html # HTML template
│ └── src/
│ ├── App.js # Main React component
│ ├── components/
│ │ ├── Navbar.js # Navigation bar
│ │ └── ProtectedRoute.js # Route protection
│ ├── pages/
│ │ ├── Login.js # Login page
│ │ ├── Dashboard.js # Dashboard
│ │ ├── Scans.js # Scans list
│ │ ├── ScanDetails.js # Scan details
│ │ ├── NewScan.js # Create scan
│ │ └── Vulnerabilities.js # Vulnerabilities
│ └── services/
│ └── api.js # API client
├── requirements.txt # Python dependencies
├── package.json # Node.js dependencies
└── README.md # This file
```
## 🔑 API端点
### 认证
- `POST /api/auth/register` - 注册新用户
- `POST /api/auth/login` - 用户登录
- `GET /api/auth/me` - 获取当前用户
### 扫描
- `POST /api/scans/` - 创建新扫描
- `GET /api/scans/` - 列出所有扫描
- `GET /api/scans/` - 获取扫描详情
- `DELETE /api/scans/` - 删除扫描
### 漏洞
- `GET /api/vulnerabilities/` - 列出漏洞
- `GET /api/vulnerabilities/` - 获取漏洞详情
- `PATCH /api/vulnerabilities/` - 更新漏洞状态
- `GET /api/vulnerabilities/stats` - 获取统计信息
### 仪表板
- `GET /api/dashboard/stats` - 获取仪表板统计信息
- `GET /api/dashboard/recent-scans` - 获取最近扫描
- `GET /api/dashboard/recent-vulnerabilities` - 获取最近漏洞
- `GET /api/dashboard/trends` - 获取漏洞趋势
### 报告
- `GET /api/reports/scan//pdf` - 下载PDF报告
- `GET /api/reports/scan//json` - 获取JSON报告
## 🔧 配置
### 环境变量
在后端目录创建 `.env` 文件:
```
SECRET_KEY=your-secret-key-here
JWT_SECRET_KEY=your-jwt-secret-key-here
SQLALCHEMY_DATABASE_URI=sqlite:///vulnerability_scanner.db
```
### 前端配置
在前端目录创建 `.env` 文件:
```
REACT_APP_API_URL=http://localhost:5000/api
```
## 🧪 测试
### 手动测试
1. 启动后端和前端服务器
2. 使用默认凭据登录
3. 创建针对本地IP或测试网站的测试扫描
4. 监控扫描进度
5. 查看结果并生成报告
### 安全测试最佳实践
- 使用测试环境或隔离网络
- 未经授权切勿扫描生产系统
- 记录所有扫描活动
- 及时审查并采取行动
## 🚀 部署
### 后端部署
1. 设置生产WSGI服务器(推荐使用Gunicorn)
2. 配置反向代理(Nginx/Apache)
3. 使用PostgreSQL而非SQLite
4. 设置强SECRET_KEY和JWT_SECRET_KEY
5. 启用HTTPS
### 前端部署
1. 构建生产包:
```
npm run build
```
2. 使用Web服务器提供构建文件夹
3. 将API URL更新为生产后端
## 📝 未来增强
- 容器扫描(Docker、Kubernetes)
- 基础设施即代码扫描
- 云配置错误检测
- SIEM工具集成
- 实时警报(Slack、邮件)
- 攻击路径映射
- 漏洞利用验证
- API扫描(REST/GraphQL)
- 移动应用扫描
- 合规报告(CIS基准)
## 🤝 贡献
这是一个教育项目。欢迎为学习目的做出贡献!
1. Fork仓库
2. 创建功能分支
3. 提交您的更改
4. 推送到分支
5. 创建Pull Request
## 📄 许可证
本项目仅用于教育目的。使用风险自负。
## 贡献者
作为计算机科学项目开发,用于安全教育和培训。
## 📞 支持
如有问题、疑问或建议:
- 在仓库中创建issue
- 联系项目维护者
## ⚠️ 免责声明
本工具按原样提供,仅用于教育和授权的安全测试目的。不对本软件误用或造成的损害承担任何责任。用户有责任确保在进行任何安全扫描之前已获得适当授权。
**请记住:能力越大,责任越大。请合乎道德且合法地使用本工具!** 🛡️
标签:CodeQL, CVE, CVSS评分, DOE合作, GPT, JWT认证, NVD集成, OS指纹识别, RBAC, React安全, SQL注入检测, SSL/TLS检测, XSS, XSS测试, 云存储安全, 代码生成, 威胁情报, 安全报告生成, 安全评估工具, 实时处理, 密码管理, 开发者工具, 持续监控, 插件系统, 数字签名, 数据统计, 渗透测试工具, 漏洞情报, 漏洞管理, 端口扫描, 网络安全, 网络扫描, 逆向工具, 隐私保护