hafsa-creates/sentinai-cti-mesh

GitHub: hafsa-creates/sentinai-cti-mesh

SentinAI 是一个五智能体自主网络威胁情报与响应系统,将威胁采集、检测、AI 分诊和自动防火墙阻断整合为零人工干预的端到端 OODA 循环。

Stars: 0 | Forks: 0

# SentinAI — 自主多智能体网络威胁情报与响应网格 **航空大学 — 网络安全系 | CTI,第四学期 | 2026年5月** **指导教师:** Naveed Abbas 先生 SentinAI 是一个完全自主的五智能体网络威胁情报(CTI)系统,它将威胁抓取、IOC 富化、SIEM/IDS 检测、AI 驱动的分诊和自动防火墙响应链接成一个单一的端到端 pipeline —— 实现**零人工干预**。该系统将军事领域的 **OODA Loop**(观察、导向、决定、行动)实施为五个专门的智能体,并通过 Tailscale VPN 网格上的 MQTT 进行通信。 当攻击者探测网络时,完整的 kill chain —— honeypot 检测 → SIEM 关联 → AI 分诊 → 防火墙阻断 —— 将在**不到一秒钟**内执行完毕。 ## 团队与角色 | 智能体 | 成员 | 角色(OODA 阶段) | 核心技术栈 | |---|---|---|---| | **1 — Harvester** | Hafsa Mahek | 观察(OBSERVE)— 抓取、IOC 富化、STIX、MQTT 发布 | URLhaus, Exploit-DB, VirusTotal, AbuseIPDB, Shodan, Caldera | | **2 — Librarian**(团队负责人) | Rao Hamd Rizwan | 导向(ORIENT)— 情报核心、MQTT 总线、MISP、RAG 引擎 | FastAPI, MQTT, MISP, ChromaDB, AlienVault OTX | | **3 — Detective** | Ali | 导向(ORIENT)— 网络/主机检测 | Wazuh SIEM, Suricata IDS | | **4 — Strategist** | Ahmed | 决定(DECIDE)— AI 分诊与工单管理 | Ollama (llama3.2), TheHive | | **5 — Warden** | Muhammad Faiq Ali | 行动(ACT)— Honeypot 与自主执行 | KFSensor, warden.py, pfSense | ## 系统架构 所有虚拟机均位于隔离的 **VMnet4 Host-Only 网络 (192.168.10.0/24)** 上,使用 VMware Workstation + GNS3 进行模拟,并以 pfSense 作为网关/防火墙。团队成员通过 **Tailscale VPN mesh** 进行连接,以实现跨机器的 MQTT 通信。 | 虚拟机 / 设备 | IP | 角色 | |---|---|---| | pfSense (GNS3) | 192.168.10.1 | 防火墙/网关 — 由 warden.py 通过 SSH 控制 | | Ubuntu (Wazuh + warden.py) | 192.168.10.20 | Wazuh SIEM Manager + 自主响应引擎 | | Windows 10 (KFSensor) | 192.168.10.10 | Honeypot — 5 个模拟的易受攻击服务 | | Kali Linux | 192.168.10.30 | 攻击机(nmap 扫描器) | ## 智能体 1 — Harvester(观察) 自动化的威胁情报收集与富化 pipeline: - **URLhaus 抓取器** — 抓取实时的恶意 URL(abuse.ch),每 30 分钟周期可获取约 20 个已验证的 IOC - **Exploit-DB 抓取器** — 每日下载并进行关键词过滤(SSH、RCE、权限提升),共发现 4,907 个相关漏洞 - **IOC 富化引擎** — 查询 VirusTotal、AbuseIPDB 和 Shodan;计算综合危险评分(最高限定为 100) - **噪音过滤器** — 双重过滤;评分在 10 分以上的 IOC 将被发送至 Librarian 的 LLM 进行自然语言裁决 - **MISP 推送器** — 将确认的 IOC 连同完整的富化上下文推送到 MISP - **MQTT 发布者** — 将富化后的警报发布到 `sentinai/agent-hafsa` - **主 pipeline** — 在并行线程中运行所有模块(富化 → 过滤 → STIX → MISP → MQTT) - **Caldera 攻击模拟** — MITRE Caldera v5.3.0 生成逼真的 APT 遥测数据(Discovery TA0007)以供 Detective 的 SIEM 使用 ## 智能体 2 — Librarian(导向)— 情报核心 所有其他智能体所依赖的中央基础设施,分六个阶段交付: 1. **基础设施设置** — 加固的 Ubuntu 虚拟机、Docker、Python 虚拟环境 2. **通信总线** — Mosquitto MQTT broker + FastAPI 服务器,统一来自所有智能体的 MQTT 和 HTTP POST 流量 3. **MISP 部署** — 官方 MISP Docker 技术栈(Manager、Indexer、Dashboard)作为结构化的 IOC 存储库 4. **静态知识库** — 将 MITRE ATT&CK Enterprise STIX 数据集作为 vector embeddings 导入到 ChromaDB 中 5. **实时情报订阅** — 通过 API 密钥自动化将 AlienVault OTX 集成到 MISP 中 6. **RAG 查询引擎** — 将警报文本语义映射到 MITRE ATT&CK 技术(例如,“brute force” → T1110) 7. **主动自动响应** — 针对确认的关键威胁自动执行 UFW 防火墙阻断规则 ## 智能体 3 — Detective(导向)— Wazuh SIEM 与 Suricata IDS - Wazuh Agent v4.14.4 部署在 Windows 10 虚拟机上,已注册并处于活动状态 - Suricata IDS 配置为将警报/统计信息写入 `/var/log/suricata/eve.json`,并由 Wazuh logcollector 实时监控 - 实时流量分析,捕获了数以万计的数据包和活动会话 - 通过 **ET SCAN Possible Nmap User-Agent Observed** 特征码检测到来自 Kali 的 `nmap -F` 扫描 - 在 Wazuh dashboard 中显示了 32 个关联命中结果 ## 智能体 4 — Strategist(决定)— AI 分诊与事件管理 - **Ollama v0.22.1** 在本地运行 `llama3.2`(无云端依赖),用于基于 AI 的警报推理 - **TheHive** 通过 Docker 部署,作为团队的事件管理平台 - 通过 MQTT 订阅 `sentinai/alerts`,通过 LLM 解析 payload,并自动生成结构化的 TheHive 工单 - 评分逻辑:**90–100 → CRITICAL**(工单 + Warden 阻断触发器),**40–69 → MEDIUM**(仅生成工单) - 完成端到端验证:Warden 阻断事件 → AI 裁决(“Critical — Honeypot hit detected”)→ 自动创建标记为 `TLP:AMBER` 的工单 ## 智能体 5 — Warden(行动)— Honeypot 与自主执行 最终的执行节点。完整的自主 kill chain,已确认实现端到端运行: | 步骤 | 组件 | 操作 | |---|---|---| | 1 | Kali Linux | 针对 honeypot (192.168.10.10) 执行 `nmap -sV` 扫描 | | 2 | KFSensor Honeypot | 检测到针对端口 21/22/23/25/80 的探测 | | 3 | Syslog Pipeline | 将 UDP syslog 发送至 Wazuh Manager (`:514`) | | 4 | Wazuh Manager | 通过自定义 PCRE2 解码器解码日志 | | 5 | 规则 100200 | 在 Level 10 触发,并写入 `alerts.json` | | 6 | warden.py | 检测到 `alerts.json` 中的规则 100200 事件 | | 7 | 连接 pfSense 的 SSH | 连接并向 192.168.10.1 进行身份验证 | | 8 | pfctl 阻断 | 将攻击者 IP 添加到 `bruteforce` 表中 | | 9 | MQTT 通知 | 向团队广播 `BLOCKED:` | **KFSensor 设置:** 模拟 FTP (21)、SSH (22)、Telnet (23)、SMTP (25) 和 HTTP (80);在所有配置文件中禁用 Windows Defender 防火墙,以便 KFSensor 能够记录每一次连接尝试;在测试期间捕获了 683+ 个攻击事件,包括对 nmap 扫描的自动 **DOS Attack** 分类。 **自定义 Wazuh 解码器与规则**(`/var/ossec/etc/decoders/kfsensor.xml`、`/var/ossec/etc/rules/kfsensor.xml`): ``` kfsensor id: kfsensor kfsensor id: (\d+), sensor:\s*\S+ \S+:(\d+), visitor: (\S+):(\d+) id,dstport,srcip,srcport ``` ``` kfsensor KFSensor Honeypot hit from $(srcip) on port $(dstport) honeypot,recon, ``` **warden.py**(Python:paramiko、paho-mqtt、json、threading)— 监控 `alerts.json`,在命中规则 100200 时通过 SSH 登录 pfSense,执行 `pfctl -t bruteforce -T add `,通过 `BLOCKED_IPS` 集合进行去重,并通过 MQTT 通知团队(如果 broker 无法访问,则使用独立的备用方案)。 **pfSense 执行规则**(LAN 接口):`block drop in quick on em1 from to any` — 任何添加到动态 `bruteforce` 表中的 IP 都将在防火墙处被立即丢弃。 **实时测试结果:** 完整的链条 — 从 Kali 上的 `nmap -sV` 扫描到 IP 被 pfSense 阻断并通知团队 — 在**不到 100 毫秒**内完成,且零人工干预。 ## 完整测试结果 所有五个智能体的 **33/33 个测试用例全部通过**,包括: - Harvester:URLhaus/Exploit-DB 抓取、富化评分、噪音过滤、MISP 推送、MQTT 发布、Caldera 模拟 - Librarian:MQTT/FastAPI 总线、MISP 实时订阅、ChromaDB + RAG 语义映射、主动 UFW 响应 - Detective:Wazuh Agent 注册、Suricata 实时流量分析、Nmap 扫描检测(规则 86601) - Strategist:Ollama 本地 LLM、TheHive 部署、MQTT 触发的 AI 分诊、自动工单生成 - Warden:KFSensor 检测、syslog pipeline、自定义解码器/规则、自主 pfSense 阻断、MQTT 团队通知 ## 关键要点 - 一个完整的 OODA-loop 安全 pipeline 在五个专门的智能体和虚拟机上实现了端到端的实施,并通过 Tailscale VPN mesh 上的 MQTT 进行协调。 - 该系统融合了开源威胁情报(URLhaus、Exploit-DB、AlienVault OTX)、用于分诊的本地 LLM(Ollama/llama3.2,无云端依赖)以及通过 RAG/ChromaDB 实现的 MITRE ATT&CK 语义匹配。 - 检测涵盖了网络级(Suricata IDS、Wazuh SIEM)和基于欺骗(KFSensor honeypot)的遥测数据。 - Warden 的 kill chain 展示了真正的自主响应:从检测到防火墙执行无需任何人工步骤,并已通过实际的 nmap 攻击进行了验证。 ## 来源 完整的操作指南、配置文件和证据截图:`SentinAI_Complete_Report.pdf`
标签:AI风险缓解, Metaprompt, 请求拦截, 逆向工具