基于 Suricata + Zeek + Elastic Stack + AI 的轻量级 SOC 安全运营平台 SenseMindSenseMind:https://github.com/monstertsl/SenseMind基于 Suricata Zeek Elastic Stack AI 的轻量级 SOC 安全运营平台一键 Docker 化部署。特性双探针流量采集Suricata告警/事件 payload与 Zeek协议元数据并行运行Community ID 跨探针关联。Elastic 全栈一体化Filebeat → Logstash字段裁剪 ECS 转换 SOC 分类→ Elasticsearch → Kibana。SOC 14 大类分类Logstash 实时匹配 Suricata 告警映射 MITRE ATTCK 战术阶段命中重点告警自动推送 AI。6 阶段 AI 研判标准化 → 研判 → 动态关联查询 → RAG 知识增强 → 最终分析 → 规则生成AI 自主决策结构化输出。三层联合查询Community ID 精确关联同会话全量日志跨 Suricata Zeek 探针 源/目的 IP 时间窗口关联覆盖多连接、横向移动 IP 历史告警查询24h结果去重合并。类语义检测引擎关键词匹配13 类攻击特征 递归解码5 层 URL/HTML/Base64/Hex 语法分析SQL 注释清除、Shell 命令解析、路径规范化、XSS 标签检测零 LLM 调用捕获编码绕过和变形攻击。AI 自学习闭环确认攻击后自动生成 Suricata 规则写入local.rules并热加载采用 HTTP sticky buffer 精确匹配 动态地址组持续积累检测能力。告警去重同一community_idsignature_id在时间窗口内只分析一次。一键部署证书生成、密码引导、规则更新、数据视图创建、仪表板导入全流程自动化。规划中接入客户端日志syslog / Beats / 自定义推送将主机层告警与网络流量关联为 AI 研判提供更丰富的上下文提升检测精度。架构┌───Suricata eve.json / Zeek logs │ │ │ │ │ Filebeat (等待 Logstash 就绪) │ │ │ Logstash 主管道 规 字段裁剪 / ECS 转换 / SOC 分类 则 │ 生 ┌────┴────┐ 成 │ │ │ 全量→ES matched→AI推送管道 │ soc-* │ │ AI 分析中心 (6阶段 Chain) └──────────────结果回写 ES (soc-ai-*) │ Kibana 可视化目录结构SenseMind/ ├── deploy.sh # 一键部署脚本 ├── remove.sh # 彻底清理脚本 ├── docker-compose.yml # 全栈编排 ├── certs/ # ES SSL 证书自动生成 ├── kibana/ │ └── sensemind-ai-dashboard.ndjson # AI 研判仪表板自动导入 ├── filebeat/filebeat.yml # 采集配置 ├── logstash/ │ ├── logstash.conf # 主管道 │ ├── ai-push.conf # AI 推送管道 │ └── soc_categories.json # SOC 分类映射 └── ai-analyzer/ ├── config.yaml # LLM/ES/知识库/Suricata/去重 配置 ├── knowledge/ # RAG 知识库MITRE SOC Playbook └── app/ # FastAPI LangChain 6阶段 Chainai-analyzer/knowledge仅有基础RAG知识需对其进行维护提高检测准确性快速开始环境要求Docker Engine Docker Compose V2curl、jq、unzip、openssl、ethtool部署LLM 配置编辑ai-analyzer/config.yaml支持 OpenAI、Ollama、vLLM 等 OpenAI 兼容后端。llm:api_key:sk-xxxbase_url:https://...# OpenAI 兼容接口model:glm-5.2# 如果部署后需要修改模型执行: docker restart ai-analyzertemperature:0.1max_tokens:4000timeout:60威胁情报配置可选默认关闭不影响部署。如需启用 IP/域名威胁情报查询编辑ai-analyzer/config.yamlthreat_intel:enabled:true# 开启查询api_url:http://10.0.0.1:8080/api/query?type{type}value{value}# 接口地址{type} 为 ip/domain{value} 为查询值api_key:your-api-key# API Key留空则不传api_key_in:header# Key 传递方式: header 或 queryapi_key_name:x-apikey# Key 的 header/参数名timeout:10# 请求超时秒jq_filter:# 响应字段提取jq 语法留空返回原始 JSON必须显式设置enabled: true且api_url非空才会启用查询默认关闭不产生任何请求。修改后执行docker restart ai-analyzer生效。sudobashdeploy.shinterface# 如 ens192、eth0脚本自动完成证书生成 → 密码引导 → 凭据持久化 → 全栈启动 → Suricata 规则更新 → 数据视图创建 → 仪表板导入。访问服务地址凭据Kibanahttp://IP:5601elastic/.env中的ELASTIC_PASSWORDAI 仪表板http://IP:5601/app/dashboards#/view/sensemind-ai-dashboard-cat.env|grepELASTIC_PASSWORD仪表板SenseMind AI 研判仪表板包含指标卡AI 研判总数、受攻击目标数、攻击源 IP 数、平均可信度统计图SOC 攻击分类分布、威胁判定分布、攻击结果分布详情表原始时间、五元组、攻击类型、攻击名、可信度、溯源信息、处置建议、PayloadSOC 分类分类MITRE覆盖01 Web应用攻击T1190SQL注入/XSS/RCE/文件上传02 身份认证攻击T1110暴力破解/弱口令/撞库03 扫描探测T1046端口扫描/漏洞扫描器04 漏洞利用T1068Log4j/Struts2/Fastjson05 恶意通信C2T1071木马/Beacon/DGA/Cobalt Strike06 横向移动T1021SMB/RDP/PsExec07 数据泄露T1041异常上传/数据外传08 隧道通信T1572DNS隧道/ICMP隧道09 DDoST1498SYN Flood/HTTP Flood10 主机攻击T1055提权/凭据窃取11 命令执行T1059PowerShell/Shell/宏12 LOLBinT1218certutil/bitsadmin/mshta13 信息泄露T1552.git/.env/源码泄露14 恶意文件T1204木马/勒索/RAT常用操作# 更新 Suricata 规则sudodockerexec--usersuricata suricata suricata-update-f# 热加载规则sudodockerexecsuricata suricatasc-creload-rules# 查看 AI 生成的规则cat/data/suricata/lib/rules/local.rules# 重启 AI 分析中心修改 config.yaml 后dockerrestart ai-analyzer# 手动触发某条告警分析curl-XPOST http://localhost:9090/api/analyze/doc_id彻底清理sudobashremove.sh清理容器、网络、数据卷、本地数据与证书不删除已下载镜像。技术栈组件版本Elasticsearch / Kibana / Logstash / Filebeat8.19.16Suricata / ZeeklatestAI 分析中心Python 3.12 LangChain FastAPI贡献欢迎提交Issue/PR