JoasASantos/NeuroPurple

GitHub: JoasASantos/NeuroPurple

NeuroPurple 是一个基于多模型 Agent 的自主 SOC 与紫队引擎,通过实时监控、威胁狩猎、自动化分诊和对抗模拟实现持续的安全检测与覆盖。

Stars: 0 | Forks: 1

# 🛡️ NeuroPurple ### 自主 SOC 与紫队引擎 **接入你的遥测数据。让 agent 持续进行狩猎、分诊、模拟和检测工程。** ![status](https://img.shields.io/badge/status-v0.0.3-8A2BE2) ![rust](https://img.shields.io/badge/built%20with-Rust-orange) ![license](https://img.shields.io/badge/license-MIT-blue) ![mode](https://img.shields.io/badge/mode-Blue%20%2B%20Purple-6f42c1)
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), 紫队, 网络安全, 网络映射, 网络流量审计, 自动化威胁狩猎, 通知系统, 隐私保护