Leviticus-Triage/llm-honeypot-intelligence

GitHub: Leviticus-Triage/llm-honeypot-intelligence

一款结合LLM自适应欺骗与自动化检测规则生成的分布式蜜罐情报平台,将攻击流量转化为可落地的威胁情报。

Stars: 3 | Forks: 0

# LLM 蜜罐情报 [![License: MIT](https://img.shields.io/badge/License-MIT-blue.svg)](LICENSE) [![Python 3.10+](https://img.shields.io/badge/python-3.10+-green.svg)](https://www.python.org/downloads/) [![Platform: Linux](https://img.shields.io/badge/platform-Linux-informational.svg)](#requirements) [![Auto-Sync](https://img.shields.io/badge/rules-auto--synced%20every%206h-brightgreen.svg)](#auto-synced-threat-intelligence) **分布式蜜罐情报平台**,结合了基于 LLM 的自适应蜜罐与强化学习、自动化 SIEM 规则生成、基于 ML 的异常检测以及 C2/隐蔽通道行为检测 —— 处理了来自 **122 个国家**的 **22,000+ 个唯一攻击者 IP** 的 **5500 万+ 攻击事件**。 ## 目录 - [功能简介](#what-this-does) - [架构](#architecture) - [组件](#components) - [实时指标](#live-metrics) - [自动同步威胁情报](#auto-synced-threat-intelligence) - [MITRE ATT&CK 映射](#mitre-attck-mapping) - [生成的规则](#generated-rules) - [CVE 蜜罐配置文件](#cve-honeypot-profiles) - [部署自己的实例](#deploy-your-own) - [仓库结构](#repository-structure) - [环境要求](#requirements) - [文档](#documentation) - [贡献](#contributing) - [许可协议](#license) ## 功能简介 传统蜜罐提供静态响应。攻击者探测,收到预设的回复,然后继续前进。本平台改变了这一局面: 1. **基于 LLM 的欺骗。** 蜜罐(SSH 的 [Beelzebub](https://github.com/mariocandela/beelzebub),HTTP 的 [Galah](https://github.com/0x4D31/galah))通过由 Ollama 支持的智能代理进行路由。攻击者与扮演目标系统的 LLM 交互 —— 一个易受攻击的 Apache 服务器、一个配置错误的 Redis 实例,或一个暴露 API 的 Docker 守护进程。 2. **强化学习。** 一个 RL 参与度评分器持续评估哪些 LLM 响应能让攻击者保持最长时间的参与,并反馈到缓存选择中。该代理学习哪种欺骗策略有效。 3. **自动化检测工程。** 每 6 小时,平台分析累积的攻击流量并生成可用于生产环境的 Suricata、Sigma、YARA 和防火墙规则 —— 无需手动编写签名。 4. **ML 异常检测。** Isolation Forest + DBSCAN 流水线识别行为异常值,聚类攻击活动,并构建 IP 信誉评分。 5. **C2 & 隐蔽通道检测。** 专用引擎实时检测 DNS 隧道、HTTP 信标和协议异常。 ## 架构 ``` flowchart TB subgraph Internet["Internet"] ATK[Attacker] end subgraph TPOT["T-Pot VM · 25+ Sensor Types"] BEE[Beelzebub · SSH Honeypot] GAL[Galah · HTTP Honeypot] OTHER[Cowrie · Dionaea · Honeytrap · ...] ES[(Elasticsearch)] KIB[Kibana · 7 Dashboards] end subgraph HOST["Host · Ollama Proxy Stack"] PROXY[Smart Proxy · FastAPI] CACHE[(SQLite · Exact + Semantic Cache)] OLLAMA[Ollama · LLM Backend] RL[RL Engagement Scorer] RULES[Rule Generator] ML[Heuristic Detector · ML] C2[C2 Detection Engine] CVE[CVE Prompt Engine · 34 Profiles] end subgraph OUTPUT["Generated Output"] SUR[Suricata Rules] SIG[Sigma Rules] YAR[YARA Rules] FW[Firewall Blocklists] STIX[STIX 2.1 Bundles] IOC[IOC Feeds] THREAT[Threat Intel · IP Reputation] end ATK -->|"SSH / HTTP / ..."| TPOT BEE -->|"LLM request"| PROXY GAL -->|"LLM request"| PROXY PROXY --> CACHE PROXY --> OLLAMA CVE -->|"system prompt injection"| PROXY RL -->|"score → cache weight"| CACHE ES -->|"attack data"| RL ES -->|"attack data"| RULES ES -->|"attack data"| ML ES -->|"session data"| C2 OTHER --> ES BEE --> ES GAL --> ES ES --> KIB RULES --> SUR RULES --> SIG RULES --> YAR RULES --> FW RULES --> STIX RULES --> IOC ML --> THREAT ``` ## 组件 | 组件 | 模块 | 代码行数 | 描述 | |-----------|--------|------:|-------------| | **Smart Proxy** | `proxy/src/main.py` | 527 | FastAPI 缓存代理,支持精确 + 语义缓存查找,RL 探索率 | | **Semantic Cache** | `proxy/src/cache.py` | 270 | 基于 SQLite 的缓存,通过 `nomic-embed-text` 嵌入进行余弦相似度计算 | | **RL Scorer** | `proxy/src/rl_scorer.py` | 781 | 强化学习引擎,根据攻击者参与时长对 LLM 响应进行评分 | | **Rule Generator** | `proxy/src/rule_generator.py` | 1,566 | 从 ES 数据自动生成 Suricata、Sigma、YARA 规则 + STIX 2.1 包 | | **ML Detector** | `proxy/src/heuristic_detector.py` | 775 | Isolation Forest 异常检测,DBSCAN 活动聚类,IP 信誉评分 | | **C2 Detector** | `proxy/src/c2_detection/engine.py` | 773 | 行为 C2 检测:DNS 隧道、HTTP 信标、协议异常 | | **CVE Engine** | `proxy/src/cve_engine.py` | 274 | 注入特定 CVE 的系统提示,使 LLM 扮演易受攻击的服务 | | **CVE Templates** | `proxy/src/cve_templates.py` | 1,370+ | 34 个 CVE 配置文件 (2023-2026),涵盖 Fortinet、PAN-OS、Ivanti、Cisco、PHP、SAP、VMware 等 | **自定义代码总计:** 跨 12 个模块约 5,800 行 Python 代码。 ### 运营亮点 - **缓存命中率:85.2%** -- 精确 + 语义缓存节省了约 2,000 小时的 GPU 时间(约 7 倍有效加速) - **RL 优化:** 88,176 个响应已评分,平均参与度评分 0.488,82 个不同的评分值显示了真实的行为差异 - **C2 检测:** 检测到 48,609 个指标,182 个严重威胁,1,769 个信标检测,7 种 MITRE 技术 - **ML 流水线:** 通过 Isolation Forest 检测到 16 个异常,通过 DBSCAN 聚类了 4 个攻击活动,生成了 17 个预测性警报 - **峰值日:** 单日 19.8M 事件(2026 年 2 月 14 日) ## 实时指标 | 指标 | 数值 | |--------|------:| | 已处理的总攻击事件 | 55,500,000+ | | 观察到的唯一攻击者 IP | 22,281 | | 来源国家 | 122 | | 传感器服务器(分布式) | 4 | | 每台服务器的传感器类型 | 25+ | | 生成的 Sigma 规则 | 10 (5 SSH + 5 HTTP) | | 生成的 YARA 规则 | 7 | | 生成的 Suricata 规则 | 48 + 23 个手工编写的 C2 | | 防火墙封禁的 IP(峰值) | 503 | | 提取的 IOC | 261 | | STIX 2.1 对象 | 60 | | 检测到的 C2 指标 | 48,609 | | CVE 蜜罐会话 | 516,000+ | | RL 评分的响应 | 88,176 | | 缓存的提示 | 11,048 | | 缓存命中率 | 85.2% | | 节省的 GPU 时间 | ~2,000 小时 | | 检测到的 ML 异常 | 16 | | 识别的攻击活动 | 4 | | 生成的预测性警报 | 17 | | 信标检测 | 1,769 | | CVE 蜜罐配置文件 | 34 | | Kibana 仪表板 | 7 | ## 自动同步威胁情报 `rules/` 和 `threat-intel/` 目录从实时蜜罐基础设施**每 6 小时自动更新一次**。主机上的 cron 作业读取 Docker 卷输出,清理内部基础设施细节,并推送到此仓库。 ### 使用这些数据源 **Suricata 规则** -- 放入您的 `/etc/suricata/rules/` 目录: ``` curl -sL https://raw.githubusercontent.com/Leviticus-Triage/llm-honeypot-intelligence/main/rules/suricata/honeypot-generated.rules \ -o /etc/suricata/rules/honeypot-generated.rules suricatasc -c reload-rules ``` **IP 黑名单** -- 用于防火墙、fail2ban 或 SOAR playbook: ``` curl -sL https://raw.githubusercontent.com/Leviticus-Triage/llm-honeypot-intelligence/main/rules/firewall/blocklist-plain.txt ``` **STIX 2.1 包** -- 用于 MISP、OpenCTI 或任何 TIP: ``` curl -sL https://raw.githubusercontent.com/Leviticus-Triage/llm-honeypot-intelligence/main/rules/stix/bundle.json ``` ## MITRE ATT&CK 映射 平台观察并为以下技术生成检测: | 技术 ID | 技术 | 检测来源 | 输出 | |-------------|-----------|-----------------|--------| | [T1190](https://attack.mitre.org/techniques/T1190/) | Exploit Public-Facing Application | 34 个 CVE 蜜罐配置文件 (FortiOS, PAN-OS, Ivanti, PHP-CGI, SAP, VMware, ...) | Suricata + YARA | | [T1110](https://attack.mitre.org/techniques/T1110/) | Brute Force | 通过 Cowrie/Beelzebub 进行的 SSH/Telnet 凭据填充 | Sigma + IP 黑名单 | | [T1059](https://attack.mitre.org/techniques/T1059/) | Command and Scripting Interpreter | SSH 会话中的后渗透命令 | Sigma + YARA | | [T1071](https://attack.mitre.org/techniques/T1071/) | Application Layer Protocol | HTTP/DNS C2 信标模式 | Suricata + C2 引擎 | | [T1071.004](https://attack.mitre.org/techniques/T1071/004/) | DNS Tunneling | 高熵 DNS 查询,异常查询量 | C2 引擎 + Suricata | | [T1041](https://attack.mitre.org/techniques/T1041/) | Exfiltration Over C2 Channel | 蜜罐会话中的大量出站数据模式 | ML 检测器 | | [T1595](https://attack.mitre.org/techniques/T1595/) | Active Scanning | 跨传感器的端口扫描,服务枚举 | Suricata + IP 信誉 | | [T1592](https://attack.mitre.org/techniques/T1592/) | Gather Victim Host Information | 通过 HTTP 蜜罐进行的 OS 指纹识别,服务探测 | Sigma | | [T1105](https://attack.mitre.org/techniques/T1105/) | Ingress Tool Transfer | 恶意软件下载尝试 (wget, curl, tftp) | YARA + Suricata | | [T1571](https://attack.mitre.org/techniques/T1571/) | Non-Standard Port | 通过行为分析检测到的非常规端口 C2 | C2 引擎 | | [T1036](https://attack.mitre.org/techniques/T1036/) | Masquerading | 伪造的服务 Banner,协议伪装 | ML 检测器 | | [T1078](https://attack.mitre.org/techniques/T1078/) | Valid Accounts | 跨多个蜜罐传感器的凭据重用 | Sigma + 活动聚类 | ## 生成的规则 规则生成器分析 Elasticsearch 数据并生成多种格式的规则: | 格式 | 目录 | 用例 | |--------|-----------|----------| | **Suricata** | `rules/suricata/` | 网络 IDS/IPS 在线检测 | | **Sigma** | `rules/sigma/` | SIEM 无关的日志检测(可转换为 Splunk、ELK、QRadar) | | **YARA** | `rules/yara/` | 恶意软件工件的文件和内存扫描 | | **防火墙黑名单** | `rules/firewall/` | iptables, nftables 和纯文本 IP 列表 | | **STIX 2.1** | `rules/stix/` | 用于 MISP、OpenCTI、TAXII feed 的结构化威胁情报 | | **IOC 列表** | `rules/iocs/` | 机器可读的失陷指标 | 此外,`rules/suricata/c2-detection.rules` 包含 **23 条手工编写的 Suricata 规则**,用于 C2 协议检测(DNS 隧道、HTTP 信标、编码载荷、协议异常)。 **累计输出(峰值):** 10 条 Sigma 规则,7 条 YARA 规则,48 条 Suricata 规则,503 个防火墙封禁 IP,261 个 IOC 和 60 个 STIX 2.1 对象。规则每 6 小时根据最近 24 小时的攻击窗口重新生成。 ## CVE 蜜罐配置文件 CVE 引擎将特定于漏洞的系统提示注入 LLM,使蜜罐像运行未修补软件一样响应。这吸引了针对性的利用尝试,并捕获特定 CVE 的攻击者 TTP。所有 34 个配置文件均基于真实世界的 PoC 数据和 CISA KEV 列出的漏洞,跨越 2023-2026 年。 ### SSH / CLI 配置文件 (13) | CVE | CVSS | 目标 | 攻击向量 | |-----|------|--------|--------------| | CVE-2024-55591 | 9.8 | Fortinet FortiOS | 通过 Node.js websocket 的认证绕过 | | CVE-2024-47575 | 9.8 | Fortinet FortiManager (FortiJump) | FGFM 协议缺少认证 | | CVE-2025-0282 | 9.0 | Ivanti Connect Secure | 栈缓冲区溢出(未认证 RCE) | | CVE-2024-21887 | 9.1 | Ivanti Connect Secure | Web 组件中的命令注入 | | CVE-2024-3400 | 10.0 | Palo Alto PAN-OS GlobalProtect | OS 命令注入(零日漏洞) | | CVE-2024-20353 | 8.6 | Cisco ASA/FTD (ArcaneDoor) | 拒绝服务 + 持久化后门 | | CVE-2024-6387 | 8.1 | OpenSSH (regreSSHion) | 信号处理程序竞争条件 RCE | | CVE-2024-21762 | 9.6 | FortiOS SSL VPN | 越界写入导致未认证 RCE | | CVE-2025-22457 | 9.0 | Ivanti Connect Secure | 通过 HTTP 头的栈溢出 (UNC5221) | | CVE-2025-24472 | 9.8 | FortiOS/FortiProxy | 通过精心构造的F 代理请求绕过认证 | | CVE-2024-3094 | 10.0 | XZ Utils/liblzma | 供应链 SSH 后门 | | CVE-2024-47176 | 9.8 | CUPS cups-browsed | 通过恶意 IPP 打印机的 RCE 链 | | CVE-2026-24858 | 9.8 | Fortinet FortiCloud SSO | 跨账户设备接管 (CISA KEV 2026 年 1 月) | ### HTTP / Web 配置文件 (21) | CVE | CVSS | 目标 | 攻击向量 | |-----|------|--------|--------------| | CVE-2023-46805 | 8.2 | Ivanti Connect Secure (Web) | Web 组件中的认证绕过 | | CVE-2023-4966 | 9.4 | Citrix NetScaler (Citrix Bleed) | 通过缓冲区过度读取的会话令牌泄漏 | | CVE-2024-1709 | 10.0 | ConnectWise ScreenConnect | 设置向导认证绕过 | | CVE-2024-23897 | 9.8 | Jenkins CI/CD | 通过 args4j CLI 解析器的任意文件读取 | | CVE-2024-24919 | 8.6 | Check Point Security Gateway | 路径遍历信息泄露 | | CVE-2026-1731 | 9.8 | BeyondTrust PRA/Remote Support | OS 命令注入 | | CVE-2025-40536 | 8.4 | SolarWinds Web Help Desk | 安全控制绕过 | | CVE-2024-43468 | 9.8 | Microsoft SCCM | 管理点中的 SQL 注入 | | CVE-2024-4577 | 9.8 | PHP-CGI (Windows) | 通过 Best-Fit 映射的参数注入 RCE | | CVE-2024-50623 | 10.0 | Cleo Harmony/VLTrader/LexiCom | 不受限制的文件上传 RCE (Cl0p) | | CVE-2025-0108 | 9.1 | PAN-OS 管理 Web | 通过 Nginx/Apache 路径混淆的认证绕过 | | CVE-2024-27198 | 9.8 | JetBrains TeamCity | 通过路径遍历的认证绕过 | | CVE-2024-0012 | 9.3 | PAN-OS 管理界面 | 认证绕过(与 CVE-2024-9474 链接) | | CVE-2025-31324 | 10.0 | SAP NetWeaver AS Java | 不受限制的文件上传以植入 Web Shell | | CVE-2024-55956 | 9.8 | Cleo VLTrader/LexiCom | Autorun 目录 RCE (Cl0p) | | CVE-2024-28995 | 8.6 | SolarWinds Serv-U | 路径遍历(未认证文件读取) | | CVE-2025-23006 | 9.8 | SonicWall SMA1000 | 反序列化 RCE | | CVE-2024-9474 | 7.2 | PAN-OS 管理 Web | 以 root 身份执行的 OS 命令注入 | | CVE-2026-22719 | 8.1 | VMware Aria Operations | 命令注入 RCE (CISA KEV 2026 年 3 月) | | CVE-2026-28289 | 10.0 | FreeScout Help Desk (Mail2Shell) | 通过 .htaccess TOCTOU 绕过的零点击 RCE | | CVE-2026-27971 | 9.8 | Qwik Framework | server$ 反序列化 RCE | ## 部署自己的实例 ### 前置条件 - 已部署 [T-Pot](https://github.com/telekom-security/tpotce)(虚拟机或裸金属) - 主机上运行 [Ollama](https://ollama.ai) 并已拉取模型(例如 `llama3`) - 主机上已安装 Docker + Docker Compose - Python 3.10+ ### 快速开始 ``` # Clone this repository git clone https://github.com/Leviticus-Triage/llm-honeypot-intelligence.git cd llm-honeypot-intelligence/proxy # Configure credentials cp .env.example .env # Edit .env with your Elasticsearch URL, credentials, and T-Pot VM IP cp config.yaml.example config.yaml # Adjust proxy settings if needed # Launch the full stack docker compose up -d # Verify docker compose ps curl -s http://localhost:11435/proxy/health | python3 -m json.tool ``` 代理栈运行 5 个容器: - **ollama-proxy** -- 端口 11435 上的缓存代理 - **ollama-rl-scorer** -- RL 评分器(每 5 分钟) - **ollama-rule-generator** -- 规则生成(每 6 小时) - **ollama-heuristic-detector** -- ML 分析(每 30 分钟) - **ollama-c2-detector** -- C2 检测(每 5 分钟) 将您的蜜罐(Beelzebub, Galah)指向 `:11435` 而不是原始的 Ollama 端口。 完整的部署演练请参阅 [docs/setup-guide.md](docs/setup-guide.md)。 ## 仓库结构 ``` llm-honeypot-intelligence/ ├── README.md ├── LICENSE # MIT ├── SECURITY.md # Vulnerability reporting ├── CONTRIBUTING.md # Contribution guidelines ├── CITATION.cff # Academic citation metadata ├── .gitignore ├── .github/workflows/ │ └── lint.yml # CI: ruff linting ├── docs/ │ ├── architecture.md # Design rationale and data flow │ ├── results.md # Operational results and analysis │ ├── setup-guide.md # Full deployment walkthrough │ └── mitre-attack-mapping.md # Detailed ATT&CK coverage ├── proxy/ # Ollama Smart Proxy (custom code) │ ├── src/ │ │ ├── main.py # FastAPI proxy with caching + exploration │ │ ├── cache.py # Exact + semantic cache (SQLite + embeddings) │ │ ├── embeddings.py # nomic-embed-text integration │ │ ├── models.py # Pydantic data models │ │ ├── rl_scorer.py # Reinforcement learning engagement scorer │ │ ├── rule_generator.py # Automated SIEM rule generation │ │ ├── heuristic_detector.py # ML anomaly detection (Isolation Forest + DBSCAN) │ │ ├── c2_detection/ # C2 & covert channel detection engine │ │ ├── cve_engine.py # CVE-specific prompt injection │ │ └── cve_templates.py # 34 CVE vulnerability profiles (2023-2026, CISA KEV) │ ├── run_scorer.py # RL scorer entry point │ ├── run_rule_generator.py # Rule generator entry point │ ├── run_heuristic_detector.py # ML detector entry point │ ├── run_c2_detector.py # C2 detector entry point │ ├── config.yaml.example # Proxy configuration template │ ├── .env.example # Credential template │ ├── docker-compose.yml # Full 5-container stack │ ├── Dockerfile │ └── requirements.txt ├── rules/ # ⚡ AUTO-SYNCED every 6 hours │ ├── suricata/ │ │ ├── honeypot-generated.rules # Auto-generated from attack data │ │ └── c2-detection.rules # 23 handcrafted C2 detection rules │ ├── sigma/ # SIEM-agnostic detection rules │ ├── yara/ # File/memory scanning rules │ ├── firewall/ # iptables, nftables, plain-text blocklists │ ├── stix/ # STIX 2.1 bundles │ └── iocs/ # Machine-readable IOC lists ├── threat-intel/ # ⚡ AUTO-SYNCED every 6 hours │ ├── ip-reputation.json # Scored IP reputation database │ ├── campaigns.json # Clustered attack campaigns │ ├── dynamic-blocklist.txt # Active threat IPs │ └── alerts.json # High-confidence threat alerts ├── dashboards/ # Kibana dashboard exports │ ├── llm-honeypot-intelligence.ndjson │ ├── c2-dashboard.ndjson │ ├── cve-dashboard.ndjson │ └── setup-attack-class.sh # Dashboard import helper └── scripts/ └── sync-to-github.sh # Auto-sync cron script ``` ## 环境要求 - 用于代理栈的 **Linux** 主机 (Docker) - **Python 3.10+** - **Ollama** 及已拉取的模型(例如 `ollama pull llama3`) - 可访问 Elasticsearch 的 **T-Pot** 蜜罐虚拟机 - **Docker + Docker Compose** v2 ## 文档 | 文档 | 描述 | |----------|-------------| | [docs/architecture.md](docs/architecture.md) | 系统设计、数据流、组件交互 | | [docs/results.md](docs/results.md) | 运营结果、攻击统计、活动分析 | | [docs/setup-guide.md](docs/setup-guide.md) | 包含前置条件和故障排除的完整部署指南 | | [docs/mitre-attack-mapping.md](docs/mitre-attack-mapping.md) | 详细的 MITRE ATT&CK 技术覆盖范围 | | [SECURITY.md](SECURITY.md) | 漏洞报告 | | [CONTRIBUTING.md](CONTRIBUTING.md) | 如何贡献 | | [CITATION.cff](CITATION.cff) | 学术引用元数据 | ## 相关项目 - **[ir-sinkhole](https://github.com/Leviticus-Triage/ir-sinkhole)** -- 基于主机的事件响应接收洞(sinkhole),用于取证期间的 C2 遏制。基于真实的 Lazarus Group 事件响应案例开发。 ## 贡献 请参阅 [CONTRIBUTING.md](CONTRIBUTING.md) 和 [SECURITY.md](SECURITY.md)。 ## 许可协议 MIT。请参阅 [LICENSE](LICENSE)。
标签:AI风险缓解, Beacon Object File, Beelzebub, C2 检测, CISA项目, Cloudflare, DLL 劫持, Galah, HTTP/HTTPS抓包, HTTP 蜜罐, IP 地址批量处理, LLM评估, LLM 驱动欺骗, MITRE ATT&CK, Ollama, PE 加载器, Python, SIEM 规则生成, Sigma 规则, SSH 蜜罐, Suricata, YARA, 云资产可视化, 分布式蜜罐, 域名分析, 大语言模型, 威胁情报, 开发者工具, 强化学习, 态势感知, 攻击欺骗, 无后门, 机器学习异常检测, 现代安全运营, 结构化查询, 网络信息收集, 网络安全, 自动化安全, 请求拦截, 越狱测试, 逆向工具, 隐私保护, 隐蔽通道检测