amir-hosseinpour/eidolon
GitHub: amir-hosseinpour/eidolon
Eidolon 是一个基于 Proxmox 的 AI 驱动渗透测试工作区编排器,通过角色化虚拟机隔离、scope token 约束和三级命令门控,让 AI agent 在可审计的环境中执行攻击性安全任务。
Stars: 1 | Forks: 0
# Eidolon
我开发 Eidolon 是为了在真实的渗透测试中驱动 AI agent,既不会在各项任务之间丢失上下文,也不会淹没在无尽的权限提示中。它是一个用于安全防御工作的基于模板的多虚拟机工作区编排器。
设置流程:准备一台 Proxmox 主机,将其划分为特定角色的虚拟机,然后从你的笔记本电脑上使用 Claude Code 连接到该编排器。AI 负责执行重复性工作。你则负责处理关键决策。
没有 SaaS。没有供应商锁定。不依赖客户。
## 状态
v0.1-rc1。可用但尚处于初期阶段。请将其用于实验室靶机、你拥有的测试任务或已授权的工作中。目前尚未在数百次任务中经过实战检验。
## 适用人群
如果你是一名安全研究员,它会为你提供一个可复现、可观察且易于定制的环境,用于 TTP 验证、恶意软件分析、漏洞利用开发,或针对已知漏洞靶机的攻击性 AI 实验。
如果你是一家公司,想要一个可以复刻的引擎,Eidolon 采用了 MIT 许可证,并专为此而设计。你可以在此基础上构建客户信息录入、合规框架和品牌化报告。你的公司专属工作将保持私密。
## 它不包含什么
它不是扫描器。不是 C2。不是合规产品。不是托管平台。也不是让你直接将其用于付费任务的东西。
企业级工作流(客户隔离、签署的销毁证明、多任务并发、任务记忆、合规映射)存在于复刻版本中。这种分离是有意为之的。通用的基础架构属于上游。针对特定企业的定制内容属于你的复刻版本。
## 工作原理
- 每个角色对应一个虚拟机。侦察、漏洞利用、破解、分析、监听、暂存。每个角色都有其独立的作用域子代理和工具集。
- 每个 agent 操作都带有一个已签名的 scope token。超出范围的操作在触及虚拟机之前,就会在编排器端被拒绝。
- 三个命令层级:autonomous(自主运行)、confirm(需操作者批准)、prohibited(完全阻止)。破坏性操作需要人工把关。
- 与模型无关。LiteLLM 前置接入商业服务提供商(默认为 Gemini)以及本地模型(WhiteRabbitNeo、Foundation Sec 8B、Qwen2.5 Coder)。路由遵循会话的出站策略,而不是特定模型愿意回答的内容。
- 审计日志采用哈希链。篡改会破坏链条。

每个虚拟机运行一个 FastAPI 作业服务器。长耗时任务(破解、扫描)通过 SSE 流式传输进度。操作者笔记本电脑上的 Claude Code 会为每个虚拟机生成一个子代理,并将结果整合在一起。
更多图表请见 [`docs/diagrams/`](docs/diagrams/)。
## 快速开始
```
git clone https://github.com/amir-hosseinpour/eidolon
cd eidolon
pip install -e ".[dev]"
```
在编排器主机上(单人工作时使用你的笔记本电脑即可):
```
eidolon orchestrator init # writes ~/.eidolon/orchestrator-token
eidolon orchestrator start # listens on http://127.0.0.1:8000
```
在操作者笔记本电脑上:
```
eidolon login \
--host http://orch.local:8000/v1 \
--token "$(cat ~/.eidolon/orchestrator-token)"
claude mcp add eidolon eidolon-mcp
```
针对你本地的 Juice Shop 开启一次测试任务:
```
eidolon engage start --slug js-test --purpose pentest
eidolon engage scope \
--target 172.17.0.0/16 \
--permit recon.read \
--tier confirm \
--ttl 4h
eidolon engage provision --template web-app-pentest
```
从 Claude Code 进行驱动:*"使用 `web-app-pentest` 启动一次 Web 应用渗透测试,slug 为 js-test,scope 为 172.17.0.0/16。"* 在决策分支出现时予以批准。
销毁环境(close 保留工作区,erase 彻底清除):
```
eidolon engage teardown # destroy VMs + network
eidolon engage erase # close + teardown + mark erased
```
完整演练指南:[`docs/runbooks/dogfood-web-app.md`](docs/runbooks/dogfood-web-app.md)。
## 文档
| 路径 | 用途 |
|------|---------|
| [`docs/BLUEPRINT-V0.1.md`](docs/BLUEPRINT-V0.1.md) | v0.1 记录计划 |
| [`docs/concepts.md`](docs/concepts.md) | 任务、工作区、scope token、决策分支、密钥、底层架构 |
| [`docs/decision-forks.md`](docs/decision-forks.md) | 五种分支类型、各自的触发时机以及解决者 |
| [`docs/templates.md`](docs/templates.md) | 如何编写任务模板 |
| [`docs/api.md`](docs/api.md) | REST endpoint + MCP 工具参考 |
| [`docs/runbooks/dogfood-web-app.md`](docs/runbooks/dogfood-web-app.md) | 端到端 Web 应用渗透测试运行手册 |
| [`docs/runbooks/dogfood-ad.md`](docs/runbooks/dogfood-ad.md) | 端到端 AD 侦察运行手册 (Proxmox) |
| [`PRD.md`](PRD.md) | 产品需求 |
| [`ROADMAP.md`](ROADMAP.md) | 分阶段发布计划 |
| [`docs/architecture/`](docs/architecture/) | 系统架构、虚拟机规格、路由器、agent |
| [`docs/adr/`](docs/adr/) | 架构决策记录 |
## 复刻版本
Eidolon 就是为了被复刻而构建的。你公司专属的工作可以在不触及核心代码的情况下进行叠加。客户信息录入、合规框架、品牌化报告、客户隔离编排、签署的销毁证明、多任务并发、任务记忆:所有这些都存在于你的复刻版本中,而不在上游。
## 前人成果
我阅读了大量其他人的工作,学到了很多。Eidolon 的一些部分得益于以下项目的启发:
- [CAI](https://github.com/aliasrobotics/CAI) 的 kill chain 分类法和 agent 模式
- [GOAD](https://github.com/Orange-Cyberdefense/GOAD) 的 Proxmox 目标靶场配置
- [PentestGPT](https://github.com/GreyDGL/PentestGPT) 的三模块会话隔离
- [Ghostwriter](https://github.com/GhostManager/Ghostwriter) 的任务数据模型
## 许可证
MIT。详见 [许可证](LICENSE)。
## 安全
如需对 Eidolon 的漏洞进行负责任的披露,请参阅 [SECURITY.md](SECURITY.md)。
标签:人工智能, 安全红队, 工作流, 插件系统, 用户模式Hook绕过, 自动化编排, 虚拟化, 逆向工具