人工智能驱动的自主渗透测试平台
NeuroSploit v3 是一款先进的安全评估平台,结合了 AI 驱动的自主代理、100 种漏洞类型、每次扫描隔离的 Kali Linux 容器、误报加固、漏洞链以及现代化的 React 网页界面,实现实时监控。
亮点
- 涵盖10个类别的100种漏洞类型,配备AI驱动的测试提示
- 自主代理 - 三流并行渗透测试(侦察 + 初级测试员 + 工具运行)
- 按扫描 Kali 容器------每个扫描都运行在独立的 Docker 容器中
- 反幻觉流程------负面控制、执行证明、信心评分
- 利用链引擎------自动链状分析结果(SSRF->内部,SQLi->DB 特定等)
- WAF检测与旁通------16种WAF特征码,12种旁路技术
- 智能策略适配------死端检测、收益递减、优先级重新计算
- 多提供者大型语言模型 - Claude、GPT、Gemini、Ollama、LMStudio、OpenRouter
- 实时仪表盘------基于WebSocket的实时扫描进展、发现和报告
- 沙盒仪表盘------实时监控运行中的Kali容器、工具、健康检查
目录
快速入门
选项1:Docker (推荐)
# Clone repository
git clone https://github.com/your-org/NeuroSploitv2.git
cd NeuroSploitv2
# Copy environment file and add your API keys
cp .env.example .env
nano .env # Add ANTHROPIC_API_KEY, OPENAI_API_KEY, or GEMINI_API_KEY
# Build the Kali sandbox image (first time only, ~5 min)
./scripts/build-kali.sh
# Start backend
uvicorn backend.main:app --host 0.0.0.0 --port 8000
选项二:手动设置
# Backend
pip install -r requirements.txt
uvicorn backend.main:app --host 0.0.0.0 --port 8000 --reload
# Frontend (new terminal)
cd frontend
npm install
npm run dev
构建Kali沙盒图片
# Normal build (uses Docker cache)
./scripts/build-kali.sh
# Full rebuild (no cache)
./scripts/build-kali.sh --fresh
# Build + run health check
./scripts/build-kali.sh --test
# Or via docker-compose
docker compose -f docker/docker-compose.kali.yml build
访问网页界面时可选择 http://localhost:8000 (生产版本)或 http://localhost:5173(开发者模式)。
建筑
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 (13 routers)
│ │ ├── scans.py # Scan CRUD + pause/resume/stop
│ │ ├── agent.py # AI Agent control
│ │ ├── agent_tasks.py # Scan task tracking
│ │ ├── dashboard.py # Stats + activity feed
│ │ ├── reports.py # Report generation (HTML/PDF/JSON)
│ │ ├── scheduler.py # Cron/interval scheduling
│ │ ├── vuln_lab.py # Per-type vulnerability lab
│ │ ├── terminal.py # Terminal agent (10 endpoints)
│ │ ├── sandbox.py # Sandbox container monitoring
│ │ ├── targets.py # Target validation
│ │ ├── prompts.py # Preset prompts
│ │ ├── vulnerabilities.py # Vulnerability management
│ │ └── settings.py # Runtime settings
│ ├── core/
│ │ ├── autonomous_agent.py # Main AI agent (~7000 lines)
│ │ ├── vuln_engine/ # 100-type vulnerability engine
│ │ │ ├── registry.py # 100 VULNERABILITY_INFO entries
│ │ │ ├── payload_generator.py # 526 payloads across 95 libraries
│ │ │ ├── ai_prompts.py # Per-vuln AI decision prompts
│ │ │ ├── system_prompts.py # 12 anti-hallucination prompts
│ │ │ └── testers/ # 10 category tester modules
│ │ ├── validation/ # False-positive hardening
│ │ │ ├── negative_control.py # Benign request control engine
│ │ │ ├── proof_of_execution.py # Per-type proof checks (25+ methods)
│ │ │ ├── confidence_scorer.py # Numeric 0-100 scoring
│ │ │ └── validation_judge.py # Sole authority for finding approval
│ │ ├── request_engine.py # Retry, rate limit, circuit breaker
│ │ ├── waf_detector.py # 16 WAF signatures + bypass
│ │ ├── strategy_adapter.py # Mid-scan strategy adaptation
│ │ ├── chain_engine.py # 10 exploit chain rules
│ │ ├── auth_manager.py # Multi-user auth management
│ │ ├── xss_context_analyzer.py # 8-context XSS analysis
│ │ ├── poc_generator.py # 20+ per-type PoC generators
│ │ ├── execution_history.py # Cross-scan learning
│ │ ├── access_control_learner.py # Adaptive BOLA/BFLA/IDOR learning
│ │ ├── response_verifier.py # 4-signal response verification
│ │ ├── agent_memory.py # Bounded dedup agent memory
│ │ └── report_engine/ # OHVR report generator
│ ├── models/ # SQLAlchemy ORM models
│ ├── db/ # Database layer
│ ├── config.py # Pydantic settings
│ └── main.py # FastAPI app entry
│
├── core/ # Shared core modules
│ ├── llm_manager.py # Multi-provider LLM routing
│ ├── sandbox_manager.py # BaseSandbox ABC + legacy shared sandbox
│ ├── kali_sandbox.py # Per-scan Kali container manager
│ ├── container_pool.py # Global container pool coordinator
│ ├── tool_registry.py # 56 tool install recipes for Kali
│ ├── mcp_server.py # MCP server (12 tools, stdio)
│ ├── scheduler.py # APScheduler scan scheduling
│ └── browser_validator.py # Playwright browser validation
│
├── frontend/ # React + TypeScript Frontend
│ ├── src/
│ │ ├── pages/
│ │ │ ├── HomePage.tsx # Dashboard with stats
│ │ │ ├── AutoPentestPage.tsx # 3-stream auto pentest
│ │ │ ├── VulnLabPage.tsx # Per-type vulnerability lab
│ │ │ ├── TerminalAgentPage.tsx # AI terminal chat
│ │ │ ├── SandboxDashboardPage.tsx # Container monitoring
│ │ │ ├── ScanDetailsPage.tsx # Findings + validation
│ │ │ ├── SchedulerPage.tsx # Cron/interval scheduling
│ │ │ ├── SettingsPage.tsx # Configuration
│ │ │ └── ReportsPage.tsx # Report management
│ │ ├── components/ # Reusable UI components
│ │ ├── services/api.ts # API client layer
│ │ └── types/index.ts # TypeScript interfaces
│ └── package.json
│
├── docker/
│ ├── Dockerfile.kali # Multi-stage Kali sandbox (11 Go tools)
│ ├── Dockerfile.sandbox # Legacy Debian sandbox
│ ├── Dockerfile.backend # Backend container
│ ├── Dockerfile.frontend # Frontend container
│ ├── docker-compose.kali.yml # Kali sandbox build
│ └── docker-compose.sandbox.yml # Legacy sandbox
│
├── config/config.json # Profiles, tools, sandbox, MCP
├── data/
│ ├── vuln_knowledge_base.json # 100 vuln type definitions
│ ├── execution_history.json # Cross-scan learning data
│ └── access_control_learning.json # BOLA/BFLA adaptive data
│
├── scripts/
│ └── build-kali.sh # Build/rebuild Kali image
├── tools/
│ └── benchmark_runner.py # 104 CTF challenges
├── agents/base_agent.py # BaseAgent class
├── neurosploit.py # CLI entry point
└── requirements.txt
</code></span></span></span></span>
自主代理
AI代理()自主协调整个渗透测试。autonomous_agent.py
三流并行架构
notranslate
<span style="background-color:#f6f8fa"><span style="color:#1f2328"><span style="color:#1f2328"><span style="background-color:#f6f8fa"><code> ┌─────────────────────┐
│ Auto Pentest │
│ Target URL(s) │
└────────┬────────────┘
│
┌──────────────┼──────────────┐
▼ ▼ ▼
┌──────────────┐ ┌──────────────┐ ┌──────────────┐
│ Stream 1 │ │ Stream 2 │ │ Stream 3 │
│ Recon │ │ Junior Test │ │ Tool Runner │
│ ─────────── │ │ ─────────── │ │ ─────────── │
│ Crawl pages │ │ Test target │ │ Nuclei scan │
│ Find params │ │ AI-priority │ │ Naabu ports │
│ Tech detect │ │ 3 payloads │ │ AI decides │
│ WAF detect │ │ per endpoint│ │ extra tools │
└──────┬───────┘ └──────┬───────┘ └──────┬───────┘
│ │ │
└────────────────┼────────────────┘
▼
┌─────────────────────┐
│ Deep Analysis │
│ 100 vuln types │
│ Full payload sets │
│ Chain exploitation │
└─────────┬───────────┘
▼
┌─────────────────────┐
│ Report Generation │
│ AI executive brief │
│ PoC code per find │
└─────────────────────┘
</code></span></span></span></span>
代理自治模块
| 模块 | 描述 |
|---|---|
| 请求引擎 | 重试时有回退、每个主机的速率限制、断路器、自适应超时 |
| WAF探测器 | 16个WAF签名(Cloudflare、AWS、Akamai、Imperva等),12种绕过技术 |
| 策略适配器 | 死端检测、收益递减、403旁通、优先级重计算 |
| 链式发动机 | 10条链规则(SSRF->内部,SQLi->DB 专属,LFI->config,IDOR 模式传输) |
| 认证管理器 | 多用户上下文(user_a、user_b、管理员)、登录表单检测、会话管理 |
扫描功能
- 暂停 / 继续 / 带检查点的停止
- 人工验证------确认或拒绝AI发现
- 已确认发现截图(剧作家)
- 跨扫描学习------历史成功率影响未来的优先事项
- CVE测试------正则表达式检测+AI生成的有效载荷
100种漏洞类型
类别
| 类别 | 类型 | 示例 |
|---|---|---|
| 注入 | 38 | XSS(反射/存储/DOM)、SQLi、NoSQLi、命令注入、SSTI、LDAP、XPath、CRLF、头部注入、日志注入、GraphQL注入 |
| 检查 | 21 | 安全头部、CORS、点击劫持、信息披露、调试端点、错误披露、源代码暴露 |
| AI驱动 | 41 | BOLA、BFLA、IDOR、竞赛条件、业务逻辑、JWT作、OAuth 漏洞、原型污染、WebSocket 劫持、缓存中毒、HTTP 请求走私 |
| 认证 | 8 | 身份验证绕过、会话固定、凭证填充、密码重置漏洞、多重认证绕过、默认凭证 |
| 授权 | 6 | BOLA、BFLA、IDOR、权限升级、强制浏览、功能级访问控制 |
| 文件访问 | 5 | LFI、RFI、路径遍历、文件上传、XXE |
| 请求伪造 | 4 | SSRF、CSRF、云元数据、DNS 重新绑定 |
| 客户端 | 8 | CORS、点击劫持、开放重定向、DOM 破坏、原型污染、PostMessage、CSS 注入 |
| 基础设施 | 6 | SSL/TLS、HTTP 方法、子域接管、主机头、CNAME 劫持 |
| 云/供应 | 4 | 云元数据、S3 桶配置错误、依赖混淆、第三方脚本 |
有效载荷发动机
- 526个有效载荷,分布于95个库
- 73个XSS存储有效载荷+5个上下文特定数据集
- 带有反幻觉指令的类型 AI 决策提示
- WAF自适应有效载荷转换(12种技术)
卡利沙盒系统
每次扫描都运行在独立的Kali Linux Docker容器中,提供:
- 完全隔离------同时扫描之间无干扰
- 按需工具 - 仅在需要时安装56个工具
- 自动清理------扫描完成时销毁的容器
- 资源限制------每个容器内存(2GB)和CPU(2核心)限制
预装工具(28)
| 类别 | 工具 |
|---|---|
| 扫描仪 | 核、NAABU、HTTPX、NMAP、Nikto、MassCan、WhatWeb |
| 发现 | Subfinder、Katana、DNSX、Uncover、FFUF、GoBuster、Waybackurls |
| 开发 | Dalfox,SQLMAP |
| 系统 | curl、wget、git、python3、pip3、go、jq、dig、whois、openssl、netcat、bash |
按需工具(另外28个)
首次请求时自动安装于容器内:
- APT有:wpscan、dirb、hydra、john、hashcat、testssl、sslscan、enum4linux、dnsrecon、amass、medusa、crackmapexec等。
- Go: gau, gitleaks, anew, httprobe
- Pip:dirsearch、wfuzz、arjun、wafw00f、sslyze、commix、Trufflehog、retire
集装箱池
notranslate
<span style="background-color:#f6f8fa"><span style="color:#1f2328"><span style="color:#1f2328"><span style="background-color:#f6f8fa"><code>ContainerPool (global coordinator, max 5 concurrent)
├── KaliSandbox(scan_id="abc") → docker: neurosploit-abc
├── KaliSandbox(scan_id="def") → docker: neurosploit-def
└── KaliSandbox(scan_id="ghi") → docker: neurosploit-ghi
</code></span></span></span></span>
- 时间线执行------集装箱在60分钟后自动销毁
- 孤儿清理------服务器启动时已移除陈旧容器
- 优雅的备份------如果 Docker 不可用,则会退回到共享容器
反幻觉与验证
NeuroSploit采用多层验证流程来消除误报:
验证流水线
notranslate
<span style="background-color:#f6f8fa"><span style="color:#1f2328"><span style="color:#1f2328"><span style="background-color:#f6f8fa"><code>Finding Candidate
│
▼
┌─────────────────────┐
│ Negative Controls │ Send benign/empty requests as controls
│ Same behavior = FP │ -60 confidence if same response
└─────────┬───────────┘
▼
┌─────────────────────┐
│ Proof of Execution │ 25+ per-vuln-type proof methods
│ XSS: context check │ SSRF: metadata markers
│ SQLi: DB errors │ BOLA: data comparison
└─────────┬───────────┘
▼
┌─────────────────────┐
│ AI Interpretation │ LLM with anti-hallucination prompts
│ Per-type system msgs │ 12 composable prompt templates
└─────────┬───────────┘
▼
┌─────────────────────┐
│ Confidence Scorer │ 0-100 numeric score
│ ≥90 = confirmed │ +proof, +impact, +controls
│ ≥60 = likely │ -baseline_only, -same_behavior
│ <60 = rejected │ Breakdown visible in UI
└─────────┬───────────┘
▼
┌─────────────────────┐
│ Validation Judge │ Final verdict authority
│ approve / reject │ Records for adaptive learning
└─────────────────────┘
</code></span></span></span></span>
反幻觉系统提示
12个可组合提示应用于7个任务上下文:
anti_hallucination- 核心真实性指令proof_of_execution- 要求确凿证据negative_controls- 与良性请求进行比较anti_severity_inflation- 准确的严重程度评级access_control_intelligence- BOLA/BFLA数据比较方法论
访问控制自适应学习
- 记录各领域 BOLA/BFLA/IDOR 的 TP/FP 结果
- 9种默认响应模式,6种已知的FP模式(WSO2、Keycloak等)
- 历史FP率影响未来置信度评分
网页图形界面
页面
| 页面 | 路线 | 描述 |
|---|---|---|
| 仪表盘 | / |
统计概览、严重程度分布、近期活动动态 |
| 自动渗透测试 | /auto |
一键自主渗透测试,支持3流实时显示 |
| Vuln实验室 | /vuln-lab |
按类型进行漏洞测试(100种类型,11个类别) |
| 终端代理 | /terminal |
AI驱动的交互式安全聊天+工具执行 |
| 沙盒 | /sandboxes |
实时 Docker 容器监控 + 管理 |
| 人工智能代理 | /scan/new |
手动扫描创建及提示选择 |
| 扫描详情 | /scan/:id |
带自信徽章的发现,暂停/继续/停止 |
| 调度器 | /scheduler |
Cron/间隔自动扫描调度 |
| 报告 | /reports |
HTML/PDF/JSON 报表生成与查看 |
| 背景设定 | /settings |
LLM 提供者、模型路由、功能切换 |
沙盒仪表盘
对每次扫描的Kali容器进行实时监控:
- 池统计 - 活跃/最大容器、Docker 状态、TTL
- 容量条 - 视觉使用率指示器
- 每个容器的卡片------名称、扫描链接、运行时间、安装工具、状态
- **作------**健康检查、销毁(确认)、清理过期/孤儿
- 实时更新的5秒自动轮询
API 参考
基础网址
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 |
停止扫描 |
POST |
/scans/{id}/pause |
暂停扫描 |
POST |
/scans/{id}/resume |
简历扫描 |
DELETE |
/scans/{id} |
删除扫描 |
人工智能代理
| 方法 | 终点 | 描述 |
|---|---|---|
POST |
/agent/run |
发射自主智能体 |
GET |
/agent/status/{id} |
获取代理状态+发现 |
GET |
/agent/by-scan/{scan_id} |
通过扫描ID获取代理 |
POST |
/agent/stop/{id} |
停车代理 |
POST |
/agent/pause/{id} |
暂停代理 |
POST |
/agent/resume/{id} |
简历代理 |
GET |
/agent/findings/{id} |
获取详细发现 |
GET |
/agent/logs/{id} |
获取特工日志 |
沙盒
| 方法 | 终点 | 描述 |
|---|---|---|
GET |
/sandbox |
列表容器+池状态 |
GET |
/sandbox/{scan_id} |
健康检查容器 |
DELETE |
/sandbox/{scan_id} |
销毁容器 |
POST |
/sandbox/cleanup |
清理过期容器 |
POST |
/sandbox/cleanup-orphans |
移除孤儿容器 |
调度器
| 方法 | 终点 | 描述 |
|---|---|---|
GET |
/scheduler |
列出预定任务 |
POST |
/scheduler |
创建定时工作 |
DELETE |
/scheduler/{id} |
删除任务 |
POST |
/scheduler/{id}/pause |
暂停工作 |
POST |
/scheduler/{id}/resume |
简历工作 |
脆弱性实验室
| 方法 | 终点 | 描述 |
|---|---|---|
GET |
/vuln-lab/types |
按类别列出100种类型 |
POST |
/vuln-lab/run |
运行按类型进行漏洞测试 |
GET |
/vuln-lab/challenges |
列表挑战跑 |
GET |
/vuln-lab/stats |
检测率统计 |
报告与仪表盘
| 方法 | 终点 | 描述 |
|---|---|---|
POST |
/reports |
生成报告 |
POST |
/reports/ai-generate |
AI驱动报告 |
GET |
/reports/{id}/view |
查看HTML报告 |
GET |
/dashboard/stats |
仪表盘统计 |
GET |
/dashboard/activity-feed |
近期活动 |
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/{scan_id}
</code></span></span></span></span>
事件:, , ,scan_started``progress_update``finding_discovered``scan_completed``scan_error
API 文档
互动文档可访问:
- 自信界面:
http://localhost:8000/api/docs - ReDoc:
http://localhost:8000/api/redoc
配置
环境变量
# LLM API Keys (at least one required)
ANTHROPIC_API_KEY=your-key
OPENAI_API_KEY=your-key
GEMINI_API_KEY=your-key
# Local LLM (optional)
OLLAMA_BASE_URL=http://localhost:11434
LMSTUDIO_BASE_URL=http://localhost:1234
OPENROUTER_API_KEY=your-key
# Database
DATABASE_URL=sqlite+aiosqlite:///./data/neurosploit.db
# Server
HOST=0.0.0.0
PORT=8000
DEBUG=false
配置/config.json
{
"llm": {
"default_profile": "gemini_pro_default",
"profiles": { ... }
},
"agent_roles": {
"pentest_generalist": { "vuln_coverage": 100 },
"bug_bounty_hunter": { "vuln_coverage": 100 }
},
"sandbox": {
"mode": "per_scan",
"kali": {
"enabled": true,
"image": "neurosploit-kali:latest",
"max_concurrent": 5,
"container_ttl_minutes": 60
}
},
"mcp_servers": {
"neurosploit_tools": {
"transport": "stdio",
"command": "python3",
"args": ["-m", "core.mcp_server"]
}
}
}
发展
后端
pip install -r requirements.txt
uvicorn backend.main:app --reload --host 0.0.0.0 --port 8000
# API docs: http://localhost:8000/api/docs
前端
cd frontend
npm install
npm run dev # Dev server at http://localhost:5173
npm run build # Production build
构建卡利沙盒
./scripts/build-kali.sh --test # Build + health check
MCP服务器
python3 -m core.mcp_server # Starts stdio MCP server (12 tools)
安全通知
该工具仅用于授权的安全测试。
- 只有你拥有或明确获得书面许可测试的系统才能测试
- 遵循负责任的披露行为
- 遵守所有适用的法律法规
- 未经授权访问计算机系统是非法的
技术栈
| 层 | 技术 |
|---|---|
| 后端 | Python、FastAPI、SQLAlchemy、Pydantic、aiohttp |
| 前端 | React 18、TypeScript、TailwindCSS、Vite |
| 人工智能/大型语言模型 | 拟人克劳德、OpenAI GPT、谷歌双子座、Ollama、LMStudio、OpenRouter |
| 沙盒 | Docker, Kali Linux, ProjectDiscovery suite, Nmap, SQLMap, Nikto |
| 工具 | Nuclei、Naabu、httpx、Subfinder、Katana、FFuf、Gobuster、Dalfox |
| 下 | Docker Compose, MCP Protocol, Playwright, APScheduler |
NeuroSploit v3 - 人工智能驱动的自主渗透测试平台