vineetkonefour/Sea-men_Warroom

GitHub: vineetkonefour/Sea-men_Warroom

面向IoT环境的AI驱动安全运营中心,融合零信任自动隔离、Gemini大模型威胁研判和MITRE ATT&CK映射,实现从异常检测到自主响应的闭环防御。

Stars: 0 | Forks: 0

# ⚓ Sea-men Warroom:自主零信任防御 ## 📑 目录 1. [问题与解决方案](#-the-problem--our-solution) 2. [核心功能](#-core-features) 3. [系统架构](#-system-architecture) 4. [技术栈](#-tech-stack) 5. [项目结构](#-project-structure) 6. [设置与安装](#-setup--installation) 7. [环境变量](#-environment-variables) 8. [运行平台](#-running-the-platform) 9. [API 示例](#-api-example) 10. [黑客马拉松演示指南](#-the-hackathon-demo-guide) 11. [预期结果](#-expected-outcome) 12. [故障排除](#-troubleshooting) 13. [未来路线图](#-future-roadmap) 14. [Sea-men 团队](#-team-sea-men) 15. [许可证](#-license) ## 🧠 问题与解决方案 ### 威胁态势 IoT 设备(如恒温器、摄像头、工业传感器和智能控制器)极易受到数据篡改、僵尸网络招募、权限滥用和未授权访问等攻击。传统的监控系统通常依赖静态阈值和嘈杂的告警流水线,这使得分析师被大量的误报所淹没,并延迟了有意义的响应。 ### Sea-men Warroom 解决方案 Sea-men Warroom 将安全从被动监控转变为主动防御。 当检测到异常时: - 零信任网关会立即隔离可疑设备。 - AI 分析师会评估事件的上下文。 - 平台将事件映射到相关的 MITRE ATT&CK 阶段。 - 实时生成缓解建议。 - 完整的事件将被记录以用于审计和取证审查。 这为 CPS 和 IoT 环境提供了更快的检测、更智能的分流以及自动化的事件响应能力。 ## 🚀 核心功能 - **自主零信任隔离** 立即隔离受损或可疑的设备,并重置信任级别。 - **生成式 AI 安全分析师** 使用 Google Gemini 分析异常并生成可操作的威胁洞察。 - **MITRE ATT&CK 映射** 将可疑行为与已知的对抗战术和阶段联系起来。 - **故障安全工程** 即使在外部 AI API 发生故障时,也能通过使用安全的回退逻辑继续运行。 - **实时作战室仪表板** 提供带有信任评分、警报、事件时间线和响应摘要的实时 Streamlit 界面。 - **自动化威胁记录** 将所有事件存储在 SQLite 中,以用于审计、分析和重放。 - **黑客马拉松就绪的演示流程** 为评委、导师和评估人员提供易于运行的本地设置。 ## 🏗️ 系统架构 ### 1. 摄取层 IoT 设备使用 API 请求将遥测数据发送到后端。 ### 2. 检测层 网关服务验证传入的遥测数据,并根据异常阈值或可疑模式进行检查。 ### 3. 智能层 可疑事件被传递给 AI 分析师,由其解读上下文并生成推理。 ### 4. 执行层 降低设备的信任评分,触发零信任隔离,并建议缓解措施。 ### 5. 表示层 Streamlit 仪表板实时更新警报、事件摘要和状态变更。 ## 🛠️ 技术栈 - **后端:** Flask (Python) - **前端:** Streamlit - **AI 引擎:** Google Gemini (`gemini-1.5-flash`) - **数据库:** SQLite - **库:** Requests, Pandas, Plotly - **部署风格:** 本地演示 / 黑客马拉松原型 ## 📁 项目结构 ``` Sea-men_Warroom/ ├── core/ │ └── gateway.py # Flask backend handling IoT data routing ├── dashboard/ │ ├── main.py # Streamlit application execution logic │ ├── war_room.py # UI components (Sidebar, Gauges, Timeline) │ └── styles.css # Neon Cyberpunk visual styling ├── intelligence/ │ └── ai_analyst.py # Gemini API integration & failsafe logic ├── data/ │ └── database.db # SQLite database (auto-generated) ├── requirements.txt # Python dependencies ├── run.py # Frontend launch script └── README.md ``` ## ⚙️ 设置与安装 ### 1. 克隆仓库 ``` git clone cd Sea-men_Warroom ``` ### 2. 创建虚拟环境 ``` python -m venv .venv ``` ### 3. 激活虚拟环境 ``` # macOS / Linux source .venv/bin/activate # Windows PowerShell .venv\Scripts\Activate.ps1 # Windows CMD .venv\Scripts\activate.bat ``` ### 4. 安装依赖项 ``` pip install -r requirements.txt ``` ### 5. 最小化的 `requirements.txt` 如果您还没有该文件,请使用以下内容作为起点: ``` flask streamlit google-generativeai pandas plotly requests python-dotenv ``` ## 🔐 环境变量 在根目录下创建一个 `.env` 文件: ``` GEMINI_API_KEY=your_gemini_api_key_here DB_PATH=warroom.db FLASK_HOST=127.0.0.1 FLASK_PORT=5000 STREAMLIT_PORT=8501 ``` ### 变量说明 - `GEMINI_API_KEY`:AI 分析师使用的 API 密钥。 - `DB_PATH`:本地 SQLite 数据库路径。 - `FLASK_HOST`:后端主机地址。 - `FLASK_PORT`:后端 API 端口。 - `STREAMLIT_PORT`:前端仪表板端口。 ## ▶️ 运行平台 ### 1. 启动 Flask 后端 ``` python app.py ``` 如果您的后端文件具有不同的名称,请替换使用该名称: ``` python backend.py ``` ### 2. 启动 Streamlit 仪表板 ``` streamlit run dashboard.py ``` 如果您的前端文件命名不同: ``` streamlit run streamlit_app.py ``` ### 3. 打开应用 - **后端 API:** `http://127.0.0.1:5000` - **作战室仪表板:** `http://localhost:8501` ## 📡 API 示例 ### 示例遥测请求 使用此请求来模拟来自 IoT 设备的遥测数据: ``` curl -X POST http://127.0.0.1:5000/telemetry \ -H "Content-Type: application/json" \ -d '{ "device_id": "cam_07", "temperature": 92, "traffic_spike": true, "unauthorized_access": true }' ``` ### 示例 JSON 负载 ``` { "device_id": "sensor_12", "temperature": 31, "humidity": 68, "traffic_spike": false, "unauthorized_access": false, "timestamp": "2026-04-29T07:45:00Z" } ``` ## 🎯 黑客马拉松演示指南 ### 演示目标 展示 Sea-men Warroom 如何检测异常设备、利用 AI 对事件进行推理,并自主应用零信任控制。 ### 推荐的演示流程 1. 启动 Flask 后端。 2. 启动 Streamlit 仪表板。 3. 发送一些正常的遥测事件以建立健康的基线。 4. 触发恶意或异常的遥测负载。 5. 在仪表板上展示信任评分的下降。 6. 展示隔离状态的激活。 7. 显示 AI 生成的威胁解读。 8. 突出显示 MITRE ATT&CK 映射。 9. 展示持久保存在 SQLite 日志中的事件。 10. 解释在 AI API 不可用时的回退逻辑。 ### 评委易接受的讨论点 - **为什么它很重要:** CPS 和 IoT 系统不能等待缓慢的手动分流。 - **它的独特之处:** 它将异常检测、零信任执行和 AI 推理结合在一个循环中。 - **为什么实用:** 它包含了故障安全逻辑和本地日志记录,而不仅仅是一个聊天机器人层。 - **为什么可演示:** 整个流程可以通过实时仪表板看到。 ## ✅ 预期结果 在发送可疑的负载之后: - 设备被标记为异常。 - 信任评分自动降低。 - 触发零信任隔离。 - 生成缓解策略。 - 事件被写入 SQLite。 - 仪表板随着新的事件时间线而更新。 ## 🧪 故障排除 ### Gemini API 无法正常工作 - 检查 `.env` 文件中是否存在 `GEMINI_API_KEY`。 - 确认 API 密钥有效。 - 验证网络是否可以访问互联网。 - 确保您的账户已启用选定的 Gemini 模型。 ### Streamlit 仪表板未加载 - 确保后端已经运行。 - 确认端口 `8501` 已空闲。 - 检查 `dashboard.py` 中是否存在导入错误。 ### Flask API 无响应 - 确保 `app.py` 正在无错误运行。 - 确认端口 `5000` 没有被其他进程占用。 - 验证路由名称(如 `/telemetry`)是否与实现匹配。 ### 数据库问题 - 确保应用具有创建或写入 `warroom.db` 的权限。 - 如果 schema 初始化失败,请重新创建数据库文件。 ## ## 👥 Sea-men 团队 *在 2026 年黑客马拉松期间,基于咖啡因和零信任原则构建。* - **Vineet K V** — 后端与安全架构 *设计了 Flask 零信任网关,设计了 SQLite 数据库 schema,并构建了核心的设备隔离逻辑。* - **Immaneul D Prajwal** — AI 集成与提示工程 *集成了 Google Gemini 1.5 Flash 模型,设计了威胁分析提示,并开发了“防弹”的 JSON 回退故障安全机制。* - **Muhammad Shadab Shaik** — 前端开发与数据可视化 *开发了实时的 Streamlit 仪表板,设计了 UI 自动刷新逻辑,并为交互式的“霓虹赛博”作战室界面设置了样式。* - **Ujwal Anand** — 威胁模拟与演示执行 *创建了 PowerShell 攻击模拟套件,定义了 MITRE ATT&CK 威胁叙述,并管理了端到端的黑客马拉松演示流程。* ## 📜 许可证 本项目基于 MIT 许可证授权。 ## 🌊 结语 构建 Sea-men Warroom 旨在展示 CPS 和 IoT 的网络防御可以从被动告警迈向实时的自主响应。它的设计具有实用性、可解释性,并且是迈向智能零信任安全编排的黑客马拉松就绪的一步。
标签:AI安全, AMSI绕过, Chat Copilot, Cloudflare, CPS安全, GitHub, HTTP/HTTPS抓包, IoT安全, IP 地址批量处理, JSONLines, Kubernetes, MITRE ATT&CK, PKINIT, SOAR, Zero Trust, 人工智能, 威胁情报, 威胁检测, 字符串匹配, 安全网关, 安全运营中心, 审计取证, 工控安全, 开发者工具, 异常检测, 异常行为分析, 态势感知, 无线安全, 智能安全分析师, 智能设备, 物联网, 生成式AI, 用户模式Hook绕过, 索引, 网络安全, 网络映射, 自主防御, 自动化响应, 蜜罐, 证书利用, 逆向工具, 配置错误, 隐私保护, 隔离阻断, 零信任, 风险管控, 黑客松