JoasASantos/NeuroPurple
GitHub: JoasASantos/NeuroPurple
NeuroPurple 是一个基于多模型 Agent 的自主 SOC 与紫队引擎,通过实时监控、威胁狩猎、自动化分诊和对抗模拟实现持续的安全检测与覆盖。
Stars: 0 | Forks: 1
# 🛡️ NeuroPurple
### 自主 SOC 与紫队引擎
**接入你的遥测数据。让 agent 持续进行狩猎、分诊、模拟和检测工程。**




NeuroPurple 是一个多模型、基于 agent 的**防御性**安全引擎。它可接入你的
日志源、告警、EDR/XDR、防火墙、WAF 和 SASE/DLP,并自主运行 SOC
工作负载:**N1 分诊、威胁狩猎、IOC 扩展、对手模拟和检测工程** ——
通过实时监控循环将整个过程变成一个**自主 SOC**。
它是 [NeuroSploit](https://github.com/JoasASantos/NeuroSploit) 的防御性反转。
攻击性引擎并没有被抛弃 —— 它被重新用作检测工程的**真实数据生成器**。
NeuroSploit 的奖励是*达成入侵*,而 NeuroPurple 的奖励是**获得的检测覆盖率,减去
MTTD,再减去沉重的误报惩罚** —— 并且它会**学习**,随着时间推移不断扩充自己的
playbook 库。
```
┌──────────────────────── AUTONOMOUS SOC ────────────────────────┐
│ watch (real-time) → detect a lead → hunt → analyze │
│ ▲ │ │
│ │ enrich (VT/Shodan/…) ◀───────┤ │
│ └────────── incident report (MD/JSON/PDF) ◀┘ │
└───────────────────────────────┬────────────────────────────────┘
│ reward / learn (RL)
┌──────────────────────── PURPLE TEAM ───────────────────────────┐
│ emulate (BAS on-target) → read the log from the source → │
│ did it fire? → write Sigma → re-emulate → vote → promote ✅ │
└─────────────────────────────────────────────────────────────────┘
```
## 为什么选择 NeuroPurple
| | 攻击性 (NeuroSploit) | **NeuroPurple (蓝队 + 紫队)** |
|---|---|---|
| 目标 | 达成入侵 | **检测覆盖率 + 精确度 - MTTD - FP** |
| 世界模型 | 攻击图 (POMDP) | **覆盖率图** (资产 · 遥测 · 规则 · 控制) |
| 目标状态 | "域管权限" | "在 FP 预算内消除盲区" |
| 验证引擎 | exploit 是否生效? | **检测**是否触发? |
| 增长 | 静态 | **自我增长** —— 编写并调整自己的 playbook,学习新技术 |
| 节奏 | 单次交战 | **持续** (实时自主监控) |
## 核心能力
### 🔎 日志分析与调查
- **本地化,无需集成**:拖入 `.log` / `.pcap` / `.evtx` 文件即可分析 —
支持解析 PCAP/PCAPNG (L2–L4 + DNS/HTTP 嗅探)、Windows EVTX、CSV/TSV、JSON/ECS、
CEF、LEEF、Zeek、auditd、Apache/Nginx、syslog。
- **IOC 提取与去特征化** (`hxxp`→`http`, `evil[.]com`→`evil.com`):IPv4、
域名、URL、电子邮件、MD5/SHA1/SHA256、CVE、Windows 路径。
- **定向分析**:传入引导提示;NeuroPurple 会将其路由至最佳
分析算子(或自动生成一个)并撰写分析报告。
### 🎯 智能狩猎 (Agentic)
以告警或假设作为种子。Agent 会提出过滤器,读取工件,
提取 IOC,**在所有来源中进行扩展流转**,并得出带引用的结论 —
在实时 SIEM 或上传的 PCAP 上运行相同的循环。
### 🧭 N1 分诊与服务台
拉取告警(或从 ServiceNow / Jira SM / Zendesk 拉取**工单**),进行丰富,映射到
ATT&CK,给出结论(TP/FP/良性/升级)并提供建议的响应措施 —
由 N 个模型投票验证,从而防止因幻觉关闭操作而漏掉真实的应急响应事件。
### 🧬 威胁情报
针对 **VirusTotal、Shodan、AbuseIPDB、GreyNoise 和 OTX** 丰富指标 —
这些信誉数据会反馈给狩猎/分诊/报告 agent。
### 🧪 静态恶意软件分诊
将其指向可疑的二进制文件;连接 RE **MCP** 服务器 (Ghidra / IDA) 后,
Claude/Codex 会执行静态分析 — 字符串、导入、能力、加壳器、
IOC、ATT&CK 映射、结论 — 无需执行。
### 🟣 紫队循环 (BAS)
**在真实的目标主机上**模拟 ATT&CK 技术(通过 HTTPS 编译的 Rust agent,
使用私有或公共 IP),**直接从源端**读取产生的日志,
检查是否触发了告警,如果没有 — **编写一条 Sigma 检测规则**,重新模拟以
衡量召回率,统计基线误报,并**仅在通过 N 个模型法定人数投票后才进行提升**。在覆盖率较弱的地方提出检测改进建议。
### 📡 实时自主监控
设定一个*限定范围*的关注点(例如*"暴力破解和 LSASS 转储"*)。NeuroPurple 会推导出
低成本的检测查询,并按一定间隔轮询数据源(空闲期间消耗**零
token**),一旦有告警触发,它就会运行完整的**狩猎 → 分析 →
丰富 → 报告** pipeline — 然后继续监控。这就是自主 SOC。
### 🧠 学习 (RL)
严厉惩罚误报的奖励机制,**组合学习**(哪种
算子适合哪种技术),算子**成熟度**追踪,使得生成的
playbook 在得到验证后会获得更高的信任度,此外还有**新技术储备库**:
当遇到没有映射的技术时,它会记录特征说明并
**编写新的 playbook** — 其知识库会自我扩充。
### 📊 覆盖率与报告
POMDP **覆盖率图**(渲染为 Mermaid),以及格式规范的**事件分析
报告**,支持 **Markdown、JSON 和 PDF (Typst)** 格式 — 包含执行摘要、类型准确的
IOC、ATT&CK 杀伤链、时间线、手动狩猎查询 (SPL/KQL/EQL),以及
面向决策的英文最终评估。
### 🔌 数据源 — 连接几乎所有内容
SIEM/日志池、EDR/XDR、防火墙、WAF、SASE/DLP 和工单系统 — 外加一个
**通用 REST connector**,用于接入没有原生 driver 的任何系统。密钥
**绝不存储** — 仅记录环境变量的*名称*。
### 🤖 任意模型
`claude --dangerously-skip-permissions`、`codex exec --dangerously-bypass...`、
Gemini CLI (`--subscription`),或任何 OpenAI 兼容的 API — Anthropic (Opus 5 /
4.8, Sonnet 5)、OpenAI (GPT-5.6 SOL/TERRA/LUNA…)、xAI、DeepSeek、Groq、OpenRouter、
Ollama 等等。多个模型支持故障转移并组成验证投票。
## 安装
```
git clone https://github.com/JoasASantos/NeuroPurple
cd NeuroPurple
./install.sh # builds + installs `neuropurple` to ~/.local/bin
BUILD_AGENT=1 ./install.sh # also build the compiled on-target agent
```
或者直接使用 cargo:`cargo build --release && ./target/release/neuropurple`。
可选的外部工具(自动检测,优雅降级):`sigma` (pySigma)、
`typst` (PDF)、`claude`/`codex` (订阅模型 + MCP)。
## 快速开始
```
# 在本地分析捕获数据 — 无需 model,无需 SIEM
neuropurple analyze incident.pcap
# 通过 agent 叙述进行定向的本地分析
neuropurple analyze auth.log --model anthropic:claude-opus-5 \
--instructions "lead with finance-VLAN impact and crown-jewel techniques"
# 绑定一个 source(仅存储 env-var NAME)
neuropurple connect add lab --backend elastic --url https://es:9200 --token-env ES_API_KEY
# power hunt,自动路由至正确的 operator
neuropurple hunt "beaconing after a PowerShell foothold" --file sysmon.log \
--model anthropic:claude-opus-5
# 跨 TI provider 丰富一个 indicator
neuropurple intel 45.83.12.9
# 跨每个连接的 source 关联单个 indicator
neuropurple correlate 45.83.12.9
# 实时自主 SOC
neuropurple watch "brute force and LSASS dumping" --connector lab --interval 60 \
--model anthropic:claude-opus-5
# 完整的 purple loop(emulate → detect → validate → promote)
neuropurple purple corp --technique T1059.001 --connector lab --vote-n 3 --subscription
# on-target emulation(BAS)
neuropurple bas serve --san 203.0.113.9 --token T
neuropurple bas generate --os rust --server https://203.0.113.9:8443 --token T --insecure -o run-agent.sh
# incident report → Markdown + JSON + PDF
neuropurple report incident.pcap --model anthropic:claude-opus-5 -o out/
# 交互式 session
neuropurple
```
完整指南:**[TUTORIAL.md](TUTORIAL.md)** · 所有 connector、model、MCP
和环境变量:**[INTEGRATION.md](INTEGRATION.md)**。
## 架构
```
crates/harness/ the engine (lib `harness`)
models.rs pool.rs model backend (claude/codex/API) + concurrency/vote
watch.rs real-time autonomous loop
purple.rs emulate → detect → validate → promote
coverage.rs planner.rs coverage graph + gap planner (POMDP, inverted)
emulate.rs bas.rs adversary emulation + on-target agent fabric
detection.rs Sigma IR → KQL/SPL/EQL
connectors.rs sources.rs 30+ sources + local .log/.pcap/.evtx (one query surface)
hunt.rs ioc.rs intel.rs agentic hunt · IOC extraction · threat intel
triage.rs assess.rs N1 triage · control assessment
incident.rs report.rs incident reports (MD/JSON/Typst) · coverage reports
select.rs playbook.rs operator routing · AI playbook generation
rl.rs learning: rewards, combinations, novel-technique backlog
app/ CLI + interactive REPL (bin `neuropurple`)
agent/ compiled on-target emulation agent (bin `neuropurple-agent`)
agents_pp/ markdown operators: analysis/detections/hunts/emulations/triage/controls
examples/ runnable blue-team datasets
```
## 算子 (`agents_pp/`)
算子均为 Markdown 格式 (`## User Prompt` / `## System Prompt`,内置 technique id) —
添加你自己的算子后它们会自动加载。当 NeuroPurple 遇到没有预制算子的
日志/技术时,也会**自行编写**算子。类型:
`analysis · detections · hunts · emulations · triage · controls`。
## 安全与授权
NeuroPurple 专用于**授权的**防御性测试和批准的紫队
靶场环境。模拟算子采用 Atomic-Red-Team 风格 — 它们生成用于
检测的遥测数据,而非用于入侵;破坏性技术仅在** Canary 测试数据上**
运行。目标主机上的 agent 是透明的(真实的主机名/OS,通过 TLS 进行 token 认证,无
规避行为) — 仅在你被授权测试的主机上部署它。模型后端具有
提升的 CLI 权限运行;请在你可控的环境中使用。
## 许可证
MIT。标签:AI智能体, IP 地址批量处理, Rust, 可视化界面, 安全运营中心, 搜索语句(dork), 紫队, 网络安全, 网络映射, 网络流量审计, 自动化威胁狩猎, 通知系统, 隐私保护