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绕过, 系统故障, 自动化代码审查, 自动化运维, 访问控制, 轻量级, 逆向工具