VB-1405/CTI-Hub

GitHub: VB-1405/CTI-Hub

CTI-Hub 是一个可自托管的开源威胁情报聚合平台,通过并行查询多个 CTI 引擎并关联结果,帮助安全团队高效分析网络威胁。

Stars: 0 | Forks: 0

# CTI Hub — 多引擎网络威胁情报平台 一个可自托管的开源威胁情报聚合器,能够并行查询多个CTI引擎,并将结果关联为统一的判定。设计用于与任何SIEM工具集成。 Screenshot 2026-05-16 at 1 55 13 PM ## 功能特性 - **多引擎扫描** — 同时跨9+个CTI引擎进行哈希、IP、URL和域名分析 - **动态引擎管理** — 通过管理界面添加、移除和配置任何CTI引擎 - **CAPA集成** — 静态二进制分析与MITRE ATT&CK映射(可选) - **身份验证** — 基于JWT的登录,具备管理员和分析师角色 - **SIEM集成** — 将结果发送至Elasticsearch以用于Kibana仪表板 - **Docker就绪** — 一键部署到任何环境 - **即插即用** — 可独立运行或与任何现有SIEM并行工作 ## 支持的CTI引擎(默认) | 引擎 | 类型 | 免费额度 | |---|---|---| | VirusTotal | 哈希、IP、URL、域名 | 4次请求/分钟 | | AbuseIPDB | IP | 1,000次请求/天 | | Shodan | IP | 100点/月 | | OTX AlienVault | 哈希、IP、URL、域名 | 无限制 | | URLScan.io | URL、域名 | 100次扫描/天 | | GreyNoise | IP | 100个IP/天 | | MalwareBazaar | 哈希 | 免费 | | ThreatFox | 哈希、IP、URL、域名 | 免费 | | Hybrid Analysis | 哈希 | 200次请求/天(需审核) | | **CAPA** | 文件 | 免费(自托管) | ## 快速启动(Docker) ``` # 1. 克隆 git clone https://github.com/VB-1405/CTI-Hub cd cti-hub # 2. 启动 docker compose up -d # 3. 打开 http://localhost:5000/setup # 创建您的管理员账户 # 4. 前往 Admin → API Engines # 添加您的 API 密钥 ``` 完成。仪表板位于 `http://localhost:5000`。 ## 快速启动(不使用Docker) ``` # 1. 克隆 git clone https://github.com/VB-1405/CTI-Hub cd cti-hub # 2. 安装依赖项 pip install -r requirements.txt # 3. 运行 python backend.py # 4. 打开 http://localhost:5000/setup ``` ## 架构 ``` Browser └── Login page (/login) └── Dashboard (/) — requires auth └── Admin panel (/admin) — admin only Flask Backend (backend.py) ├── JWT Authentication ├── Dynamic engine management (config.json) ├── CTI API calls (server-side, keys never in browser) ├── CAPA subprocess (optional) └── Elasticsearch shipping (optional) Data files (gitignored) ├── config.json — engine config + API keys ├── users.json — hashed user passwords └── .jwt_secret — JWT signing key ``` ## CAPA 设置 CAPA 执行静态恶意软件分析并将能力映射到 MITRE ATT&CK。 ``` # Linux ARM64 (Raspberry Pi) wget https://github.com/mandiant/capa/releases/latest/download/capa-linux-arm64 chmod +x capa-linux-arm64 && sudo mv capi-linux-arm64 /usr/local/bin/capa # Linux x86_64 wget https://github.com/mandiant/capa/releases/latest/download/capa-linux chmod +x capa-linux && sudo mv capa-linux /usr/local/bin/capa # 验证 capa --version ``` 然后在 CTI Hub 管理界面 → CAPA → 设置二进制文件路径 → 启用 → 测试。 ## Elasticsearch / SIEM 集成 CTI Hub 可以自动将每次扫描结果发送到 Elasticsearch: 1. 管理界面 → Elasticsearch → 启用并配置连接 2. 每次扫描会在 `cti-scans` 索引中创建一个文档 3. 基于 `cti-scans` 数据视图构建 Kibana 仪表板 ### 文档结构 ``` { "@timestamp": "2026-05-07T10:00:00Z", "target": "185.220.101.45", "target_type": "ip", "verdict": "MALICIOUS", "threat_score": 0.84, "engines_total": 6, "engines_hit": 4, "analyst": "analyst01", "results": { "virustotal": "MALICIOUS", "abuseipdb": "MALICIOUS" }, "techniques": [ { "name": "T1027.005: Obfuscated Files", "severity": "high" } ] } ``` ## 添加自定义CTI引擎 无需编码。从管理界面 → API 引擎 → 添加引擎: | 字段 | 描述 | |---|---| | 引擎 ID | 唯一标识符(例如 `my_engine`) | | 显示名称 | 在界面中显示 | | API 密钥 | 存储在服务器端 | | 支持类型 | 哈希 / IP / URL / 域名 | 该引擎将自动出现在扫描中。 ## 用户角色 | 角色 | 访问权限 | |---|---| | **管理员** | 完全访问 — API 密钥、用户管理、所有设置 | | **分析师** | 仅扫描 — 无权访问密钥或管理面板 | ## Nginx 反向代理 参见 `nginx-example.conf` 获取生产就绪的 Nginx 配置,该配置: - 在 `/cti/` 路径提供 CTI Hub 服务 - 同时适用于本地和 Tailscale IP - 允许为 CAPA 分析上传大文件 ## 安全注意事项 - API 密钥存储在服务器上的 `config.json` 文件中 — 永远不会发送到浏览器 - `config.json` 和 `users.json` 已包含在 `.gitignore` 中 — 永远不会提交 - 密码使用 bcrypt 进行哈希处理 - 会话在 8 小时后过期(可配置) - 所有扫描端点都需要身份验证 ## 项目结构 ``` cti-hub/ ├── backend.py # Flask backend — all logic ├── requirements.txt # Python dependencies ├── Dockerfile # Container definition ├── docker-compose.yml # One-command deployment ├── nginx-example.conf # Nginx reverse proxy config ├── .gitignore # Protects secrets from git ├── static/ │ ├── index.html # Main dashboard │ ├── login.html # Login page │ ├── admin.html # Admin panel │ └── setup.html # First-run setup └── README.md ``` ## 构建技术 - **Flask** — Python Web 框架 - **PyJWT** — JWT 身份验证 - **bcrypt** — 密码哈希 - **Gunicorn** — 生产级 WSGI 服务器 - **Docker** — 容器化 CTI 引擎:VirusTotal, AbuseIPDB, Shodan, OTX AlienVault, URLScan.io, GreyNoise, MalwareBazaar, ThreatFox, Hybrid Analysis, CAPA (Mandiant) ## 许可证 MIT 许可证 — 免费使用、修改和分发。 ## 贡献 欢迎提交拉取请求。要添加新的内置 CTI 引擎: 1. 在 `backend.py` 的 `DEFAULT_CONFIG['engines']` 中添加引擎定义 2. 按照现有模式添加一个 `_enginename(k, value)` 函数 3. 在 `run_builtin_engine()` 中添加一个 case 4. 提交 PR *作为智能 SIEM 研究生研究项目的一部分构建。*
标签:API密钥管理, CAPA静态分析, CTI引擎, Docker容器化, Elasticsearch, JWT认证, masscan, SIEM集成, 二进制分析, 云安全运维, 后端开发, 多引擎扫描, 威胁情报平台, 威胁情报聚合, 威胁数据关联, 威胁监控, 安全情报共享, 开源安全工具, 情报聚合, 构建工具, 深度包检测, 网络威胁检测, 网络安全分析, 自托管部署, 角色访问控制, 请求拦截, 逆向工具, 逆向工程平台