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 认知层。 ![High Level Architecture](https://static.pigsec.cn/wp-content/uploads/repos/2026/03/d91dbd7e47203017.png) ### 关键能力 * **分层情报收集:** 聚合来自厂商公告、独立研究、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映射, 可扩展架构, 大语言模型, 威胁情报, 安全编排与自动化, 实体识别, 密码管理, 开发者工具, 态势感知, 情报收集, 数据管道, 本地部署, 测试用例, 漏洞研究, 网络安全, 自动化运维, 请求拦截, 软件工程, 隐私保护