vishalpoute/vulnscan-final-year-project

GitHub: vishalpoute/vulnscan-final-year-project

一个基于Flutter与FastAPI的跨平台漏洞扫描与分析平台,解决多端安全漏洞的识别、报告与集中管理问题。

Stars: 0 | Forks: 0

# 🛡️ VulnScan - 漏洞扫描与分析平台 ![VulnScan Banner](https://img.shields.io/badge/VulnScan-Security%20Scanning-red) ![Flutter](https://img.shields.io/badge/Flutter-3.10+-blue) ![Python](https://img.shields.io/badge/Python-3.12+-green) ![License](https://img.shields.io/badge/License-MIT-yellow) ## 📋 目录 - [概述](#overview) - [功能特性](#features) - [适用用户](#who-benefits) - [项目结构](#project-structure) - [系统要求](#system-requirements) - [安装指南](#installation-guide) - [后端设置](#backend-setup) - [前端设置](#frontend-setup) - [运行应用](#running-the-application) - [API 文档](#api-documentation) - [开发流程](#development-workflow) - [常见问题](#troubleshooting) - [贡献指南](#contributing) - [许可证](#license) ## 🎯 概述 **VulnScan** 是一个基于 **Flutter**(前端)和 **FastAPI**(后端)的全面漏洞扫描与分析平台。它使开发者、安全团队和组织能够识别、分析和修复其应用程序和系统中的安全漏洞。 该平台提供: - 🔍 **多平台实时漏洞扫描** - 📊 **详细的安全报告与可操作洞察** - 🚀 **多平台支持**(Android、iOS、Windows、Linux、macOS、Web) - ☁️ **基于云的后端与 MongoDB 数据库** - 🔐 **Firebase 身份验证保障安全访问** - 📈 **高级分析与趋势分析** ## ✨ 功能特性 ### 前端(Flutter) - 跨平台移动与桌面 UI - 实时扫描状态更新 - 交互式漏洞报告 - PDF 导出功能 - 用户认证与个人资料管理 - 支付集成(高级功能) - 深色/浅色主题支持 ### 后端(FastAPI) - 完善的 RESTful API 端点 - 高性能的异步处理 - 可扩展存储的 MongoDB 集成 - 认证用的 Firebase Admin SDK 集成 - AI 驱动的漏洞分析(Claude API) - 与第三方安全工具集成(MobSF、OpenAI) - 高级过滤与搜索能力 ## 🎯 适用用户 本项目适用于: | 用户类型 | 收益 | |----------|------| | **开发者** | 在开发过程中识别并修复漏洞 | | **安全团队** | 监控和管理多个项目的安全性 | | **DevOps 工程师** | 在 CI/CD 流水线中自动化安全扫描 | | **组织** | 集中化漏洞管理与合规跟踪 | | **企业** | 全面的安全情报与报告 | ## 📁 项目结构 ``` vulnscan/ ├── lib/ # Flutter frontend code │ ├── main.dart # App entry point │ ├── config/ # Configuration & routing │ │ ├── constants/ # App constants │ │ ├── routing/ # Navigation routes │ │ └── theme/ # UI themes │ ├── data/ # Data layer │ │ ├── datasources/ # API calls & local storage │ │ ├── models/ # Data models │ │ └── repositories/ # Business logic │ ├── domain/ # Domain layer │ │ ├── entities/ # Core business objects │ │ ├── failures.dart # Error handling │ │ └── usecases/ # Use cases │ ├── presentation/ # UI layer │ │ ├── providers/ # State management (Riverpod) │ │ ├── screens/ # UI screens │ │ └── widgets/ # Reusable components │ ├── services/ # Core services │ │ ├── http_client_service.dart # API client │ │ └── pdf_export_service.dart # PDF export │ └── utils/ # Utilities │ ├── extensions/ # Dart extensions │ ├── formatters/ # Data formatters │ └── validators/ # Input validators │ ├── test/ # Flutter tests │ └── widget_test.dart # Widget tests │ ├── android/ # Android-specific code ├── ios/ # iOS-specific code ├── windows/ # Windows desktop code ├── linux/ # Linux desktop code ├── macos/ # macOS desktop code ├── web/ # Web build configuration │ ├── pubspec.yaml # Flutter dependencies & config ├── analysis_options.yaml # Dart linting rules └── README.md # This file vulnscan-backend/ # Backend folder (separate) ├── main.py # FastAPI app entry point ├── requirements.txt # Python dependencies ├── .env # Environment variables ├── .env.example # Example env file ├── routes/ # API endpoints ├── models/ # Data models ├── services/ # Business logic └── utils/ # Helper utilities ``` ## 🖥️ 系统要求 ### 前端(Flutter) - **操作系统**:Windows 10+、macOS 10.15+、Linux(Ubuntu 18.04+)、iOS 11+、Android 5.0+ - **Flutter SDK**:3.10.8 或更高 - **Dart SDK**:3.10.8 或更高 - **内存**:最低 4GB(推荐 8GB) - **磁盘空间**:2GB 可用空间 ### 后端(Python FastAPI) - **操作系统**:Windows、macOS、Linux - **Python**:3.12 或更高 - **MongoDB**:4.6 或更高(本地或云端) - **内存**:最低 2GB(推荐 4GB) - **磁盘空间**:1GB 可用空间 ### 必需服务 - **Firebase 项目** - 用于身份验证 - **MongoDB 数据库** - 用于数据存储 - **Claude API 密钥** - 用于 AI 驱动的分析 - **OpenAI API 密钥**(可选) - 用于额外分析 - **MobSF API**(可选) - 用于移动应用扫描 ## 📦 安装指南 ### 安装前置依赖 #### 1. **安装 Flutter** **Windows:** ``` # 从 https://flutter.dev/docs/get-started/install/windows 下载 Flutter # 添加到 PATH 并验证安装 flutter --version ``` **macOS:** ``` brew install flutter flutter --version ``` **Linux(Ubuntu):** ``` sudo apt-get update sudo apt-get install -y curl git xz-utils zip libglu1-mesa clang cmake ninja-build pkg-config libgtk-3-dev # 从 https://flutter.dev/docs/get-started/install/linux 下载并解压 Flutter flutter --version ``` #### 2. **安装 Python 3.12** **Windows:** ``` # 从 https://www.python.org/downloads/ 下载 # 安装时,请勾选“将 Python 添加到 PATH” python --version ``` **macOS:** ``` brew install python@3.12 python3.12 --version ``` **Linux(Ubuntu):** ``` sudo apt-get update sudo apt-get install -y python3.12 python3.12-venv python3.12-dev python3.12 --version ``` #### 3. **安装 MongoDB** **选项 A:本地安装** - 从 https://www.mongodb.com/try/download/community 下载 - 按照操作系统指南安装 - 验证:`mongod --version` **选项 B:MongoDB Atlas(云端)** - 在 https://www.mongodb.com/cloud/atlas 创建账户 - 创建集群并获取连接字符串 - 在 `.env` 文件中更新 MongoDB URI #### 4. **获取 API 密钥** - **Firebase**:https://console.firebase.google.com/ - **Claude API**:https://console.anthropic.com/ - **OpenAI**(可选):https://platform.openai.com/ ## 🚀 后端设置 ### 步骤 1:进入后端目录 ``` # Windows cd "c:\final year\VulnScan Backend\vulnscan-backend" # macOS/Linux cd ~/path-to/vulnscan-backend ``` ### 步骤 2:创建 Python 虚拟环境 ``` # Windows python3.12 -m venv venv .\venv\Scripts\Activate.ps1 # macOS/Linux python3.12 -m venv venv source venv/bin/activate ``` ### 步骤 3:安装依赖 ``` pip install -r requirements.txt ``` **注意**:如果遇到 `pydantic-core` 错误,请确保使用 Python 3.12(而非 3.14)。Python 3.14 缺少预编译轮子。 ### 步骤 4:配置环境变量 ``` # 复制示例文件 cp .env.example .env # 使用您的凭据编辑 .env: ``` 编辑 `.env` 文件并填入实际凭证: ``` # Firebase 配置 FIREBASE_PROJECT_ID=vulnscan-finalyear FIREBASE_PRIVATE_KEY= FIREBASE_CLIENT_EMAIL= # MongoDB 配置 MONGODB_URI=mongodb://localhost:27017 MONGODB_DB_NAME=vulnscan # API 密钥 CLAUDE_API_KEY= OPENAI_API_KEY= MOBSF_API_KEY= # 服务器配置 DEBUG=true HOST=0.0.0.0 PORT=8000 TEMP_DIR=/tmp/vulnscan ``` ### 步骤 5:启动 MongoDB ``` # 如果本地运行: mongod # 如果使用 MongoDB Atlas,请确保 .env 中的 URI 正确 ``` ### 步骤 6:运行后端服务 ``` python3.12 -m uvicorn main:app --reload --port 8000 ``` 预期输出: ``` INFO: Uvicorn running on http://0.0.0.0:8000 INFO: Application startup complete ``` ### 步骤 7:验证后端 ``` # 在新终端中 curl http://localhost:8000/ curl http://localhost:8000/docs # SwaggerUI documentation ``` ## 📱 前端设置 ### 步骤 1:进入前端目录 ``` cd c:\final year\VulnScan Desktop\vulnscan ``` ### 步骤 2:获取 Flutter 依赖 ``` flutter pub get ``` ### 步骤 3:检查已连接设备 ``` flutter devices ``` 示例输出: ``` 2 connected devices: AOSP on IA Emulator (emulator-5554) • emulator-5554 • android-x86 • Android 11 (API 30) Chrome (web) • chrome • web-javascript • unknown ``` ### 步骤 4:运行代码分析 ``` flutter analyze ``` ### 步骤 5:运行测试 ``` flutter test flutter test --coverage # With coverage report ``` ## 🎮 运行应用 ### 移动端(Android) ``` flutter run -d emulator-5554 ``` ### 移动端(iOS - 仅 macOS) ``` flutter run -d ``` ### 桌面端(Windows) ``` flutter run -d windows ``` ### 桌面端(Linux) ``` flutter run -d linux ``` ### 桌面端(macOS) ``` flutter run -d macos ``` ### Web ``` flutter run -d chrome ``` ### 发布版本 ``` # Android APK flutter build apk --release # iOS 应用 flutter build ios --release # Windows 桌面 flutter build windows --release # Web flutter build web --release # Linux 桌面 flutter build linux --release ``` ## 📚 API 文档 后端运行后,访问: - **Swagger UI**:http://localhost:8000/docs - **ReDoc**:http://localhost:8000/redoc - **OpenAPI JSON**:http://localhost:8000/openapi.json ### 主要 API 端点 | 方法 | 端点 | 描述 | |------|------|------| | POST | `/auth/login` | 用户登录 | | POST | `/auth/register` | 用户注册 | | POST | `/scans/` | 创建新扫描 | | GET | `/scans/` | 列出所有扫描 | | GET | `/scans/{id}` | 获取扫描详情 | | GET | `/ans/{id}/report` | 下载报告 | | POST | `/admin/users` | 管理用户 | | GET | `/health` | 健康检查 | ## 💻 开发流程 ### 后端开发 ``` # 激活虚拟环境 source venv/bin/activate # macOS/Linux .\venv\Scripts\Activate.ps1 # Windows # 安装新包 pip install package-name pip freeze > requirements.txt # 使用自动重载运行服务器 python3.12 -m uvicorn main:app --reload --port 8000 # 运行测试 pytest # 代码质量检查 pylint main.py black main.py ``` ### 前端开发 ``` # 获取依赖项 flutter pub get # 使用热重载运行 flutter run # 格式化代码 flutter format . # 分析代码 flutter analyze # 生成构建文件 flutter pub run build_runner build # 创建发布构建 flutter build apk --release ``` ### Git 工作流 ``` # 创建功能分支 git checkout -b feature/your-feature # 修改并提交 git add . git commit -m "feat: add new feature" # 推送到远程 git push origin feature/your-feature # 在 GitHub 上创建拉取请求 ``` ## 🐛 常见问题 ### 后端问题 **问题**:`No module named uvicorn` ``` # 解决方案:安装依赖项 pip install -r requirements.txt ``` **问题**:`pydantic-core compilation error` ``` # 解决方案:使用 Python 3.12 而非 3.14 python3.12 -m pip install -r requirements.txt ``` **问题**:`MongoDB connection refused` ``` # 解决方案:本地启动 MongoDB mongod # 或使用正确的 MongoDB Atlas URI 更新 .env MONGODB_URI=mongodb+srv://user:pass@cluster.mongodb.net/ ``` **问题**:Firebase 凭证错误 ``` # 解决方案:验证 .env 文件是否包含正确的 Firebase 凭据 # 从 Firebase 控制台下载服务账户密钥 ``` ### 前端问题 **问题**:`Flutter not found` ``` # 解决方案:将 Flutter 添加到 PATH export PATH="$PATH:`pwd`/flutter/bin" # macOS/Linux ``` **问题**:设备未检测到 ``` # 解决方案: flutter devices flutter config --android-sdk /path/to/sdk ``` **问题**:构建缓存问题 ``` # 解决方案:清理并重建 flutter clean flutter pub get flutter run ``` ## 🤝 贡献指南 我们欢迎贡献!请按以下步骤操作: 1. **Fork 本仓库** 2. **创建功能分支**:`git checkout -b feature/amazing-feature` 3. **提交更改**:`git commit -m "Add amazing feature"` 4. **推送到分支**:`git push origin feature/amazing-feature` 5. **创建合并请求** ### 贡献规范 - 遵循现有代码风格 - 为新功能添加测试 - 更新文档 - 保持原子性提交并附上清晰描述 - 确保代码通过分析:`flutter analyze`、`pylint`、`black` ## 📄 许可证 本项目采用 **MIT 许可证** - 详见 [LICENSE](LICENSE) 文件。 ## 👥 支持与联系 - **问题反馈**:[GitHub Issues](https://github.com/yourname/vulnscan/issues) - **讨论**:[GitHub Discussions](https://github.com/yourname/vulnscan/discussions) - **邮箱**:your-email@example.com ## 🙏 感谢 - Flutter 团队提供的出色框架 - FastAPI 提供的高性能后端 - Firebase 提供的认证服务 - MongoDB 提供的数据库解决方案 - Claude AI 提供的漏洞分析 ## 📊 项目统计 - **前端**:Flutter + Dart - **后端**:FastAPI + Python 3.12 - **数据库**:MongoDB - **认证**:Firebase - **平台**:Android、iOS、Windows、Linux、macOS、Web - **状态**:开发中 **最后更新**:2026 年 4 月 **版本**:1.0.0 用心 ❤️ 为注重安全的开发者打造
标签:Admin Panel, Authentication, AV绕过, Cloud Backend, Cross-Platform, Dark Theme, Developer Tools, FastAPI, Firestore, Flutter, Mobile Security, MongoDB, Payment Integration, PDF Export, Razorpay, Security Scanning, Security Tools, SEO, Vulnerability Analysis, Vulnerability Scanner, 逆向工具