ShohamBH/Incident-Command-Simulator
GitHub: ShohamBH/Incident-Command-Simulator
基于多智能体 AI 架构的事件响应模拟系统,通过 DevOps、后端和安全三个专业智能体协同分析模拟故障场景,辅助团队进行事件响应培训和演练。
Stars: 0 | Forks: 0
# 🚨 事件指挥模拟器 - 多智能体 AI 系统
一个具有多提供商 AI 支持的专业事件响应模拟系统,包含用于 DevOps、后端和安全分析的专用智能体。
## 🎯 功能
- **LangChain ReAct 智能体**:实现了 LangChain 的 create_react_agent 框架以实现智能工具使用
- **多智能体架构**:DevOps、后端和安全智能体独立分析事件
- **AI 驱动的分析**:使用 Google Gemini AI Studio 作为主要提供商,OpenAI 作为备用
- **智能工具执行**:智能体自动选择并执行相关工具进行分析
- **CTO 执行摘要**:AI 生成的综合事件评估和建议
- **基于 Web 的仪表板**:专业的 Streamlit 界面,用于实时监控
- **实时状态**:在每个智能体分析事件时提供实时更新
- **报告管理**:保存和检索历史事件报告
- **可配置事件**:选择随机或特定的事件类型
- **状态持久化**:所有事件和分析均带有时间戳并以 JSON 格式保存
## 📋 前置条件
- Python 3.8+
- Google Gemini API 密钥 (用于主要 AI 访问)
- 可选的 OpenAI API 密钥 (用于备用支持)
## 🚀 安装
1. **克隆/导航到项目目录**
cd "Incident Command Simulator"
2. **安装依赖**
pip install -r requirements.txt
3. **设置环境变量**
- 将 `.env.example` 复制到项目根目录并重命名为 `.env`
- 添加你的 Gemini AI Studio 密钥,并可选地添加 OpenAI 密钥:
GEMINI_API_KEY=your_gemini_key_here
OPENAI_API_KEY=your_openai_key_here
## 💻 运行应用程序
### 选项 1:Web 仪表板 (推荐)
```
streamlit run app.py
```
这将在 `http://localhost:8501` 打开一个专业的 Web 界面
### 选项 2:终端模式
```
python main.py
```
运行模拟并将报告保存到 `logs/`
## 📊 工作原理
### 事件流程
1. **事件生成**:系统选择或加载一个事件场景
2. **智能体分析**:三个专用智能体从各自的领域视角进行分析:
- 🔧 **DevOps 智能体**:基础设施、网络、系统健康状况
- ⚙️ **后端智能体**:应用逻辑、数据库、服务依赖
- 🔐 **安全智能体**:安全威胁、漏洞、访问控制
3. **CTO 综合**:执行层总结发现并提供行动计划
4. **报告生成**:保存带有时间戳的完整分析
### 可用事件
- 网络中断
- 勒索软件攻击
- 钓鱼邮件
- 磁盘故障
- 打印机故障
- 软件 Bug
## 🎨 Web 界面功能
### 仪表板部分
- **配置侧边栏**:选择事件类型或运行随机模拟
- **模拟控制**:一键执行模拟
- **实时状态**:实时进度更新
- **事件详情**:类型、严重程度、描述、症状
- **智能体报告**:每个智能体分析的可展开卡片
- **CTO 摘要**:执行层面的建议
- **报告历史记录**:浏览并下载以前的事件
### 快速操作
- ▶️ **运行模拟**:执行事件响应
- 📥 **保存报告**:使用时间戳存储当前结果
- 🔄 **运行下一个**:排队新的模拟
- 📂 **查看历史记录**:访问以前的事件报告
- ⬇️ **下载**:将报告导出为文本文件
## 📂 项目结构
```
Incident Command Simulator/
├── app.py # Streamlit web interface
├── main.py # CLI entry point
├── manager.py # Orchestration engine
├── agents.py # AI agent definitions
├── events.py # Incident scenarios
├── tools.py # Available tools for agents
├── utils.py # Helper functions
├── requirements.txt # Python dependencies
├── .env # API keys (not tracked)
└── logs/ # Saved incident reports
```
## 🔧 配置
### 自定义事件
编辑 `events.py` 以添加新的事件类型:
```
{
"type": "Your Incident Type",
"severity": "high", # low, medium, high
"description": "Detailed incident description",
"symptoms": ["Symptom 1", "Symptom 2", "Symptom 3"]
}
```
### 修改智能体行为
编辑 `agents.py` 以自定义智能体提示和工具。
## 📊 报告格式
生成的报告包括:
- 事件元数据 (类型、严重程度、时间戳)
- 完整的事件描述和症状
- 单个智能体 RCA 报告
- CTO 执行摘要和建议
## 🐛 故障排除
### 未找到 GEMINI_API_KEY
- 检查项目根目录中是否存在 `.env` 文件
- 验证 Gemini AI Studio API 密钥是否正确且处于活动状态
- 如果您也有 OpenAI 密钥,它将被用作备用
### 找不到 Streamlit
```
pip install streamlit
```
### 端口 8501 已被占用
```
streamlit run app.py --server.port 8502
```
## 🎓 教育用途
本项目演示了:
- 多智能体 AI 系统架构
- LLM 提示工程
- 使用 Streamlit 的实时流式 UI
- 错误处理和备用机制
- Web 应用程序中的状态管理
## 📈 未来增强
- [ ] 报告的数据库存储
- [ ] 高级过滤和搜索
- [ ] 事件之间的比较
- [ ] 在 Web UI 中自定义事件创建
- [ ] 智能体性能指标
- [ ] 多语言支持
## 📄 许可证
出于教育目的创建。
## 🤝 支持
如有问题或疑问,请检查:
1. `.env` 配置
2. API 密钥有效性
3. Python 版本兼容性
4. 互联网连接 (实时 API 访问所需)
**状态**: ✅ 生产就绪 | **最后更新**: 2026 | **版本**: 1.0
标签:AI, AIOps, Black Hat, CTO报告, Kubernetes, LangChain, Multi-Agent, OpenAI, Petitpotam, PyRIT, Python, ReAct, Streamlit, 人工智能, 仪表盘, 内存规避, 后端分析, 多智能体系统, 大模型, 安全事件响应, 无后门, 智能告警, 用户模式Hook绕过, 系统故障, 自动化代码审查, 自动化运维, 访问控制, 轻量级, 逆向工具