NeuroSploit
AI驱动的自主渗透测试框架,让大模型充当你安全测试的智能副驾驶
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
AI驱动的自主渗透测试框架,让大模型充当你安全测试的智能副驾驶
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
凌晨两点,你盯着第47个只域名的扫描报告,眼睛已经花了。甲方要求后天交付,而你的Burp Suite里还躺着三千多条待分析请求——手动翻完几乎不可能,但用传统工具扫一遍,误报率又高得离谱。这是每一位渗透测试工程师都经历过的场景:要么牺牲睡眠,要么牺牲质量。
NeuroSploit正是为解决这个问题而生。它的核心思路很简单:不再让人去操控工具,而是让人去操控AI代理,让AI代理去操控工具。作者Joas Santos设计了一套AI驱动的自主渗透测试框架,让大语言模型担任安全工程师的角色,自动完成从侦察(Reconnaissance)到漏洞利用再到报告生成的完整渗透测试流程。
v3.3.0是该项目的重大架构重构,官方称之为Autonomous MD-Agent Engine。在此之前,NeuroSploit是一个约2500行的Python编排器,将多个LLM SDK混合调用,加上手写的Agent类来完成测试流程。这种设计的问题是:每次新增一种LLM支持,都需要改核心代码;Agent列表是静态的,无法根据目标技术栈动态调整。
新版采用了截然不同的思路——Markdown Agent架构。核心引擎neurosploit_agent/极度精简,orchestrator.py仅约250行,它只做三件事:从agents_md/目录加载Markdown格式的Agent清单,根据目标情报按RL权重排序,选定Agent后组成Master Prompt,交给本地安装的Agentic CLI后端执行。
这种设计带来了三个关键优势。首先是解耦LLM与测试逻辑——后端是抽象接口,目前支持Claude Code、Codex CLI、Grok CLI三种主流Agentic CLI,未来扩展只需新增一个Backend类,无需改动核心逻辑。其次是Agent库可热插拔——Agent不再硬编码为Python类,而是Markdown文件,新增一个漏洞测试场景只需写一个.md文件放入agents_md/vulns/,无需修改任何Python代码。第三是RL驱动的自适应选择——Reinforcement Learning Engine会根据每次测试结果调整Agent权重,发现真实漏洞的Agent权重上升,产生误报的Agent权重下降,权重持久化在data/rl_state.json,随使用次数增加越来越聪明。
项目维护了一个包含213个Markdown Agent的知识库。漏洞专项Agent有196个,覆盖SQL注入、XSS、SSRF、IDOR、API安全、LLM/AI特有漏洞(Prompt Injection、AI Provider Secret Exfiltration)、云原生安全(K8s配置错误)等几乎所有主流渗透测试场景。每个Agent是独立的Markdown文件,包含User Prompt(测试方法论)和System Prompt(严格的防误报规则)。
元Agent有17个,负责测试流程中的元任务:recon负责侦察,exploit_validator独立复现漏洞以获得硬证明,false_positive_filter以对抗性质疑过滤假阳性,severity_assessor进行CVSS 3.1评分,impact_evaluator评估业务风险,reporter生成报告,rl_feedback反馈RL权重更新。
这种流水线分工设计值得学习:exploit_validator不会直接信任Agent报告的漏洞,而是独立构造PoC进行验证。false_positive_filter则以怀疑一切的态度,对每个候选漏洞进行反向论证——如果无法被有效反驳,才会进入最终报告。这是减少误报的核心机制。
RL Engine是该框架中最具技术深度的模块。每次测试完成后,系统根据漏洞发现情况分配奖励:Critical漏洞+1.0,High漏洞+0.7,Medium+0.4,Low+0.2,Info级+0.05。发现假阳性则惩罚-0.3。权重更新使用指数移动平均:new_weight = ALPHA * reward + (1-ALPHA) * old_weight,学习率α=0.3,权重范围钳制在[0.05, 1.0]。
此外,RL Engine还维护了技术栈亲和性——同一个Agent在不同技术栈上的表现可能不同。例如XSS Agent在React技术栈上的权重可能高于在Angular上的权重,这使得系统能针对具体目标做更精准的Agent选择。
Backends模块负责对接本地安装的Agentic CLI工具。核心设计思路是将NeuroSploit定位为Prompt Composer + Artifact Reader,实际自主执行交给专业CLI工具。Claude Code Backend调用claude -p --output-format stream-json,将Master Prompt通过stdin管道传入,支持--model指定模型,支持--mcp-config注入Playwright MCP配置,支持--add-dir扩展工作目录。
订阅模式是亮点——用户通过claude login登录后,NeuroSploit通过Claude Code的订阅模式接入,无需手动配置API Key。
Playwright MCP集成是v3.3.0的又一大特色。通过.mcp.json配置Playwright MCP Server,Agent可以在真实浏览器中执行JavaScript、捕获DOM变化和网络请求。这对测试XSS、DOM-Based XSS、CSTI等纯反射型漏洞至关重要——传统工具只能通过发送特殊字符观察响应,而Playwright MCP可以直接验证这个payload是否真的在浏览器中执行了。
Orchestrator是整个框架的编排中枢。工作流程为:调用recon Meta Agent进行初步侦察,获取目标技术栈信息;根据Recon结果从Agent Library中选取相关性最高的Agent;组成Master Prompt;调用Backend CLI执行自主测试流水线(侦察→漏洞利用→验证→过滤误报→评分→报告);执行完成后读取结果;调用rl_feedback计算奖励并更新RL权重。整个过程完全自主,用户只需提供目标URL,AI接管其余工作。
NeuroSploit提供了完整的Docker Compose部署方案。项目包含两个Dockerfile:Dockerfile.backend(完整版,包含Kali镜像中所有安全工具)和Dockerfile.backend.lite(精简版)。docker-compose.yml定义了backend+frontend两个服务,通过健康检查确保依赖顺序。
backend基于FastAPI构建,暴露REST API和WebSocket实时日志。frontend是Vue 3 + Vite构建的单页应用。最低硬件需求为4GB RAM + 2GB磁盘(不含Kali镜像),完整安全工具生态需要5GB,首次构建耗时约5分钟。
值得注意的设计是.env.example支持配置12种不同的LLM Provider,包括NVIDIA NIM。这意味着即使用户没有Claude API Key,也有大量替代方案可选。
后端框架采用FastAPI + Uvicorn + Pydantic + SQLAlchemy,前端为Vue 3 + Vite + TypeScript。Agent架构为Markdown Agent + Python编排引擎。AI集成覆盖Anthropic Claude SDK、OpenAI SDK、Google Generative AI、xAI Grok、OpenRouter、NVIDIA NIM。浏览器自动化使用Playwright MCP。安全工具生态基于Kali Linux Docker(可选,28个预装工具)。持久化方案为SQLite + JSON状态文件。异步并发使用aiohttp + httpx。
必须正视核心问题:NeuroSploit的能力边界与LLM的局限性高度相关。大语言模型在渗透测试中的已知局限包括:逻辑漏洞检测能力弱(难以理解复杂业务逻辑),加密相关漏洞依赖规则而非理解,复杂多步骤攻击链可能中途迷失。LLM的幻觉问题在安全测试中尤为危险——一个自信满满的已发现漏洞可能完全是模型臆造。
项目通过exploit_validator和false_positive_filter两个Meta Agent尽可能缓解这些问题,但无法完全消除。官方建议在关键场景下将NeuroSploit作为初筛工具,而非最终结论来源。
从合规角度,该项目明确要求使用者拥有目标系统的合法授权渗透测试许可。自动化工具加LLM的组合会大幅降低攻击门槛,项目文档中多次强调仅用于授权测试。
NeuroSploit体现了2025-2026年AI安全工具的一个明确趋势:从LLM辅助工具到LLM自主代理的跃迁。213个Markdown Agent的规模意味着社区可以像贡献Prompt一样贡献Agent,无需理解Python代码即可扩展框架能力——Agent的方法论以Markdown形式存在,易于审计、分享和改进。
从数据看,该项目已有1137 Stars、274 Forks,最新提交为2026年6月15日,活跃度极高。v3.3.0的架构重构代表了AI渗透测试工具从Demo玩具向生产级工具的成熟跨越。