pmatheus/mas-hunt
GitHub: pmatheus/mas-hunt
基于三层多智能体编排和六项对抗性防御机制的 AI 威胁狩猎系统,以 Claude Code 插件形式实现,支持 SIEM 实时分析与离线证据重放,并产出带证据链的标准化狩猎报告。
Stars: 0 | Forks: 0
# MAS-Hunt
**用于威胁狩猎的弹性 AI 多智能体系统** — Claude Code 可复现性插件
本项目为 Paulo Matheus Nicolau Silva(UnB / PPGEE, 2026)的硕士论文所作。
此插件使任何安装了 Claude Code 的研究人员都能复现 MAS-Hunt 的实验设置。它打包了完整的 3 层 Kagebushin 编排、六种论文实验变体、十一项领域技能、七个专家智能体,以及经过签名的 Hunt Dossier 证据链——涵盖了针对实时 Elasticsearch SIEM 或静态证据文件夹重放论文结果所需的一切。
## 引用
如果您在学术工作中使用了 MAS-Hunt,请引用:
```
@mastersthesis{silva2026mashunt,
author = {Silva, Paulo Matheus Nicolau},
title = {{MAS-HUNT}: A Resilient {AI} Multi-Agent System for Threat Hunting},
school = {Universidade de Bras{\'\i}lia (UnB), Programa de P{\'o}s-Gradua{\c{c}}{\~a}o em Engenharia El{\'e}trica (PPGEE)},
year = {2026},
address = {Bras{\'\i}lia, DF, Brazil},
type = {Professional Master's Thesis},
url = {https://github.com/pmatheus/mas-hunt}
}
```
论文源文件(LaTeX,ABNT 格式)位于此插件目录的父目录中:`../main.tex`(章节位于 `../partes/` 下)。
## 架构概览
MAS-Hunt 是一个 3 层多智能体系统,在控制循环中编织了六项对抗性防御。董事会(Board) deliberates 策略,管理者(Managers)将其分解为清洁上下文的子智能体任务,工作者(Workers)执行单次检测,随后由拥有新鲜记忆的验证者(Validator)团队在任何档案签署前审查结论。
```
[Chairman / Hunt Operator]
│
▼
┌───────────────────────────────────────────────────────┐
│ LAYER 1 — BOARD (5 anonymous roles) │
│ Strategist · Skeptic · Adversary · Auditor · Chair │
│ → Strategic Briefing (.orchestration/board/*.json) │
└───────────────────────────────────────────────────────┘
│ briefing
▼
┌───────────────────────────────────────────────────────┐
│ LAYER 2 — MANAGERS (plan + validate, fresh memory) │
│ Decompose tasks · Spawn workers · Audit verdicts │
└───────────────────────────────────────────────────────┘
│ task envelopes
▼
┌───────────────────────────────────────────────────────┐
│ LAYER 3 — WORKERS (clean-context specialists) │
│ Linux · Windows · macOS · Network · Memory · Report │
└───────────────────────────────────────────────────────┘
│ findings + evidence
▼
┌───────────────────────────────────────────────────────┐
│ ADVERSARIAL DEFENSES (M1–M6) │
│ M1 input sanitization M4 ensemble validation │
│ M2 hypothesis diversity M5 red-team round │
│ M3 tamper detection M6 evidence chain (SHA-256)│
└───────────────────────────────────────────────────────┘
│
▼
Signed Hunt Dossier · ATT&CK Navigator layer
D3FEND remediation map · IOC table · timeline
```
六项防御对应于论文 §5.3 中的机制 M1–M6。消融测试工具(ablation harness)会逐一禁用这些机制,以便审阅者可以复现 §5.4 中“每项机制贡献度”的分析。
## 安装
请根据您的情况选择合适的选项。这三种方式最终都会使 `/hunt` 命令在 Claude Code 中可用。
### 选项 A — 作为 Claude Code 插件(推荐普通用户使用)
```
# 当公开发布时,这一条命令即可安装所有内容:
claude plugin install https://github.com/pmatheus/mas-hunt
# 验证
claude plugin list | grep mas-hunt
```
### 选项 B — 手动软链接(推荐开发者使用)
```
# 1. Clone 论文 repo(其中包含此 plugin)
git clone https://github.com/pmatheus/dissertacao ~/dissertacao
# 2. Symlink 此 plugin 至 Claude Code 的 plugins 目录中
mkdir -p ~/.claude/plugins
ln -s ~/dissertacao/mas-hunt-plugin ~/.claude/plugins/mas-hunt
# 3. 重启 Claude Code 并验证
claude plugin list | grep mas-hunt
```
### 选项 C — 从论文源码树安装
```
# 1. Clone 论文
git clone https://github.com/pmatheus/dissertacao
cd dissertacao/mas-hunt-plugin
# 2. 就地使用该 plugin — Claude Code 会自动发现它,来自
# 若你将其指向此处,`.claude-plugin/plugin.json` 清单。
export CLAUDE_PLUGIN_PATH="$PWD"
claude
```
## 快速开始
查看 MAS-Hunt 端到端运行的最快方式是使用内置的固件(fixture):
```
claude
# 在 Claude Code 中:
/hunt ./tests/fixtures/tiny-evidence
```
该固件是一段 6 行的 syslog 捕获记录,它会执行文件夹模式摄取、M1–M6 防御、单轮狩猎以及 Hunt Dossier 输出——在 Opus 4.7 上通常不到 90 秒即可完成。输出的 dossier 会保存在 `.orchestration/hunt//dossier.md` 中,并附带一条 SHA-256 证据链。
若要针对真实的 SIEM 进行实战演练:
```
/hunt --siem https://elastic.local:9200 --index winlogbeat-* --window 24h
```
## 复现论文实验
该插件将论文中的每种实验变体作为一等命令提供。论文章节/图表与命令的对应关系如下:
| 论文参考 | 变体 | 命令 |
| --- | --- | --- |
| §5.2 — 完整架构 (C1) | C1 full | `/hunt` |
| 表 5.3 — 朴素基线 (C2) | C2 naive | `/hunt-naive` |
| §5.4 — 消融实验 M1–M5 | 关闭 M1 净化 | `/hunt-ablation --condition m1` |
| §5.4 — 消融实验 M1–M5 | 关闭 M2 多样性 | `/hunt-ablation --condition m2` |
| §5.4 — 消融实验 M1–M5 | 关闭 M3 篡改检测 | `/hunt-ablation --condition m3` |
| §5.4 — 消融实验 M1–M5 | 关闭 M4 集成验证 | `/hunt-ablation --condition m4` |
| §5.4 — 消融实验 M1–M5 | 关闭 M5 红队轮次 | `/hunt-ablation --condition m5` |
| §5.5 — 对抗性测试 | 提示词注入测试工具 | `/hunt-adversarial` |
| §5.6 — 完整实验矩阵 | 扫描全部 6 种条件 | `/hunt-experiment` |
| §B.1 — Linux 演练 | 针对 Linux 的完整运行 | `/hunt-linux` |
| §B.2 — Windows 演练 | 针对 Windows 的完整运行 | `/hunt-windows` |
每条命令都会在 `.orchestration/hunt//` 下写入确定性的构建产物,因此结果可在不同机器间复现。每次运行中,结合了检测精确度、召回率、验证者一致性和档案完整性的综合得分将记录在 `metrics.json` 中。
### 复现完整的表 5.x 扫描
```
# 从一个干净的工作目录
/hunt-experiment --runs 5 --conditions c1,c2,m1,m2,m3,m4,m5
```
实验工具会在请求的矩阵上编排 `/hunt-experiment`,并输出一个单独的 `experiment-summary.json`,审阅者可以将其与论文中发布的数值进行差异比对。
## 架构详情
### 董事会角色(第 1 层,论文 §5.1)
董事会包含五个匿名审议角色——战略家(Strategist)、怀疑论者(Skeptic)、对手(Adversary)、审计员(Auditor)和主席(Chair)。每个角色将其立场发布到密封的审议日志中,主席每轮轮换以打破平局动态,且全体一致被视为群体思维(groupthink)的标志,而非高置信度。八项反迎合机制(强制独立、匿名立场、强制挑战配额等)被应用于确保董事会在字面解释模型下保持公正。
### M1–M6 治理机制
| ID | 机制 | 防御对象 |
| --- | --- | --- |
| M1 | 输入净化 | 来自日志内容的间接提示词注入 |
| M2 | 假设多样性 | 过早收敛于单一 TTP |
| M3 | 篡改检测 | 工作者对证据的自我修改 |
| M4 | 集成验证(新鲜记忆) | 验证者被规划上下文捕获 |
| M5 | 红队轮次 | 循环中对手的证伪 |
| M6 | 证据链 (SHA-256) | 事后档案篡改 |
M6 是结构性的,而非智能体层面的——写入 `.orchestration/hunt//` 的每一个产物都会被哈希,并且清单(manifest)会在 dossier 渲染之前进行签名。
### 规则语料库
一个由 SQLite 支持的规则存储库(`data/rules.sqlite`,模式定义见 `skills/hunt-campaign/reference.md`)保存着带有“2 次活动晋升门槛”的检测规则:一条规则必须在至少两次不同的活动中触发,才能从 `staging` 晋升为 `production`。这可以防止一次性误报污染未来的运行,并使语料库可审计。
### MITRE ATT&CK ↔ D3FEND 映射
内置的 `data/d3fend-map.json` 提供了 14 种 ATT&CK 技术 → D3FEND 对策的映射,供 Hunt Dossier 渲染器使用。当发出发现(finding)时,dossier 会同时包含 ATT&CK Navigator JSON 层和相应的 D3FEND 缓解行动手册,以便蓝团队能够在单一的产物中从检测过渡到缓解。
## 依赖项
| 组件 | 要求版本 |
| --- | --- |
| Python | 3.11+ |
| `uv` | 最新版(安装 `hunt-campaign` 包并运行测试) |
| Claude Code | v1.0+(支持插件清单) |
| Elasticsearch | 9+(仅在使用 `--siem` 模式时需要;文件夹模式无 SIEM 要求) |
| 操作系统 | macOS 或 Linux(Windows 可通过 WSL2 运行) |
`tests/fixtures/tiny-evidence` 下的文件夹模式固件在零外部依赖的情况下即可运行——这对于在搭建 Elasticsearch 之前进行快速的审阅者验证非常有用。
## 测试
```
cd skills/hunt-campaign
uv run pytest
# 预期:70 个通过
```
测试套件覆盖了活动循环、证据链完整性、规则晋升逻辑、ATT&CK→D3FEND 映射、M1–M6 机制以及 Hunt Dossier 渲染。
## 仓库布局
```
mas-hunt-plugin/
├── .claude-plugin/
│ ├── plugin.json # Plugin manifest
│ └── marketplace.json # Marketplace registry entry
├── agents/ # 7 specialist agents (board, managers, workers, validator)
├── commands/ # /hunt, /hunt-{linux,windows,naive,ablation,experiment,adversarial}, /kgb
├── skills/ # 11 domain skills (hunt-campaign + 10 supporting)
│ └── hunt-campaign/ # Python package: 14 modules, 70 tests
├── hooks/ # 1 hook (enforce-es-query-safety: PreToolUse:Bash, blocks ES writes)
├── data/
│ └── d3fend-map.json # 14 ATT&CK → D3FEND mappings
├── docs/
│ └── 2026-04-24-hunt-autonomous-design.md # Autonomous loop design spec
├── examples/ # End-to-end run examples
├── tests/
│ └── fixtures/ # tiny-evidence (6-line syslog) + larger reproducibility sets
├── README.md # This file
├── LICENSE # MIT
├── CHANGELOG.md # Version history
└── plugin.json # (legacy alias — manifests live under .claude-plugin/)
```
## 许可证
MIT — 详见 [LICENSE](./LICENSE)。版权所有 (c) 2026 Paulo Matheus。
## 致谢
此插件是在巴西利亚大学 理工学院电气工程研究生项目(PPGEE / PPGENE)答辩的专业硕士论文的可复现产物,答辩时间为 2026 年 9 月。一旦答辩委员会最终确定,导师和答辩委员会的姓名将出现在这里——请参阅论文源码中的 `partes/informacoes.tex` 以获取官方列表。
Kagebushin 3 层编排借鉴了 Silva 等人的 MAS-Hunt(《Engineering Proceedings》2026, 123)的多智能体治理设计,以及先前在对抗性多智能体系统和检索增强威胁狩猎方面的工作。
## 联系方式
问题与可复现性质疑:请在 提交 GitHub issue。学术通信:请通过论文扉页上列出的 UnB PPGEE 项目联系方式与作者取得联系。
标签:AI智能体, Claude, CVE检测, DLL 劫持, Elasticsearch, FTP漏洞扫描, Kagebushin架构, PFX证书, PyRIT, TruffleHog, 人工智能, 代码复现, 多智能体系统, 大语言模型, 子域名变形, 学术研究, 学术论文, 安全编排, 弹性系统, 插件系统, 攻击检测, 无线安全, 用户模式Hook绕过, 硕士论文, 网络安全, 网络安全审计, 网络攻防, 证据链, 逆向工具, 隐私保护, 验证器