返回更新列表
新发布Aug 24, 2026

NeuroSploit v4.0.0

由AI驱动的渗透测试框架,支持黑盒、白盒、灰盒、主机/云及LLM红队模式;通过跨模型投票和工具凭证验证发现结果。

分享

🧠 NeuroSploit v4.0.0

JoasASantos%2FNeuroSploit | Trendshift

Stars Forks Issues Last commit

自主、多模型渗透测试框架 —— 基于 Rust,纯 CLI。
作者:Joas A Santos & Red Team Leaders

⭐ 如果这个项目对你有用,请给仓库点个 Star —— 这会带来很大帮助。

📖 第一次来?请阅读完整教程与用户指南 → —— 每种模式、标志、配置和示例都有说明。各版本的变更记录见 RELEASE.md


NeuroSploit 将一个 URL、源码仓库、运行中的应用或主机/IP 转变为 一次自主安全评估。一个 Rust 编排框架(tokio)驱动一组 LLM —— 通过 API key 或本地订阅(Claude Code / Codex / Gemini / Grok)—— 对目标进行侦察,智能地只选择与已发现攻击面匹配的智能体, 并行运行它们,将发现串联为更深入的影响, 并在报告之前通过跨模型投票 + 工具凭证锚定来验证每一项声明。 它内置 435 个 markdown 智能体 和一个 Mission Control TUI

演练模式

模式命令功能
黑盒neurosploit run <url>侦察 → 选择 → 利用 → 投票 → 报告
白盒neurosploit whitebox <repo>源码/SAST 审查(file:line 证据)
灰盒neurosploit greybox <repo> --url <app>代码审查 + 实时利用一起进行
主机/基础设施neurosploit host <ip> --creds creds.yamlLinux / Windows / AD 以及云(AWS/GCP/Azure)测试
AI / LLM 红队neurosploit aitest <ai-url>越狱与提示注入 + 针对实时 AI 智能体的 OWASP LLM Top 10 / MCP
AI 技能 / n8nneurosploit skills <file|folder>Skill/插件 与 n8n 工作流定义的白盒审计
Mission Controlneurosploit tui <url>运行期间实时 TUI 面板 + 编辑器
交互式neurosploit持久化 REPL 会话(按项目恢复)

亮点

  • 🧠 POMDP 信念 + 信息价值 —— 目标只是部分可观测的, 因此发现不是布尔值:属性图信念携带概率, “继续扫描 vs 立即利用”由信念熵推导而出。may_assert 门是一条数学上的反幻觉规则(当信念分散时,不要声称可利用)。
  • 🧾 证据锚定 —— 硬性规则:没有凭证就没有声明(是证据,不是 转述)。黑盒/主机/AI 采用经验性(原始工具输出),符号化 (进入被审查源码的 file:line —— 代码引用就是凭证)用于 白盒 SAST 与技能审计,灰盒两者皆可;未被锚定的声明 会被降级。
  • 🔬 确定性 HTTP 探测 —— 在模型侦察前,编排框架会运行 真实的请求/响应分析(状态/重定向、安全头、Cookie 标志、CORS 反射、技术指纹、关联 JS、404 基线、高信号 路径),并将这些观察到的事实送入侦察,因此智能体选择和 利用决策都基于证据 —— 而不是模型的猜测。
  • 🔗 攻击链 —— 任何原语都可 pivot。 13 个多阶段链式智能体 (SQLi→RCE→LPE、SSRF→云凭证、上传→LFI→RCE→LPE、CVE→RCE→pivot、…)外加 一条链式利用教条,可将任意已确认的立足点变成下一步: 把它化简为一种原语(exec / read / write / request-forgery / identity / secret)并 pivot —— 文件上传→RCE、SSRF→元数据凭证、IDOR→接管 —— 复用 掠夺到的凭证并推理业务逻辑(支付/租户/工作流 滥用)。每个阶段都被证明;严格非破坏性(无数据丢失、无数据库 覆盖、无 DoS)。
  • ☁️ 云测试 —— 驱动云服务商 CLI 的 AWS / GCP / Azure 智能体 (aws/gcloud/az)。通过 creds.yaml 连接:AWS 密钥、Google service-account JSON,或 Azure service principal —— 参见 云凭证
  • 🤖 LLM 红队测试 —— 30 个 AI 智能体,在多种场景下对实时 AI 系统进行越狱与提示注入:AdvPrefixPAIRTAPCrescendo、 many-shot、persona/DAN、编码/混淆、拒绝抑制;外加 间接注入(RAG/Web/邮件/工具输出)、目标劫持、 工具/函数调用滥用,以及系统提示词泄露。每个智能体都运行 攻击者→LLM 裁判循环(基线拒绝 → 技术 → 判定),并用 良性、脱敏的凭证证明绕过。映射到 OWASP LLM Top 10(2025)、 MCP 威胁与 OWASP AI Exchange;Skill/插件与 n8n 文件以白盒方式审计。
  • 🧰 错误配置与 CVE 搜寻 → 安全地利用 —— 一条完整的 CVE 流水线: 版本指纹(锁定精确版本)→ 研究分析师(映射到 NVD/GHSA CVE,判断可达性)→ PoC 查找器(定位/审核/改编公开 PoC)→ 利用脚本器(当没有现成 PoC 时编写自定义利用)。每个 PoC 都会写入该次运行的 pocs/ 文件夹并在报告中引用,让 发现可复现。另有荒谬错误配置智能体(暴露的 .git/.env、 debug/actuator、默认凭证、仪表盘、CORS)和速率限制测试 —— 全部 处在严格的数据安全/PII 护栏之下(无破坏性/状态改变 操作;PII 仅用掩码样本证明,绝不转储)。
  • 🎯 重测单个漏洞 —— --only <agent>(可重复 / 逗号分隔)只运行你指定的智能体,并跳过基于侦察的 选择 —— 快速重测单个发现。适用于 run / whitebox / greyboxneurosploit agents 会列出名称。
  • 🔬 白盒保持白盒 —— 代码智能体在静态审查 教条下运行(符号化 file:line 凭证、源到汇污点追踪、清单 版本→CVE),禁止幻觉式的实时/黑盒网络动作,并可 向 pocs/ 输出可复现的 PoC。
  • 🗣️ 自然语言 REPL —— 在交互式会话中,只需用任何语言描述你的 需求:“testa https://loja.com com opus, foco em SQLi, fora de escopo /admin, roda”。混合解析器会设置目标/模型/重点/ 目标/范围外以及开关(Burp、浏览器、投票、侦察深度),并能 启动 —— 常见句式为零 token 的确定性解析,任何含糊之处 回退到模型。无需记忆任何标志。
  • 🔀 CI/CD PR 门禁 —— neurosploit pr <repo> <n> --fail-on critical 审查 pull request,当确认的发现达到/超过阈值时,它使检查失败、 设置 neurosploit/security 提交状态,并发布 REQUEST_CHANGES 审查 —— 这样分支保护就会阻止合并。包含现成的 GitHub Actions 工作流(PR 门禁 + 一个 @neurosploit 提及机器人,当有写入权限者评论时 运行扫描)。参见 集成
  • 🎯 评估目标与范围外 —— 用文字给出目标/背景和硬性 排除项(/objective/scope-out,或 --objective / --out-of-scope);两者都会指导每个智能体的提示词。
  • 📸 报告中的证据截图 —— 智能体为每个发现捕获视觉证据 (evidence/<finding-id>-N.png),并嵌入到 Typst/HTML/Markdown 报告中其漏洞的旁边。
  • 🖥️ 本地、无审查、仅 CPU 的模型 —— ollama:llamacpp: 可在你的机器上 运行整个评估,无需 API key数据也不会离开 主机llamacpp:llama-server 的 OpenAI 兼容端点 (LLAMACPP_BASE_URL,默认 localhost:8080)通信;model 就是你加载的任意 gguf。 非常适合离线/气隙环境以及不受过滤的攻击性提示。
  • 🕵️ Burp/ZAP 代理 —— /proxy <url>(或 /burp)将智能体流量 路由到你的本地拦截代理,以便在 Burp 中检查与重放。
  • 🗺️ 攻击图与杀伤链 —— 发现映射到 OWASP / CWE / MITRE ATT&CK / 阶段;在报告中以 Mermaid 图渲染。
  • 跨模型验证 —— 每个发现由不同模型裁决; RL 加权、侦察感知的智能体选择。
  • 🛰️ Mission Control TUI —— 实时标题/动态/发现/目标面板 + 一个 可在运行流式输出时输入的编辑器(summarypause、…)。
  • 💾 按项目记忆 —— <cwd>/.neurosploit/ 保存会话、运行历史和 命令历史;REPL 在重新打开时恢复。无需数据库。
  • 🪙 Token/成本遥测,按智能体归因,优雅的 Ctrl-C → 报告或 丢弃,生成 Typst/HTML/JSON/MD 报告。

这是精简、仅 Rust 的发行版(neurosploit-rs/ + agents_md/)。 更早的 Python 引擎和 Web GUI 位于旧的 v3.4.0 分支上。


📦 安装(一行)

Linux / macOS (x64 & arm64):```bash curl -fsSL https://raw.githubusercontent.com/JoasASantos/NeuroSploit/main/setup.sh | bash

**Windows** (PowerShell, x64 & arm64):```powershell
irm https://raw.githubusercontent.com/JoasASantos/NeuroSploit/main/install.ps1 | iex

支持的平台

操作系统x64arm64
Linux(推荐 Kali)
macOS✅(Apple Silicon)
Windows

纯 Rust + 标准库,因此只要有稳定的 Rust 工具链,就可以在任何地方原生构建。 安装程序会自动检测操作系统/架构,并在缺少时安装 Rust。在原生 Windows 上 使用 install.ps1;在 WSL2 / Git Bash 下,setup.sh 一行命令同样适用。

安装程序会在需要时自动安装 Rust,将仓库克隆到 ~/.neurosploit, 构建 release 二进制,并将 neurosploit 链接到 ~/.local/bin。随时重新运行 以更新。可通过环境变量进行调整:NEUROSPLOIT_REF(分支/标签)、 NEUROSPLOIT_DIRPREFIX

更想手动构建?```bash git clone https://github.com/JoasASantos/NeuroSploit && cd NeuroSploit/neurosploit-rs cargo build --release # → target/release/neurosploit

## ⚡ 快速开始(60秒)```bash
# easiest path — just run it; the interactive session asks everything:
neurosploit

# or one-liner (subscription login, no API key needed):
neurosploit run http://testphp.vulnweb.com/ --subscription --model anthropic:claude-opus-4-8 -v

# white-box — review a source repository (SAST agents, file:line evidence):
git clone https://github.com/digininja/DVWA /tmp/DVWA
neurosploit whitebox /tmp/DVWA --subscription --model anthropic:claude-opus-4-8 -v

# grey-box — review the code AND exploit the running app together:
neurosploit greybox /tmp/DVWA --url http://localhost:8080/ --creds creds.yaml \
  --subscription --model anthropic:claude-opus-4-8 --mcp -v

# host / infra — Linux / Windows / Active Directory (SSH/Win creds in creds.yaml):
neurosploit host 10.0.0.10 --creds creds.yaml --subscription --model anthropic:claude-opus-4-8 -v

# 🛰  Mission Control TUI — live panels (header/feed/findings/targets) + a composer
#    you can type in WHILE the run streams (summary · pause · errors · notes):
neurosploit tui http://testphp.vulnweb.com/ --subscription --model anthropic:claude-opus-4-8 --mcp

每种模式(black/white/grey/host)的完整分步说明见 TUTORIAL.md

没有登录?改用 API 密钥 即可 — 参见 认证


🖥️ Web 控制台(v4.0.0 新增)

一个用于同一 harness 的浏览器 UI — 每个操作都会启动真正编译的 CLI 并解析其输出;浏览器中不会重新实现任何 harness 逻辑。```bash cd neurosploit-rs && cargo build --release # once node web/server.js # → http://localhost:4173

- **5 步式任务向导** — 资产(模式 + 目标/仓库)→ 范围与认证(目标、重点、
  范围外)→ 线索(下文的 435 个代理面板)→ 模型与运行(提供商/模型选择器、
  API 密钥与订阅切换、投票/链深度/侦察)→ 审查。每次任务都会预先命名,
  因此运行记录在历史中可通过名称识别,而非仅靠原始目标字符串。
- **线索看板** — 全部 435 个代理自动分类(业务逻辑、访问控制失效、
  注入、LLM 应用、认证与会话、SSRF 与网络、云与基础设施……)。可切换单个
  线索或整个类别(部分选中时为半选状态),或使用 **全选 / 全部清除**——
  该操作遵循当前生效的搜索过滤器。全部关闭时,则交由 harness 自身
  基于侦察驱动的选择来挑选。
- **自定义线索 → 真实代理** — “+ 自定义线索”不只是添加文本提示:它会调用
  `claude` CLI(Opus,使用你的 Anthropic 订阅)生成真正的专家代理
  markdown 文件到 `agents_md/vulns/`,格式与所有内置代理一致,可立即置顶。
  若 Claude 不可用,则回退为纯文本的重点提示。
- **实时运行视图** — 阶段/进度通过 SSE 从 CLI 自身的 stdout 流式传输,包含发现
  结果表格,以及**生成式攻击路径链接**:节点/边图(根节点 = 目标,每个已确认
  发现对应一个节点,按攻击链阶段定位,当 harness 设置了 `chains_from` 时
  以其为边),而非平面列表——点击任意节点或行可查看完整发现详情,
  包括利用代理写入 `pocs/` 的任何 PoC 脚本。
- **认证与密钥**(统一菜单)— 目标认证头 + 用于 IDOR/BOLA/BFLA 测试的命名角色
  (为本次运行生成临时的 `creds.yaml`),以及各提供商的 API 密钥,仅保存在
  服务器进程内存中——绝不写入磁盘。
- 支持页面刷新:进行中的运行会重新连接到同一实时流,而不是
  重置回向导。

完整 API 参考:**[web/API.md](https://github.com/joasasantos/neurosploit/blob/HEAD/web/API.md)** · 快速开始:**[web/README.md](https://github.com/joasasantos/neurosploit/blob/HEAD/web/README.md)**。

---

## 🔌 集成(GitHub · GitLab · Jira)

将 NeuroSploit 接入你的 SDLC。可通过 REPL(`/integrations`)或 CLI
(`neurosploit integrations enable github|gitlab|jira`)切换。**令牌绝不会被存储**
——仅保存环境变量的*名称*;其值从你的环境中读取。```bash
export GITHUB_TOKEN=ghp_...                 # PAT with `repo` scope (private repos)
neurosploit integrations enable github

# Review a Pull Request's code (clones the PR head, white-box) and comment back:
neurosploit pr digininja/DVWA 42 --subscription --model anthropic:claude-opus-4-8 --comment

# Same, but BLOCK the merge on a confirmed critical: fails the check, sets a
# `neurosploit/security` commit status, and posts a REQUEST_CHANGES review.
neurosploit pr digininja/DVWA 42 --model anthropic:claude-opus-4-8 --comment --fail-on critical

# Watch a branch and re-review on every new commit:
neurosploit watch myorg/private-app --branch main --subscription --model anthropic:claude-opus-4-8

# Private GitLab repo (token-injected clone) — works in whitebox/greybox:
export GITLAB_TOKEN=glpat-... ; neurosploit integrations enable gitlab
neurosploit whitebox https://gitlab.com/myorg/private-svc --subscription --model anthropic:claude-opus-4-8

# Open a Jira card per finding (any engagement):
export [email protected] JIRA_API_TOKEN=...      # set base/project once: /integrations setup jira
neurosploit whitebox https://github.com/myorg/app --jira --subscription --model anthropic:claude-opus-4-8
集成你能得到什么环境变量
GitHub私有克隆 · pr 审查 + 评论 · PR 门禁--fail-on:使检查失败 + 提交状态 + REQUEST_CHANGES)· watch 分支GITHUB_TOKEN
GitLab用于白盒/灰盒的私有克隆GITLAB_TOKEN
Jira每个发现一张卡片(--jiraJIRA_EMAIL, JIRA_API_TOKEN

自动化(GitHub Actions)

examples/github-actions/ 中附带两个现成的工作流——将它们复制 到你的仓库中:

  • neurosploit-pr-gate.yml — 审查每个 PR,并在确认严重问题时阻止合并。 使其强制执行:设置 → 分支 → 要求 neurosploit-pr-gate 状态检查(和/或要求审查以遵守 REQUEST_CHANGES)。在 Actions 密钥中设置 ANTHROPIC_API_KEY(或更换模型); 内置的 GITHUB_TOKEN 负责状态/审查。
  • neurosploit-mention.yml — 在 PR 或 issue 上评论 @neurosploit 以 触发扫描(仅仓库写入者可以)。提及后的文本就是 指令(任何语言):@neurosploit focus SQLi and IDOR,或 @neurosploit scan https://staging.app 进行黑盒运行。

📖 每个工具的逐步设置:TUTORIAL-INTEGRATION.md


☁️ 云凭证(AWS/GCP/Azure)

creds.yaml 中添加云配置块,工具会导出正确的环境变量,以便 AWS/GCP/Azure 代理可以驱动 aws / gcloud / az。密钥保留在你的文件/密钥管理器中;代理会先进行只读枚举,绝不进行破坏性操作。```yaml

--- AWS: static keys (or a named profile) ---

aws: access_key_id: AKIA... secret_access_key: ...

session_token: ... # if using temporary creds

region: us-east-1

profile: my-sso-profile # alternative to keys

--- GCP: service-account JSON (path recommended; inline single-line also works) ---

gcp: service_account_json: /path/to/sa.json project: my-project-id

--- Azure: service principal (recommended for automation) ---

azure: tenant_id: ... client_id: ... client_secret: ... subscription_id: ...

I don't see any content after "INPUT:" in your message. There's nothing to translate. Could you resend the chunk with the Markdown content included?```bash
neurosploit host my-cloud-account --creds creds.yaml \
  --subscription --model anthropic:claude-opus-4-8 -v

Agents 涵盖 IAM 权限提升、存储暴露(S3/GCS/Blob)、计算与 网络暴露、机密(Secrets Manager / Secret Manager / Key Vault)、 服务账号/SP 滥用,以及身份枚举(Entra ID)。最佳实践 认证方式:AWS 访问密钥或配置文件;GCP 服务账号 JSON (GOOGLE_APPLICATION_CREDENTIALS);Azure 服务主体 (az login --service-principal)。


👥 多个身份 — 访问控制测试(IDOR / BOLA / BFLA)

creds.yaml 中为 NeuroSploit 提供两个或更多命名角色,它将分别 以每个角色进行身份验证,并测试跨角色访问(低权限角色访问其他用户的 对象或管理功能即视为发现):```yaml admin: jwt: eyJ... # per role: jwt | header (raw) | cookie | apikey | login+username+password user: apikey: abc123 # → X-Api-Key: abc123 victim: cookie: "session=deadbeef"

请提供需要翻译的 Markdown 内容。```bash
neurosploit run https://app.example --creds creds.yaml \
  --subscription --model anthropic:claude-opus-4-8 -v

每个发现均通过授权 vs 未授权请求对进行验证,并置于数据安全护栏(只读、PII 脱敏)之下。

🏷️ 识别与归属(反抄袭)

每个请求都带有用于识别的 User-Agent(默认 NeuroSploit/<ver> …,可通过 /uaNEUROSPLOIT_UA 更改)以及 X-NeuroSploit-Scan 请求头,每个发现都会盖章为“Identified and validated by NeuroSploit” —— 因此来源信息会随流量、发现文本、findings.json 以及报告页脚一起传递。


构建```bash

cd neurosploit-rs cargo build --release # → target/release/neurosploit

需要 Rust 工具链(`rustup`)。**推荐:在 Kali Linux 上运行**(或
Kali Docker 镜像),这样代理使用的攻击性工具已经就绪:```bash
docker run -it --rm kalilinux/kali-rolling
apt update && apt install -y curl nmap ffuf nodejs npm
# rustscan (faster port scan): cargo install rustscan   (or grab a release from GitHub)

代理会优雅降级:如果未安装 rustscan,则使用 nmap;如果 两者都没有,则使用 curl 进行探测。若存在可用的 Playwright MCP 浏览器, 则将其用于重度依赖 JS 的页面,否则回退到 curl


用法

不带任何参数运行,即可启动交互式向导:```bash ./target/release/neurosploit

或者直接运行它:```bash
# Black-box — subscription (no API key), Opus, browser via Playwright if present, verbose
./target/release/neurosploit run http://testphp.vulnweb.com/ \
    --subscription --model anthropic:claude-opus-4-8 --mcp -v

# Black-box — API keys, multi-model voting panel (1st finds, others adjudicate)
./target/release/neurosploit run http://testphp.vulnweb.com/ \
    --model anthropic:claude-opus-4-8 --model openai:gpt-5.1 --vote-n 3

# White-box — clone a vulnerable app and review its source
git clone https://github.com/digininja/DVWA /tmp/DVWA
./target/release/neurosploit whitebox /tmp/DVWA \
    --subscription --model anthropic:claude-opus-4-8 -v

# Offline pipeline self-test (no keys/login needed)
./target/release/neurosploit run http://testphp.vulnweb.com/ --offline

# Utilities
./target/release/neurosploit agents     # library counts
./target/release/neurosploit models      # providers & models
./target/release/neurosploit --help        # full help with examples

选项(run / whitebox

标志含义
--model provider:model可重复。第一个为主模型;其余作为故障转移 组成投票评审团。
--subscription使用本地 CLI 登录(Claude/Codex/Gemini/Grok)而不是 API 密钥。
--mcp启用 Playwright MCP(通过 npx 自动配置;不支持 MCP 的后端使用内置工具)。
--vote-n N需要多少模型同意某个发现为真(默认 3 / whitebox 为 2)。
--max-agents N限制运行的 agent 数量(0 = 所有匹配侦察结果的 agent)。
--offline在不调用任何模型的情况下运行完整流程。
-v, --verbose记录每个 agent 启动、执行侦察和投票的过程。

身份验证 — 通过 API 密钥 订阅运行

你可以通过两种方式运行 NeuroSploit。两者相互独立:每次运行时选择一种。

1) 通过 API(提供商 API 密钥)

导出模型面板中提供商的密钥,然后 --subscription 运行。任何兼容 OpenAI 的提供商都可以。```bash

pick one or more, depending on the models you select

export ANTHROPIC_API_KEY=sk-ant-... # anthropic:claude-* export OPENAI_API_KEY=sk-... # openai:gpt-* export GEMINI_API_KEY=AIza... # gemini:gemini-* export XAI_API_KEY=xai-... # xai:grok-* export NVIDIA_NIM_API_KEY=nvapi-... # nvidia_nim:* export DEEPSEEK_API_KEY=... # deepseek:* export MISTRAL_API_KEY=... # mistral:* export DASHSCOPE_API_KEY=... # qwen:* (Alibaba DashScope) export GROQ_API_KEY=... # groq:* export TOGETHER_API_KEY=... # together:* export MOONSHOT_API_KEY=... # moonshot:* (Kimi K3/K2) export OPENROUTER_API_KEY=... # openrouter:* export OPENCODE_API_KEY=... # opencode:* (OpenCode Zen gateway) export NOUS_API_KEY=... # nous:* (Nous Portal — Hermes) export LITELLM_API_KEY=... # litellm:* (your LiteLLM proxy) export AZURE_OPENAI_API_KEY=... # azure: (also set AZURE_OPENAI_ENDPOINT)

ollama / llamacpp need no key (local)

then run via API (note: NO --subscription)

./target/release/neurosploit run http://testphp.vulnweb.com/
--model anthropic:claude-opus-4-8 --vote-n 3 -v

multi-provider voting panel via API (1st finds, the others adjudicate)

./target/release/neurosploit run http://testphp.vulnweb.com/
--model anthropic:claude-opus-4-8 --model openai:gpt-5.1 --model gemini:gemini-2.5-pro

或者把密钥放进 `.env` 并 source 它(`cp .env.example .env`;编辑;`set -a; . ./.env; set +a`)。

**Provider → 环境变量 → 端点**(全部兼容 OpenAI):

| `--model` 前缀 | 环境变量 | 基础 URL |
|------------------|---------|----------|
| `anthropic:` | `ANTHROPIC_API_KEY` | api.anthropic.com |
| `openai:` | `OPENAI_API_KEY` | api.openai.com |
| `gemini:` | `GEMINI_API_KEY` | generativelanguage.googleapis.com |
| `xai:` | `XAI_API_KEY` | api.x.ai |
| `nvidia_nim:` | `NVIDIA_NIM_API_KEY` | integrate.api.nvidia.com |
| `deepseek:` | `DEEPSEEK_API_KEY` | api.deepseek.com |
| `mistral:` | `MISTRAL_API_KEY` | api.mistral.ai |
| `qwen:` | `DASHSCOPE_API_KEY` | dashscope-intl.aliyuncs.com |
| `groq:` | `GROQ_API_KEY` | api.groq.com |
| `together:` | `TOGETHER_API_KEY` | api.together.xyz |
| `moonshot:` | `MOONSHOT_API_KEY` | api.moonshot.ai |
| `openrouter:` | `OPENROUTER_API_KEY` | openrouter.ai |
| `opencode:` | `OPENCODE_API_KEY` | opencode.ai/zen(OpenCode Zen 网关) |
| `nous:` | `NOUS_API_KEY` | inference-api.nousresearch.com(Hermes 4) |
| `litellm:` | `LITELLM_API_KEY` | 你的 LiteLLM 代理(`LITELLM_BASE_URL`,默认 localhost:4000) |
| `azure:` | `AZURE_OPENAI_API_KEY` | 你的 Azure OpenAI 资源(`AZURE_OPENAI_ENDPOINT`) |
| `ollama:` | _(无)_ | localhost:11434 |
| `llamacpp:` | _(无)_ | localhost:8080 |

运行 `./target/release/neurosploit models` 可查看完整的 provider/model 列表。

> **本地、无审查、仅限 CPU** — `ollama:` 和 `llamacpp:` 完全在你的机器上运行,
> 无需 API 密钥,数据也不会离开主机。`llamacpp:` 面向
> [`llama-server`](https://github.com/ggml-org/llama.cpp) OpenAI 兼容
> 端点(可用 `LLAMACPP_BASE_URL` 覆盖);`model` 就是你加载的任何 gguf。
> 非常适合离线任务和无过滤的攻击性提示。

#### 2) 通过订阅(无需 API 密钥)

`--subscription` 直接使用你本地的 agentic-CLI 登录状态,而非 API 密钥 —
请先安装并登录其中一个 CLI:

| `--model` 前缀 | 使用的 CLI | 登录 |
|------------------|----------|-------|
| `anthropic:` | `claude`(Claude Code) | `claude` 然后 `/login` |
| `openai:` | `codex` | `codex` login |
| `gemini:` | `gemini` | `gemini` login |
| `xai:` | `grok` | `grok` login |
| `opencode:` | `opencode` | `opencode` auth login`(或 TUI 中的 `/connect`)— Zen/plan 账户 |
| `nous:` | `hermes` | `hermes` setup --portal` — Nous Portal OAuth |

`opencode:` 也像 anthropic/openai 一样支持 Playwright MCP(`--mcp`)。
`nous:` 则依靠 Hermes 自身内置的工具集(web/terminal/computer-use)— 它没有 CLI 级别的 MCP 钩子。```bash
./target/release/neurosploit run http://testphp.vulnweb.com/ \
    --subscription --model anthropic:claude-opus-4-8 --mcp -v

工作原理```

target ─▶ recon (curl/nmap/…) ─▶ INTELLIGENT agent selection (recon-aware) ─▶ parallel exploitation ─▶ cross-model validation vote ─▶ severity/score ─▶ report (HTML + Typst PDF) ─▶ RL reward update

每次运行都会写入一个自包含的文件夹 `runs/ns-<ts>-<target>/`:

| 文件 | 内容 |
|------|----------|
| `status.json` | `running` → `complete` 并附带摘要 |
| `recon.json` / `recon.md` | 映射的攻击面 |
| `exploitation.md` | 每个代理的原始记录 |
| `findings.json` / `findings.md` | 已验证的发现(可供其他工具/AI 复用) |
| `report.html`, `report.typ`, `report.pdf` | 最终报告(PDF 通过 Typst 引擎生成) |

强化学习奖励存储(`data/rl_state_rs.json`)会影响代理
在后续运行中的选择。

## 代理库 — `agents_md/` (435)

| 类别 | 数量 | 用途 |
|----------|-------|---------|
| `vulns/` | 245 | 利用特定漏洞类别(Web/API) |
| `code/` | 78 | 白盒源代码(SAST)审查 |
| `ai/` | 30 | AI/LLM 红队测试、越狱、MCP 威胁 |
| `infra/` | 34 | 主机/云:Linux、Windows、AD、AWS/GCP/Azure |
| `meta/` | 23 | 编排器、验证器、评分器、报告器、RL |
| `chains/` | 13 | 多阶段攻击链(SQLi→RCE→LPE、SSRF→云等) |
| `recon/` | 12 | 信息收集 / 攻击面 |

每个代理都是自包含的 Markdown 操作手册(`## User Prompt` 方法论 +
`## System Prompt` 严格的反误报规则)。将新的 `.md` 放入
匹配的文件夹——或从 Web 控制台的“+ Custom lead”(见上文)生成一个——工具链
会自动识别;`neurosploit agents` 显示实时数量。

---

## 安全

仅限**授权**测试。代理被指示保持在范围内,绝不运行
破坏性/DoS 操作,并要求提供利用证明。你有责任
确保对任何目标拥有权限。

## 致谢

**Joas A Santos** & **Red Team Leaders**。

## 许可证

MIT。

分类