Tristan1019-user/honeypot-threat-intel
GitHub: Tristan1019-user/honeypot-threat-intel
将Cowrie SSH蜜罐日志转化为AI增强的STIX 2.1威胁情报源,支持MITRE ATT&CK映射和TAXII 2.1协议。
Stars: 0 | Forks: 0
# 蜜罐威胁情报源
[](https://github.com/Tristan1019-user/honeypot-threat-intel/actions/workflows/ci.yml)
公开的、AI 辅助的 SSH 蜜罐威胁情报 API,提供 STIX 2.1 输出和 MITRE ATT&CK 映射。
[API](https://threat-intel.101904.xyz) · [文档](https://threat-intel.101904.xyz/docs) · [OpenAPI](https://threat-intel.101904.xyz/openapi.json)
操作手册:[生产环境](./docs/PRODUCTION.md) · [架构](./docs/ARCHITECTURE.md) · [安全](./SECURITY.md)
## 概述
本项目收集 Cowrie SSH 蜜罐日志,并将原始攻击者活动转化为结构化的威胁情报。
处理流程:
1. 将原始 Cowrie 事件组装成完整的攻击者会话
2. 使用本地 LLM(通过 llama.cpp 运行的 GPT-OSS 20B)对行为进行分类,并具备确定性回退逻辑
3. 将会话映射到 MITRE ATT&CK 技术
4. 以 JSON/CSV/STIX 2.1 格式发布指标
无需 API 密钥。当前速率限制:100 请求/分钟。
## 快速开始
```
# 最新 indicators
curl -s https://threat-intel.101904.xyz/api/v1/feed?since=24h | jq .
# STIX bundle
curl -s https://threat-intel.101904.xyz/api/v1/feed/stix -o threat-intel.json
# CSV 导出
curl -s "https://threat-intel.101904.xyz/api/v1/feed?output_format=csv&since=7d" -o indicators.csv
# Sessions
curl -s https://threat-intel.101904.xyz/api/v1/sessions?limit=10 | jq .
# Stats
curl -s https://threat-intel.101904.xyz/api/v1/stats | jq .
```
## API 端点
| 方法 | 路径 | 用途 |
|---|---|---|
| GET | `/api/v1/feed` | 指标源 (JSON, CSV, STIX) |
| GET | `/api/v1/feed/stix` | 完整 STIX 2.1 包 |
| GET | `/api/v1/indicators` | 分页指标列表 |
| GET | `/api/v1/indicators/{value}` | 按指标值查询 |
| GET | `/api/v1/sessions` | 分页会话列表 |
| GET | `/api/v1/sessions/{id}` | 会话详情 + STIX 上下文 |
| GET | `/api/v1/stats` | 聚合统计 |
| GET | `/api/v1/quality` | 24小时运行质量指标 + 源新鲜度 |
| GET | `/api/v1/limitations` | 机器可读的信任/限制策略 |
| GET | `/api/v1/health` | 健康检查 |
| GET | `/api/v1/startup-check` | 运行时自检 (schema + pipeline 状态) |
| GET | `/api/v1/integrity` | STIX 包完整性哈希和源计数器 |
| GET | `/api/v1/feed/revoked` | 已撤销指标源 (仅限管理员/LAN) |
| GET | `/taxii2/` | TAXII 2.1 发现 |
| GET | `/taxii2/collections` | TAXII 集合元数据 |
| GET | `/taxii2/collections/{id}/objects` | TAXII STIX 对象 |
| GET | `/api/v1/about` | 方法和数据策略 |
| GET | `/docs` | Swagger UI |
| GET | `/openapi.json` | OpenAPI schema |
### 支持的过滤器
- `since`: `1h`, `24h`, `7d`, ISO-8601 时间戳, 或 Unix 纪元
- `type`: `ipv4-addr`, `url`, `file-hash`, `all`
- `threat_level`: `low`, `medium`, `high`, `critical`
- `attack_type`: `brute_force`, `credential_stuffing`, `recon`, `malware_deployment`, `cryptominer`, `botnet_recruitment`, `lateral_movement`, `data_exfil`, `unknown`
- `limit`/`offset`: 分页 (每页最多 1000 条)
## 评分模型
| 级别 | 置信度 | 触发条件 |
|---|---:|---|
| `low` | 40 | 仅有失败的暴力破解行为 |
| `medium` | 65 | 成功认证 + 侦察活动 |
| `high` | 85 | 恶意软件下载或持久化行为 |
| `critical` | 95 | 挖矿软件/C2/利用行为 |
## STIX 2.1 说明
- 包含生产者身份和 `created_by_ref`
- 使用 `TLP:CLEAR` 标记
- 针对 `ipv4-addr`、`url` 和 SHA-256 文件哈希的正确模式
- 包含 `observed-data`、`indicator`、`attack-pattern` 和 `relationship` 对象
## 架构
## 数据处理
收集内容:
- 源 IP
- 用户名(密码已脱敏)
- 命令
- 恶意软件 URL/哈希
- SSH 客户端元数据
不公开内容:
- 内部基础设施 IP/拓扑
- 原始密码
## 自托管
```
git clone https://github.com/Tristan1019-user/honeypot-threat-intel.git
cd honeypot-threat-intel
# 在 compose.yml 中配置 OLLAKE_URL 和 Cowrie 日志路径
docker compose up -d
# 可选初始 ingest
curl "http://localhost:8099/api/v1/pipeline/run?log_path=/cowrie/var/log/cowrie/cowrie.json"
```
## 环境要求
- Docker + Docker Compose
- Cowrie (或兼容的 Cowrie JSON 日志)
- llama.cpp server (可选;内置基于规则的回退分类)
## CI / 质量门禁
此仓库包含 GitHub Actions CI (`.github/workflows/ci.yml`),具有:
- Ruff lint
- Mypy 类型检查
- Pytest 单元测试
- API 冒烟测试 (`/api/v1/health`, `/api/v1/quality`)
## 可复现部署 (CT103)
使用部署脚本(而非临时的手动编辑):
```
./scripts/deploy_ct103.sh
```
此脚本:
1. 上传应用文件到 Proxmox
2. 推送文件到 CT 103 堆栈路径
3. 重启 `threat-intel-api` 并验证健康状况
## 许可证
MIT
## 数据处理
收集内容:
- 源 IP
- 用户名(密码已脱敏)
- 命令
- 恶意软件 URL/哈希
- SSH 客户端元数据
不公开内容:
- 内部基础设施 IP/拓扑
- 原始密码
## 自托管
```
git clone https://github.com/Tristan1019-user/honeypot-threat-intel.git
cd honeypot-threat-intel
# 在 compose.yml 中配置 OLLAKE_URL 和 Cowrie 日志路径
docker compose up -d
# 可选初始 ingest
curl "http://localhost:8099/api/v1/pipeline/run?log_path=/cowrie/var/log/cowrie/cowrie.json"
```
## 环境要求
- Docker + Docker Compose
- Cowrie (或兼容的 Cowrie JSON 日志)
- llama.cpp server (可选;内置基于规则的回退分类)
## CI / 质量门禁
此仓库包含 GitHub Actions CI (`.github/workflows/ci.yml`),具有:
- Ruff lint
- Mypy 类型检查
- Pytest 单元测试
- API 冒烟测试 (`/api/v1/health`, `/api/v1/quality`)
## 可复现部署 (CT103)
使用部署脚本(而非临时的手动编辑):
```
./scripts/deploy_ct103.sh
```
此脚本:
1. 上传应用文件到 Proxmox
2. 推送文件到 CT 103 堆栈路径
3. 重启 `threat-intel-api` 并验证健康状况
## 许可证
MIT标签:AI安全, Chat Copilot, Cloudflare, DLL 劫持, GPT-OSS, llama.cpp, MITRE ATT&CK, OpenCanary, Python, SSH蜜罐, STIX 2.1, TLP:CLEAR, 大语言模型, 威胁情报, 威胁源, 开发者工具, 攻击指标, 无后门, 服务枚举, 本地模型, 网络信息收集, 网络安全, 自动化响应, 请求拦截, 进程注入, 逆向工具, 隐私保护