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

# 蜜罐威胁情报源 [![CI](https://static.pigsec.cn/wp-content/uploads/repos/2026/03/6714a5d323133245.svg)](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` 对象 ## 架构 Honeypot Threat Intel Architecture ## 数据处理 收集内容: - 源 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, 大语言模型, 威胁情报, 威胁源, 开发者工具, 攻击指标, 无后门, 服务枚举, 本地模型, 网络信息收集, 网络安全, 自动化响应, 请求拦截, 进程注入, 逆向工具, 隐私保护