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)。路由遵循会话的出站策略,而不是特定模型愿意回答的内容。 - 审计日志采用哈希链。篡改会破坏链条。 ![架构概览](https://raw.githubusercontent.com/amir-hosseinpour/eidolon/main/docs/diagrams/architecture-overview.svg) 每个虚拟机运行一个 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绕过, 自动化编排, 虚拟化, 逆向工具