jwhitt3r/cognitiveCTI
GitHub: jwhitt3r/cognitiveCTI
基于 N8N 编排、OpenCTI 存储和本地大语言模型的自托管威胁情报自动化管道,实现多源数据聚合、AI 驱动分析和跨报告关联。
Stars: 0 | Forks: 0
# 认知 CTI
**一个开源、AI 驱动的自动化网络威胁情报 (CTI) 聚合、分析和关联管道。**
## 概述
Cognitive CTI 是一个旨在利用开源工具实现企业级 CTI 技术的项目。它回答了这样一个问题:*我们能否在不牺牲现代工作环境特性的前提下,实现非平凡的自动化和 AI 分析?*
该管道从各个层级(厂商、研究、IOC、威胁行为者)摄取威胁数据,通过分层路由过滤噪音,并利用本地大语言模型 生成结构化的情报评估和跨报告关联。
要深入了解本项目背后的架构和理念,请阅读完整的 [架构文档](docs/README.md) 或访问博客 [blog.overresearched.net](https://blog.overresearched.net)。
## 架构
该系统遵循提取、加载、转换 (ELT) 模式,并辅以 AI 认知层。

### 关键能力
* **分层情报收集:** 聚合来自厂商公告、独立研究、IOC 源 和 Telegram 频道的数据。
* **分层路由:** 自动对报告进行分类,以过滤噪音(例如批量 CVE、Telegram 聊天噪音)并优先处理高价值情报。
* **AI 驱动的分析:** 使用 **Ollama** (Llama 3.2 & Phi-4) 提取实体、总结内容并将 TTP 映射到 MITRE ATT&CK。
* **跨报告关联:** 在 12 小时批次的情报报告中识别模式和趋势。
* **多通道输出:** 将实时摘要发送到 Discord,并将结构化数据存储在 PostgreSQL/OpenCTI 中。
## 技术栈
该管道建立在“巨人的肩膀”之上,利用了:
* **编排:** [N8N](https://n8n.io/) (通过 [AI-Starter-Kit](https://docs.n8n.io/hosting/starter-kits/ai-starter-kit/))
* **TI 平台:** [OpenCTI](https://github.com/OpenCTI-Platform/docker)
* **AI/推理:** Ollama & Qdrant (向量存储)
* **数据库:** PostgreSQL & PGAdmin
* **摄取:** RSSBridge (用于 Telegram 和 Web 抓取)
## 系统要求
要运行完整的管道(包括本地 LLM 推理),需要满足以下最低规格:
* **RAM:** 32GB 最低(并发运行 OpenCTI 堆栈 + LLM 所需)。
* **CPU:** 现代多核 CPU。
* **GPU (可选):** 强烈建议用于更快的模型处理,但也支持纯 CPU 推理。
* **软件:** Docker & Docker Compose。
## 快速开始
### 1. 配置与 API Keys
在部署之前,您必须生成必要的 API Keys 和 UUID。
**所需的 API Keys:**
* [MalwareBazaar](https://auth.abuse.ch/)
* [AlienVault OTX](https://otx.alienvault.com/)
* [NIST CVE Database](https://nvd.nist.gov/developers/request-an-api-key)
**环境设置:**
1. 导航到 `docker/opencti/`。
2. 将 `.env.example` 复制为 `.env`。
3. 使用 [uuidgenerator.net](https://www.uuidgenerator.net/) 为任何标记为 `` 的字段生成 UUIDv4 字符串。
4. 在文件底部填写 API Keys:
```
MALWAREBAZAAR_API=your_key_here
ALIENVAULT_API=your_key_here
NIST_CVE_API=your_key_here
```
### 2. 部署
Docker Compose 配置文件位于 docker/ 目录中。
```
cd docker/opencti
docker-compose up -d
```
### 3. 数据库初始化
PostgreSQL 容器运行后:
1. 访问 PGAdmin。
2. 运行位于 database/initdb.sql 的初始化脚本。
3. 这将创建存储结构化威胁记录所需的 schema。
### 4. N8N 管道设置
- 访问您的 N8N 实例。
- 从 n8n/cognitive_cti_pipeline.json 导入管道工作流。
- 在 N8N 中配置以下凭据:
- Discord Bot:在 Discord Developer Portal 中创建一个新应用。
- PostgreSQL:连接到您的本地数据库。
- OpenCTI:连接到您的本地 OpenCTI 实例。
### 5. 源配置
推荐的源列表可在 `opencti/opencti_feeds_dump.txt` 中找到。可以在 telegram/ 目录中找到 Telegram 源实用脚本,以协助配置 RSS-Bridge。
有关本管道中使用的特定模型(Llama 3.2, Phi-4)和系统提示词的详细信息,请参阅 [模型文档](models/README.md)。
本仓库包含允许任何人在其自己的网络中调整或使用 Cognitive CTI 的代码和系统。
标签:AI安全, AI风险缓解, Chat Copilot, Cloudflare, DLL 劫持, ELT架构, HTTP/HTTPS抓包, IOC提取, IP 地址批量处理, Llama 3.2, LLM评估, MITRE ATT&CK, N8N, Ollama, OpenCTI, Phi-4, STIX, TTP映射, 可扩展架构, 大语言模型, 威胁情报, 安全编排与自动化, 实体识别, 密码管理, 开发者工具, 态势感知, 情报收集, 数据管道, 本地部署, 测试用例, 漏洞研究, 网络安全, 自动化运维, 请求拦截, 软件工程, 隐私保护