hrishabh1103/Zylar---Autonomous-Self-Evolving-SOC-AI-System

GitHub: hrishabh1103/Zylar---Autonomous-Self-Evolving-SOC-AI-System

基于多智能体协作的自主 SOC 系统,结合本地 LLM、机器学习和图分析实现从威胁检测到响应计划的全自动化本地闭环。

Stars: 1 | Forks: 0

# ZYLAR v2 – 自主自进化 SOC AI 系统 ZYLAR v2 是一个多智能体自主 SOC 系统,旨在实时检测、分类、评分和缓解网络威胁。它利用确定性的 LangGraph 编排、NetworkX 进行威胁关联、Scikit-Learn 进行异常检测,以及 **通过 Ollama 运行的本地 LLM** 进行威胁情报和缓解规划。它完全在本地运行,无需付费 API 密钥。 ## 🏗️ 架构设计 (v2) ZYLAR v2 采用 6 层架构: ### 1. 日志与模拟层 - **日志生成器 (`log_generator/simulate_attacks.py`)**:持续推送合成的常规日志和恶意日志(暴力破解、勒索软件、端口扫描、横向移动)。 - **Elasticsearch**:中央快速日志存储。 ### 2. 检测与 ML 层 - **异常检测**:使用 Scikit-learn Isolation Forest 根据 IP 频率和失败率寻找统计异常值。 ### 3. 代理 AI 推理层 - **ThreatIntelligenceAgent**:使用 **Ollama(本地 `mistral`)** 从异常事件中推导潜在的 TTP。 - **AttackClassificationAgent**:对事件进行分类(例如,暴力破解、可疑 IP)。 - **AdvancedRiskScoringAgent**:利用多因素公式计算 0-100 的分数,包括资产关键性、威胁关联图中心性和历史复发情况(记忆)。 - **MitigationPlannerAgent**:使用 Ollama 自主合成可执行的事件响应计划。 ### 4. 威胁关联图层 - **ThreatCorrelationAgent**:使用 `NetworkX` 构建 IP、用户和端口之间的关系图,返回度/中介中心性指标。 ### 5. 自主编排层 (`orchestrator/workflow_graph.py` & `api/main.py`) - 定义穿过管道的 `AgentState` 对象。 - 使用 **APScheduler** 每 30 秒自动轮询异常,并在无需人工干预的情况下异步运行整个代理管道。 ### 6. 记忆与仪表板层 - **记忆 (`memory/sqlite_manager.py`)**:存储 `incidents`、`ip_history` 和 `user_history` 以惩罚重复违规者。 - **FastAPI**:管理调度器并提供状态服务。 - **Streamlit**:具有威胁图、风险仪表和记忆时间线的高级自动刷新仪表板。 ## ⚙️ 安装指南(本地部署) ### 前置条件 - Python 3.10+ - Docker & Docker Compose(用于 ELK) - 已安装并在本地运行的 [Ollama](https://ollama.com)。 ### 步骤 1:克隆 / 设置目录 ``` cd ZYLAR python3 -m venv venv source venv/bin/activate pip install -r requirements.txt ``` ### 步骤 2:确保 Ollama 正在运行 拉取所需的本地 LLM 并让 Ollama 在后台保持运行。 ``` ollama pull mistral # 为确保服务器处于活动状态,Ollama 桌面应用程序在后台运行,或者: # ollama serve ``` ### 步骤 3:启动 Elasticsearch ``` cd elk_setup docker-compose up -d cd .. ``` *等待约 1-2 分钟让 Elasticsearch 完全启动。* ## 🚀 执行演练 在激活的虚拟环境中,你需要 **3 个单独的终端窗口**。无需 API 密钥! ### 终端 1:启动攻击日志模拟器 生成连续的日志流量,包括复杂的多阶段攻击,并将其写入 Elasticsearch。 ``` python -m log_generator.simulate_attacks --duration 600 ``` ### 终端 2:启动 FastAPI 后端与自主调度器 这将公开核心端点并启动 `APScheduler` 循环,该循环每 30 秒监控一次日志。 ``` uvicorn api.main:app --host 0.0.0.0 --port 8000 ``` ### 终端 3:启动 ZYLAR 仪表板 ``` streamlit run dashboard/app.py ``` ### 使用系统 1. 打开 Streamlit URL(通常是 `http://localhost:8501`)。 2. 该系统是**完全自主的**。 3. 观察 **Live Monitoring** 选项卡每 15 秒自动刷新一次。确保 Elasticsearch 和代理在侧边栏监控器中处于活动状态。 4. 当终端 1 生成恶意日志时,APScheduler(终端 2)将检测到它们,构建 `NetworkX` 攻击图,调用 `Ollama` 进行本地分析,并生成缓解计划。 5. 在 **Incident Timeline** 选项卡中,你将看到历史自主威胁响应以及代理的推理。 6. 重复违规者将显示在实时仪表板上,通过高级评分算法由 SQLite Memory 代理自动施以更高的风险评分惩罚。 7. 最终的详细 PDF/JSON 报告存储在 `/reports` 中。 ## 🧪 评估指标与测试 - ZYLAR 的 Isolation Forest 无需显式编码即可正确归类异常。 - `GraphCentrality` 权重会自动提高扫描多个端口的僵尸程序的分数。 - `HistoricalRecurrenceFactor` 随着时间的推移,将低级别但无休止的攻击推入严重(Critical)级别。 # Zylar---Autonomous-Self-Evolving-SOC-AI-System # Zylar---Autonomous-Self-Evolving-SOC-AI-System # Zylar---Autonomous-Self-Evolving-SOC-AI-System
标签:AI安全, AI风险缓解, AMSI绕过, Apex, API密钥扫描, Chat Copilot, DLL 劫持, DNS 反向解析, Elasticsearch, FTP漏洞扫描, Kubernetes, LangGraph, LLM评估, Mistral, NetworkX, Ollama, PE 加载器, PyRIT, Python, Scikit-Learn, 图分析, 多智能体系统, 大语言模型, 威胁情报, 威胁检测, 孤立森林, 安全编排, 开发者工具, 异常检测, 插件系统, 无后门, 本地部署, 机器学习, 特权检测, 突变策略, 网络安全, 网络调试, 自主SOC, 自动化, 自动响应, 请求拦截, 逆向工具, 隐私保护