Leviticus-Triage/llm-honeypot-intelligence
GitHub: Leviticus-Triage/llm-honeypot-intelligence
一款结合LLM自适应欺骗与自动化检测规则生成的分布式蜜罐情报平台,将攻击流量转化为可落地的威胁情报。
Stars: 3 | Forks: 0
# LLM 蜜罐情报
[](LICENSE)
[](https://www.python.org/downloads/)
[](#requirements)
[](#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, 云资产可视化, 分布式蜜罐, 域名分析, 大语言模型, 威胁情报, 开发者工具, 强化学习, 态势感知, 攻击欺骗, 无后门, 机器学习异常检测, 现代安全运营, 结构化查询, 网络信息收集, 网络安全, 自动化安全, 请求拦截, 越狱测试, 逆向工具, 隐私保护, 隐蔽通道检测