NeuroSploit v3
具有 Web 图形用户界面的 AI 驱动渗透测试平台
NeuroSploit v3 是一个先进的安全评估平台,它将人工智能驱动的漏洞测试与现代化的 Web 界面相结合。它采用提示驱动测试,根据自然语言指令动态确定要测试的漏洞。
v3 版本新增功能
- Web GUI - 用于扫描管理、实时监控和报告的现代化 React 界面
- 动态漏洞引擎- 基于快速分析测试 50 多种漏洞类型
- 基于提示的测试------人工智能从自然语言提示中提取漏洞类型
- 实时仪表盘- 基于 WebSocket 的扫描期间实时更新
- 多种输入模式------单个URL、逗号分隔的URL或文件上传
- 预设提示- 即用型安全测试配置文件
- 导出报告- HTML、PDF 和 JSON 导出格式
- Docker 部署- 使用 Docker Compose 进行一键部署
目录
快速入门
选项 1:Docker(推荐)
# Clone repository
git clone https://github.com/CyberSecurityUP/NeuroSploit.git
cd NeuroSploit
# Copy environment file and add your API keys
cp .env.example .env
nano .env # Add ANTHROPIC_API_KEY or OPENAI_API_KEY
# Start with Docker Compose
./start.sh
# or
docker-compose up -d
**访问http://localhost:3000**上的 Web 界面
选项 2:手动设置
# Backend
cd backend
python3 -m venv venv
source venv/bin/activate
pip install -r requirements.txt
uvicorn backend.main:app --host 0.0.0.0 --port 8000
# Frontend (new terminal)
cd frontend
npm install
npm run dev
特征
核心能力
| 特征 | 描述 |
|---|---|
| 动态测试 | 涵盖 10 个类别的 50 多种漏洞类型 |
| 提示驱动 | AI从自然语言中提取测试类型 |
| 网页界面 | 具有实时更新功能的现代化 React 控制面板 |
| 多输入 | 单个URL、批量URL或文件上传 |
| 预设提示 | 漏洞赏金计划、OWASP Top 10、API 安全等等 |
| 出口报告 | HTML、PDF、JSON,并带有专业样式 |
| WebSocket 更新 | 实时扫描进度和结果 |
| Docker 就绪 | 一键部署 |
漏洞类别
| 类别 | 漏洞类型 |
|---|---|
| 注射 | XSS(反射型/存储型/DOM)、SQL注入、NoSQL注入、命令注入、SSTI、LDAP、XPath |
| 文件访问 | LFI、RFI、路径遍历、文件上传、XXE |
| 请求伪造 | SSRF、CSRF、云元数据访问 |
| 验证 | 绕过身份验证、JWT 篡改、会话锁定、OAuth 漏洞 |
| 授权 | IDOR、BOLA、BFLA、权限升级 |
| API 安全性 | 速率限制、质量分配、GraphQL注入 |
| 逻辑缺陷 | 竞态条件、业务逻辑、工作流旁路 |
| 客户端 | CORS配置错误、点击劫持、开放重定向、WebSocket |
| 信息披露 | 错误披露、源代码暴露、调试端点 |
| 基础设施 | 安全标头、SSL/TLS 问题、HTTP 方法 |
建筑学
notranslate
<span style="background-color:#f6f8fa"><span style="color:#1f2328"><span style="color:#1f2328"><span style="background-color:#f6f8fa"><code>NeuroSploitv3/
├── backend/ # FastAPI Backend
│ ├── api/v1/ # REST API endpoints
│ │ ├── scans.py # Scan CRUD operations
│ │ ├── targets.py # Target validation
│ │ ├── prompts.py # Preset prompts
│ │ ├── reports.py # Report generation
│ │ ├── dashboard.py # Dashboard stats
│ │ └── vulnerabilities.py # Vulnerability management
│ ├── core/
│ │ ├── vuln_engine/ # Dynamic vulnerability testing
│ │ │ ├── engine.py # Main testing engine
│ │ │ ├── registry.py # Vulnerability registry
│ │ │ ├── payload_generator.py
│ │ │ └── testers/ # Category-specific testers
│ │ ├── prompt_engine/ # Prompt parsing
│ │ │ └── parser.py # Extract vuln types from prompts
│ │ └── report_engine/ # Report generation
│ │ └── generator.py # HTML/PDF/JSON export
│ ├── models/ # SQLAlchemy ORM models
│ ├── schemas/ # Pydantic validation schemas
│ ├── services/ # Business logic
│ └── main.py # FastAPI app entry
│
├── frontend/ # React Frontend
│ ├── src/
│ │ ├── pages/ # Page components
│ │ │ ├── HomePage.tsx # Dashboard
│ │ │ ├── NewScanPage.tsx # Create scan
│ │ │ ├── ScanDetailsPage.tsx
│ │ │ ├── ReportsPage.tsx
│ │ │ └── ReportViewPage.tsx
│ │ ├── components/ # Reusable components
│ │ ├── services/ # API client
│ │ └── store/ # Zustand state
│ └── package.json
│
├── docker/ # Docker configuration
│ ├── Dockerfile.backend
│ ├── Dockerfile.frontend
│ └── nginx.conf
│
├── docker-compose.yml
├── start.sh
└── .env.example
</code></span></span></span></span>
Web 图形用户界面
仪表盘(首页)
- 统计概览- 总扫描次数、漏洞严重程度分类、成功率
- 严重程度分布- 危重/高危/中危/低危结果可视化图表
- 近期扫描结果- 快速访问最新扫描结果
- 最新发现------最新发现的漏洞
新扫描页
目标输入模式:
- 单个 URL - 输入一个目标 URL
- 多个网址- 以逗号分隔的列表
- 文件上传- 上传包含 URL 的 .txt 文件(每行一个 URL)
提示选项:
- 预设提示 - 从现成的配置文件中选择:
- 全面渗透测试
- OWASP Top 10
- API 安全评估
- 漏洞赏金猎人
- 快速安全扫描
- 身份验证测试
- 自定义提示- 编写您自己的测试说明
- 无提示- 运行所有可用测试
扫描详情页
- 进度条- 实时扫描进度
- 已发现的端点- 已找到的路径和 URL 列表
- 漏洞- 实时发现并标注严重程度
- 活动日志- 通过 WebSocket 进行的实时扫描事件
报告页面
- 报告列表- 所有已生成的报告及其元数据
- 查看报告- 浏览器内 HTML 查看器
- 导出选项- 下载为 HTML、PDF 或 JSON 格式
- 删除报告- 删除旧报告
API 参考
基本 URL
notranslate
<span style="background-color:#f6f8fa"><span style="color:#1f2328"><span style="color:#1f2328"><span style="background-color:#f6f8fa"><code>http://localhost:8000/api/v1
</code></span></span></span></span>
终点
扫描
| 方法 | 端点 | 描述 |
|---|---|---|
POST |
/scans |
创建新扫描 |
GET |
/scans |
列出所有扫描结果 |
GET |
/scans/{id} |
获取扫描详情 |
POST |
/scans/{id}/start |
开始扫描执行 |
POST |
/scans/{id}/stop |
停止运行扫描 |
DELETE |
/scans/{id} |
删除扫描 |
GET |
/scans/{id}/endpoints |
获取已发现的端点 |
GET |
/scans/{id}/vulnerabilities |
获取已发现的漏洞 |
目标
| 方法 | 端点 | 描述 |
|---|---|---|
POST |
/targets/validate |
验证网址 |
POST |
/targets/upload |
上传URL文件 |
提示
| 方法 | 端点 | 描述 |
|---|---|---|
GET |
/prompts/presets |
列出预设提示 |
GET |
/prompts/presets/{id} |
获取预设详情 |
POST |
/prompts/parse |
解析自定义提示 |
报告
| 方法 | 端点 | 描述 |
|---|---|---|
GET |
/reports |
列出所有报告 |
GET |
/reports/{id} |
获取报告详情 |
GET |
/reports/{id}/download |
下载报告 |
DELETE |
/reports/{id} |
删除报告 |
仪表板
| 方法 | 端点 | 描述 |
|---|---|---|
GET |
/dashboard/stats |
获取仪表板统计信息 |
GET |
/dashboard/recent-scans |
获取最新扫描结果 |
GET |
/dashboard/recent-findings |
获取最新漏洞 |
WebSocket
notranslate
<span style="background-color:#f6f8fa"><span style="color:#1f2328"><span style="color:#1f2328"><span style="background-color:#f6f8fa"><code>ws://localhost:8000/ws/{scan_id}
</code></span></span></span></span>
事件:
scan_started扫描已开始scan_progress- 进度更新(百分比)endpoint_found- 发现新的端点vulnerability_found发现新的漏洞scan_completed扫描完成scan_error- 发生错误
漏洞引擎
工作原理
- 提示解析- 分析用户提示信息中的漏洞关键词
- 类型提取- 已识别的相关漏洞类型
- 测试人员选择- 从注册表中加载合适的测试人员
- 有效载荷生成- 生成上下文感知有效载荷
- 测试执行- 针对目标端点运行的测试
- 搜索结果报告- 通过 WebSocket 实时发送结果
提示示例
notranslate
<span style="background-color:#f6f8fa"><span style="color:#1f2328"><span style="color:#1f2328"><span style="background-color:#f6f8fa"><code>"Test for SQL injection and XSS vulnerabilities"
→ Extracts: sql_injection, xss_reflected, xss_stored
"Check for OWASP Top 10 issues"
→ Extracts: All major vulnerability types
"Look for authentication bypass and IDOR"
→ Extracts: auth_bypass, idor, bola
"Find server-side request forgery and file inclusion"
→ Extracts: ssrf, lfi, rfi, path_traversal
</code></span></span></span></span>
添加自定义测试人员
创建一个新的测试人员backend/core/vuln_engine/testers/:
from .base_tester import BaseTester, TestResult
class MyCustomTester(BaseTester):
"""Custom vulnerability tester"""
async def test(self, url: str, endpoint: str, params: dict) -> list[TestResult]:
results = []
# Your testing logic here
return results
注册方式backend/core/vuln_engine/registry.py:
VULNERABILITY_REGISTRY["my_custom_vuln"] = {
"name": "My Custom Vulnerability",
"category": "custom",
"severity": "high",
"tester": "MyCustomTester",
# ...
}
配置
环境变量
# .env file
# LLM API Keys (at least one required for AI-powered testing)
ANTHROPIC_API_KEY=your-anthropic-api-key
OPENAI_API_KEY=your-openai-api-key
# Database (default is SQLite)
DATABASE_URL=sqlite+aiosqlite:///./data/neurosploit.db
# Server Configuration
HOST=0.0.0.0
PORT=8000
DEBUG=false
预设提示
可用预设/api/v1/prompts/presets:
| ID | 姓名 | 描述 |
|---|---|---|
full_pentest |
全面渗透测试 | 对所有类别进行全面测试 |
owasp_top10 |
OWASP Top 10 | 重点关注 OWASP Top 10 漏洞 |
api_security |
API 安全性 | API 特定安全测试 |
bug_bounty |
漏洞赏金猎人 | 对赏金计划具有重大影响的发现 |
quick_scan |
快速安全扫描 | 快速必要的安全检查 |
auth_testing |
身份验证测试 | 身份验证和会话安全 |
发展
后端开发
cd backend
python3 -m venv venv
source venv/bin/activate
pip install -r requirements.txt
# Run with hot reload
uvicorn backend.main:app --reload --host 0.0.0.0 --port 8000
# API docs available at http://localhost:8000/docs
前端开发
cd frontend
npm install
npm run dev
# Build for production
npm run build
运行测试
# Backend tests
cd backend
pytest
# Frontend tests
cd frontend
npm test
从 v2 升级
v3 是完全重写的版本,采用了全新的架构。主要区别:
| 特征 | v2 | v3 |
|---|---|---|
| 界面 | 仅限命令行界面 | Web GUI + API |
| 漏洞测试 | 硬编码(XSS、SQLi、LFI) | 动态 50 多种类型 |
| 测试选拔 | 手动的 | 提示驱动 |
| 进度更新 | 终端输出 | WebSocket 实时 |
| 报告 | HTML 文件 | 网页查看器 + 导出 |
| 部署 | Python脚本 | Docker Compose |
迁移: v3 是一个独立的安装程序。您的 v2 配置和结果不兼容。
安全通知
此工具仅供授权的安全测试使用。
- 仅测试您拥有或已获得书面许可的系统。
- 遵循负责任的信息披露实践
- 遵守所有适用的法律法规
- 未经授权访问计算机系统属于违法行为。
NeuroSploit v3 -人工智能驱动的渗透测试平台