SANDHYAKUMARI1504/AI-based-vulnerability-scanner

GitHub: SANDHYAKUMARI1504/AI-based-vulnerability-scanner

一个基于 Python 后端和 React 前端的全栈 Web 漏洞扫描器,利用 AI 引擎检测常见安全漏洞、分类风险等级并生成修复建议,通过浏览器界面提供直观的扫描配置与报告展示。

Stars: 0 | Forks: 0

# 基于 AI 的漏洞扫描器 一个全栈 Web 应用程序,结合了 Python 后端、AI 驱动的分析引擎和现代化的 React 前端,用于检测、分类和报告安全漏洞。该系统旨在通过直观的浏览器界面和智能扫描逻辑,协助安全专业人员、开发人员和学生识别和理解常见的应用程序及网络弱点。 ## 目录 - [关于本项目](#about-the-project) - [项目结构](#project-structure) - [技术栈](#tech-stack) - [开始使用](#getting-started) - [前置条件](#prerequisites) - [后端设置](#backend-setup) - [前端设置](#frontend-setup) - [运行应用程序](#running-the-application) - [前端架构](#frontend-architecture) - [功能特性](#features) - [漏洞检测范围](#vulnerability-detection-coverage) - [工作原理](#how-it-works) - [配置说明](#configuration) - [为生产环境扩展 ESLint](#extending-eslint-for-production) - [贡献指南](#contributing) - [免责声明](#disclaimer) - [作者](#author) ## 关于本项目 安全漏洞是现代软件系统面临的最关键风险之一。手动识别它们成本高昂、速度缓慢且容易产生不一致。本项目通过构建一个全栈 AI 驱动的漏洞扫描器来填补这一空白,为运行智能安全评估提供了一个易于访问的界面。 后端使用 Python 构建,并使用 AI 模型来分析目标、解释发现的问题并生成修复指导。前端是一个响应式的 React 应用程序,使用 Vite 构建并使用 Tailwind CSS 进行样式设计,为用户提供了一个干净且专业的界面,用于配置扫描、监控进度和查看详细的漏洞报告。 该项目遵循客户端-服务器架构,其中 React 前端通过 REST API 与 Python 后端进行通信。用户设置和扫描配置使用本地 SQLite 数据库和基于 JSON 的存储文件进行持久化保存。 ## 项目结构 ``` AI-based-vulnerability-scanner/ │ ├── secureai-backend/ # Python backend server │ ├── app/ # Core application logic, routes, and API handlers │ ├── models/ # AI models and vulnerability analysis modules │ ├── requirements.txt # Python dependencies │ ├── run.py # Application entry point │ ├── settings.db # SQLite database for persistent settings and results │ ├── settings.json # Application configuration file │ └── users.json # User data store │ ├── secureai-frontend/ # React + Vite frontend application │ ├── public/ # Static assets served directly │ ├── src/ # React components, pages, hooks, and utilities │ ├── index.html # Root HTML entry point │ ├── package.json # Node.js dependencies and npm scripts │ ├── package-lock.json # Dependency lock file │ ├── tailwind.config.js # Tailwind CSS configuration │ ├── postcss.config.js # PostCSS configuration │ ├── vite.config.js # Vite build tool and dev server configuration │ └── eslint.config.js # ESLint rules and code quality configuration │ ├── README.md └── desktop.ini ``` ## 技术栈 ### 后端 | 技术 | 用途 | |---|---| | Python 3.x | 核心后端语言 | | Flask / FastAPI | REST API 服务器(位于 `app/` 内) | | AI / ML 模型 | 漏洞分析与修复建议生成 | | SQLite (`settings.db`) | 扫描设置和结果的持久化存储 | | JSON 文件 | 轻量级用户和配置存储 | ### 前端 | 技术 | 用途 | |---|---| | React | 基于组件的 UI 框架 | | Vite | 具备热模块替换 (HMR) 的快速开发服务器 | | Tailwind CSS | 实用优先的 CSS 样式框架 | | PostCSS | CSS 转换和处理 pipeline | | ESLint | 静态代码分析与质量保证工具 | ## 开始使用 ### 前置条件 在继续之前,请确保您的系统已安装以下软件: - Python 3.8 或更高版本 - pip (Python 包管理器) - Node.js 18 或更高版本 - npm(随 Node.js 一起提供) ### 后端设置 1. 导航到后端目录: ``` cd secureai-backend ``` 2. 创建并激活虚拟环境: ``` python3 -m venv venv source venv/bin/activate # On Windows: venv\Scripts\activate ``` 3. 安装所需的 Python 依赖项: ``` pip install -r requirements.txt ``` 4. 根据需要查看并更新配置文件: ``` # 打开 settings.json 以配置 API keys、scan options 和 server parameters ``` ### 前端设置 1. 导航到前端目录: ``` cd secureai-frontend ``` 2. 安装所需的 Node.js 依赖项: ``` npm install ``` ## 运行应用程序 ### 启动后端服务器 从 `secureai-backend` 目录中,在已激活虚拟环境的情况下运行: ``` python run.py ``` 后端 API 服务器将启动并监听传入的请求。默认情况下,它在 `http://localhost:5000` 上运行,除非在 `settings.json` 中另有配置。 ### 启动前端开发服务器 从 `secureai-frontend` 目录中运行: ``` npm run dev ``` React 应用程序将在您的浏览器中通过 `http://localhost:5173` 访问。Vite 开箱即用地提供热模块替换 (HMR),因此对源文件的所有更改都会立即反映在浏览器中,而无需完全重新加载页面。 ### 为生产环境构建前端 ``` npm run build ``` Vite 将为生产环境打包并优化应用程序。输出将被放置在 `secureai-frontend` 内部的 `dist/` 目录中,并且可以由任何静态文件托管服务或 Web 服务器提供服务。 ### 在本地预览生产构建 ``` npm run preview ``` 这将在本地提供生产构建服务,以便您在部署之前验证输出。 ## 前端架构 前端是使用 React 与作为开发和构建工具链的 Vite 构建的。与传统的打包工具相比,Vite 通过在开发过程中利用原生 ES modules,显著缩短了启动和重建时间。 ### React Fast Refresh 该项目使用两个官方 Vite 插件之一来实现 React Fast Refresh,这使得组件能够在开发期间独立重新加载,而不会丢失应用程序状态: - `@vitejs/plugin-react` — 使用 Babel(或者在与 rolldown-vite 一起使用时使用 oxc)实现 Fast Refresh。这是标准且兼容性最广的选项。 - `@vitejs/plugin-react-swc` — 使用基于 Rust 的编译器 SWC,以实现更快的转换速度。推荐用于构建性能是优先考虑事项的较大型项目。 当前启用的插件可以在 `vite.config.js` 中找到并更改。 ### 样式 Tailwind CSS 通过 `tailwind.config.js` 进行配置,并通过 `postcss.config.js` 中定义的 PostCSS pipeline 进行处理。此设置支持实用优先的样式设计,并在生产构建中完全清除未使用的类,从而产生最小的 CSS 包体积。 ### 代码质量 ESLint 在 `eslint.config.js` 中配置了适用于 React 应用程序的规则。可以通过以下方式运行代码检查: ``` npm run lint ``` ## 功能特性 - 基于浏览器的界面,用于配置和启动漏洞扫描 - AI 驱动的后端,用于评估扫描结果并生成可操作的修复建议 - 通过 `users.json` 和 `settings.db` 进行用户身份验证和会话管理 - 持久化的扫描设置和历史记录存储在 SQLite 和 JSON 中 - 使用 React、Vite 和 Tailwind CSS 构建的响应式现代化 UI - 前端开发期间支持热模块替换,实现快速迭代工作流 - 模块化的 Python 后端,具有独立的 `app/` 和 `models/` 目录,便于可扩展开发 - 简洁的 REST API 架构,实现前端和后端关注点的完全分离 - 直接在浏览器中渲染的结构化漏洞报告 ## 漏洞检测范围 该扫描器旨在检测和分析以下类别的安全漏洞: - SQL 注入 - 跨站脚本攻击 (XSS) - 跨站请求伪造 (CSRF) - 服务器端请求伪造 (SSRF) - 不安全的直接对象引用 - 安全配置错误和敏感文件暴露 - 身份验证失效和弱会话管理 - 开放重定向漏洞 - 基于检测到的软件版本匹配已知 CVE ## 工作原理 1. 用户在浏览器中打开 React 前端,并通过 UI 配置扫描目标和选项。 2. 前端通过 REST API 调用将扫描请求发送到 Python 后端。 3. 后端 `app/` 层接收请求,验证输入,并触发扫描逻辑。 4. `models/` 层使用 AI 辅助的漏洞检测技术处理目标。 5. AI 模型分析发现的问题,对严重程度进行分类,并生成人类可读的修复建议。 6. 结果以结构化的 JSON 响应形式返回给前端。 7. 前端在浏览器内以简洁、有条理的报告视图呈现分析结果。 8. 扫描设置和结果被持久化到 `settings.db` 及相关 JSON 文件中,以供将来参考。 ## 配置说明 通过编辑 `secureai-backend` 目录中的 `settings.json` 文件来配置后端。常见的配置选项包括: - API 服务器主机和端口 - AI 模型 API 密钥或本地模型路径 - 扫描超时和深度设置 - 允许的 CORS 来源(应与前端开发和生产环境的 URL 匹配) 用户帐户和访问凭证通过 `users.json` 文件进行管理。 前端环境变量(例如后端 API 基础 URL)可以使用 `secureai-frontend` 目录中的 `.env` 文件进行配置: ``` VITE_API_BASE_URL=http://localhost:5000 ``` Vite 会自动将任何带有 `VITE_` 前缀的变量暴露给客户端应用程序。 ## 为生产环境扩展 ESLint 当前的 ESLint 配置为开发提供了一个坚实的基础。对于生产级应用程序,建议启用带有类型感知 lint 规则的 TypeScript,以实现更强的静态分析和早期错误检测。 要将前端升级到 TypeScript: 1. 请参阅 [Vite React TypeScript 模板](https://github.com/vitejs/vite/tree/main/packages/create-vite/template-react-ts) 以获取推荐的设置。 2. 集成 [typescript-eslint](https://typescript-eslint.io) 以在整个代码库中启用类型感知的 linting 规则。 这是一项可选的增强功能,不会影响当前的功能。 ## 贡献指南 欢迎各种贡献。要为本项目做出贡献: 1. Fork 本仓库 2. 创建一个新的功能分支:`git checkout -b feature/your-feature-name` 3. 使用清晰的消息提交您的更改:`git commit -m "Add your descriptive commit message"` 4. 推送到您的分支:`git push origin feature/your-feature-name` 5. 开启一个 Pull Request,描述您更改了什么以及为什么更改 请确保所有贡献均仅用于合乎道德和经授权的用途。 ## 免责声明 本工具仅用于教育目的、授权的渗透测试和道德安全研究。未经所有者明确书面许可扫描系统、网络或应用程序是非法且不道德的。 作者对因使用本软件而导致的任何滥用、损害或法律后果不承担任何责任。使用本工具即表示您接受对自身行为的全部责任,并确认您已获得进行您发起的任何扫描的必要授权。 ## 作者 Sandhya Kumari GitHub: [SANDHYAKUMARI1504](https://github.com/SANDHYAKUMARI1504)
标签:AI安全, Chat Copilot, CISA项目, DOE合作, Python后端, React前端, REST API, Tailwind CSS, URL发现, Vite, Web安全, 人工智能, 修复建议, 加密, 反取证, 安全检测, 安全评估, 攻击面分析, 浏览器界面, 漏洞扫描器, 用户模式Hook绕过, 网络安全, 自定义脚本, 蓝队分析, 逆向工具, 隐私保护, 风险分类