Sibghat-629/CyberAgent-Caldera
GitHub: Sibghat-629/CyberAgent-Caldera
一个基于 AutoGen 和 FastAPI 的多智能体安全框架,集成 Caldera C2,用于自动化网络安全任务编排。
Stars: 0 | Forks: 0
# 🛡️ 网络安全代理:多智能体进攻安全框架
欢迎来到 **Cyber Agent** 项目。这是一个生产级别的多智能体编排系统,旨在利用大型语言模型(LLM)自动化复杂的网络安全任务。构建在微软的 **AutoGen** 之上,它与 **Caldera** 等进攻性安全工具无缝集成,能够执行从 OSINT 研究到自动化 EDR 检测的各种操作。
## 🏗️ 系统架构
该系统采用现代解耦架构,将繁重的智能体编排与用户界面分离。
```
graph TD
User([User]) <--> Dashboard[Frontend Dashboard - Vanilla JS/CSS]
Dashboard <--> API[FastAPI Orchestrator]
subgraph "Backend (Python)"
API <--> Subprocess[Process Manager]
Subprocess <--> AutoGen[AutoGen Framework]
subgraph "Agents"
AutoGen <--> CA[Coordinator Agent]
AutoGen <--> TA[Text Analyst Agent]
AutoGen <--> IA[Internet/Research Agent]
AutoGen <--> CAL[Caldera/Red Team Agent]
end
end
subgraph "External Integration"
IA <--> Web((The Internet))
CAL <--> caldera((Caldera Server))
AutoGen <--> LLM((OpenAI / LLM API))
end
API <--> DB[(logs.db SQLite)]
```
## 🚀 核心特性
- **🤖 智能多智能体握手**:智能体之间动态协作。例如,一个研究智能体可能发现漏洞,分析智能体则会将其总结为表格。
- **⚡ 实时仪表盘**:一个“赛博朋克”风格的终端 UI,用于实时监控智能体活动。
- **🎯 Caldera 集成**:与 Caldera C2 框架直接集成,用于在植入物上执行远程命令。
- **🔍 自动化 OSINT**:智能体可以爬取 CISA 公告、DFIR 报告和 GitHub 仓库,以提取战术、技术和程序(TTP)以及遥测缺口。
- **🛠️ 模块化场景**:易于扩展。定义一个新的任务序列字典即可立即运行。
## 🛠️ 工作原理(“专业-初学者”指南)
### 1. 前端(指挥中心)
前端使用 **Vanilla JavaScript** 和 **CSS** 构建,通过 REST API 与后端通信。它负责:
- **场景选择**:列出所有预定义的智能体工作流。
- **实时日志**:显示智能体对话的“滚动终端”馈送。
- **状态监控**:检查 API 和外部服务器(HTTP/FTP)是否在线。
### 2. 后端(大脑)
后端使用 **FastAPI**。它是浏览器与 Python 智能体之间的桥梁。
- **编排**:点击“运行”时,后端会为该场景启动一个新的 Python 进程。
- **日志管理**:监听智能体输出(`stdout`)并将其发送到前端。
- **持久化**:对话记录存入 `logs.db` SQLite 数据库以确保可审计性。
### 3. 智能体(工作者)
智能体由 **AutoGen** 驱动。可以将它们视为能够互相对话的专用 GPT:
- **任务协调器**:担任“项目经理”,决定下一个由哪个智能体发言。
- **文本分析师**:擅长总结、格式化数据为表格以及“清理”任务。
- **网络智能体**:配备工具以下载文件和搜索网络。
- **Caldera 智能体**:专门通过 Caldera API 在远程目标上执行命令。
## 🔄 工作流程:从点击到结果
1. **选择**:你选择一个场景,例如 `DETECT_EDR`。
2. **握手**:**任务协调器** 启动对话。
3. **研究(网络智能体)**:从 GitHub 下载已知的 EDR 服务名称列表。
4. **枚举(Caldera 智能体)**:在远程 Windows 机器上运行 `Get-Service` 以列出活动服务。
5. **关联(文本分析师)**:比较两个列表,识别是否运行了 `CrowdStrike` 或 `Defender`。
6. **报告**:最终结果以清晰的 Markdown 表格格式呈现在你的仪表盘上。
## 📂 组件分解
| 组件 | 职责 | 技术 |
| :--- | :--- | :--- |
| `api.py` | REST API、静态文件服务与子进程处理。 | FastAPI, Uvicorn |
| `ui/` | 可视化指挥中心。 | HTML5, CSS3, Vanilla JS |
| `agents/` | 不同智能体角色及其提示词的定义。 | Python, AutoGen |
| `actions/` | 食谱书。定义智能体任务序列。 | Python |
| `tools/` | 智能体可“调用”的自定义 Python 函数(网络搜索、HTTP 等)。 | Python |
| `logs.db` | 每次智能体交互的永久历史记录。 | SQLite |
## 🚦 快速开始
### 前置条件
- Python 3.10+
- OpenAI API 密钥(或其他 AutoGen 支持的 LLM 提供商)
### 安装
1. **克隆并设置**:
```bash
git clone
cd cyber-agent
python -m venv .venv
source .venv/bin/activate # Windows 上使用 .venv\Scripts\activate
pip install -r requirements.txt
```
2. **环境变量**:
根据 `.env_template` 创建 `.env` 文件:
```env
OPENAI_API_KEY=your_key_here
CALDERA_URL=http://your-caldera-ip:8888
CALDERA_API_KEY=your_caldera_key
```
3. **运行系统**:
一键启动后端与仪表盘:
```bash
python api.py
```
现在,请访问 **`http://localhost:8000/dashboard`** 即可在浏览器中打开。
## ⚠️ 免责声明
*本工具仅限授权的安全测试和教育用途。请始终确保在运行智能体之前获得相应网络环境的许可。*
*由网络安全代理团队用心打造。❤️*
标签:AV绕过, C2框架, Caldera, DLL 劫持, EDR检测, ESC4, FastAPI, LLM, Microsoft AutoGen, OSINT, Python, SEO关键词, TTP提取, Unmanaged PE, 多智能体, 大语言模型, 威胁情报, 安全学习资源, 开发者工具, 开源安全工具, 情报收集, 无后门, 模块化场景, 漏洞研究, 终端仪表盘, 结构化查询, 网络安全, 自动化安全, 赛博朋克, 进攻安全, 逆向工具, 逆向工程平台, 隐私保护