jawad-glitch/CTI-Platform

GitHub: jawad-glitch/CTI-Platform

一个覆盖威胁情报完整生命周期的全栈自动化平台,从 OSINT 采集、NLP 富化、ML 评分到 STIX 2.1/TAXII 分发,实现从原始数据到可操作封锁决策的闭环。

Stars: 0 | Forks: 0

# CTI-Project ## 项目简介 CTI-Project 是一个全栈威胁情报平台,可自动执行整个 CTI(网络威胁情报)生命周期——从原始的 OSINT 收集,到通过行业标准 STIX/TAXII 源提供的可操作的 BLOCK/MONITOR/IGNORE 决策。 本项目旨在演示真实的 DevOps 和网络安全工程实践:微服务架构、ML 辅助的情报富化、基于图的情报关联,以及自定义的 Shodan 风格搜索界面。 ## 系统架构 ``` Internet (RSS / OTX / URLHaus) │ ▼ [ rss-ingestor ] — collects raw threat data, extracts IOCs │ ▼ [ graph-api ] — promotes IOCs into PostgreSQL intelligence graph │ ▼ [ nlp-enricher ] — extracts malware names, ATT&CK techniques, scores context │ ▼ [ decision-engine ] — scores every IOC, outputs BLOCK / MONITOR / IGNORE │ ▼ [ feedback-loop ] — self-improving confidence scores (runs every 24h) │ ▼ [ taxii-server ] — serves STIX 2.1 feeds, blocklists, executive reports │ ▼ [ frontend ] — real-time dashboard + Shodan-style search interface ``` ## 核心功能 **自动化的 OSINT 收集** - 从 BleepingComputer、SANS ISC、CISA Alerts、Threatpost 获取 RSS 订阅 - AlienVault OTX 集成(每个周期获取 250 个威胁 pulse) - URLHaus 恶意 URL 源(实时恶意软件分发基础设施) - 自动提取 IOC:IPv4、domains、URL、MD5/SHA256 哈希值、CVE **情报图谱** - 由 PostgreSQL 支持的图谱,包含对象、关系和标签 - 活动(Campaign)节点,将 IOC 与其来源威胁报告关联起来 - 自动实体提取:恶意软件家族、威胁行为者、MITRE ATT&CK 技术 - 16,000+ 个 IOC 节点,包含 16,000+ 条关系 **ML 辅助的情报富化** - NLP 上下文评分——区分恶意 IOC 引用与良性引用 - 对 30 多个恶意软件家族和威胁行为者组织进行命名实体识别 - 从原始威胁文本中提取 MITRE ATT&CK 技术(T-codes) - 置信度评分系统(0-100),根据每个 IOC 动态更新 **决策引擎** - 基于置信度、严重性、时效性和佐证的多因素威胁评分 - 自动化的 BLOCK / MONITOR / IGNORE 决策,并附带完整推理过程 - 域名白名单机制,以消除误报 - 输出结果:从 16,000+ 个 IOC 中生成 2,700+ 个 BLOCK 决策 **自我改进的反馈循环** - 活动反馈:自动提升高 BLOCK 率活动中的 IOC 权重 - 来源可靠性跟踪:根据历史准确性调整信任分数 - IOC 老化:衰减过时的情报,以保持封锁列表的新鲜度 **STIX 2.1 / TAXII 分发** - 公开源(TLP:CLEAR)——高置信度的 BLOCK IOC - 合作伙伴源(TLP:AMBER)——BLOCK + 上下文信息,受 API 密钥保护 - 内部源(TLP:RED)——完整情报,仅供内部使用 - 纯文本封锁列表导出,可供防火墙/DNS 过滤器直接使用 - 每日高管网络安全简报 (JSON) **自定义前端** - 实时仪表盘,包含决策细分图表和来源性能展示 - Shodan 风格的 IOC 搜索,支持在整个情报图谱中检索 - 带有 NVD 链接的 CVE 跟踪器 - 威胁页面,支持 BLOCK/MONITOR/IGNORE 过滤和推理过程展示 ## 技术栈 | 层级 | 技术 | |---|---| | 数据收集 | Python, feedparser, requests | | 数据存储 | SQLite (原始数据), PostgreSQL (图谱数据) | | 情报富化 | Python NLP, regex, 基于 transformer 的 NER | | API | FastAPI, uvicorn | | 前端 | React, Vite, Recharts | | 基础设施 | Docker, Docker Compose | | 情报标准 | STIX 2.1, TAXII, TLP | ## 服务列表 | 服务 | 端口 | 用途 | |---|---|---| | frontend | 5173 | 仪表盘 + 搜索 UI | | graph-api | 8001 | 情报图谱 REST API | | taxii-server | 9000 | STIX 源 + 高管报告 | | postgres | 5432 | 情报图谱数据库 | | rss-ingestor | — | OSINT 收集循环 | | nlp-enricher | — | 情报富化循环 | | decision-engine | — | 评分循环 | | feedback-loop | — | 24小时自我改进循环 | ## 本地运行 **前提条件:** Docker, Docker Compose, Node.js 20+ ``` # Clone repo git clone https://github.com/yourusername/CTI-project cd CTI-project # 设置环境变量 cp .env.example .env # 将你的 OTX API key 添加到 .env # 启动所有后端服务 docker compose up -d # 启动前端 cd services/frontend npm install npm run dev ``` 打开 `http://localhost:5173` ## 情报 APIs ``` # 平台统计 curl http://localhost:8001/stats # 搜索任何 IOC curl "http://localhost:8001/search?q=emotet" # 获取 BLOCK 决策 curl "http://localhost:8001/decisions?decision=BLOCK&limit=10" # 每日高管报告 curl http://localhost:9000/reports/daily # 公开 STIX feed curl http://localhost:9000/feeds/public/indicators # 供防火墙使用的 Blocklist curl http://localhost:9000/feeds/blocklist ``` ## 数据来源 | 来源 | 类型 | 信任级别 | |---|---|---| | CISA Alerts | ICS/SCADA 咨询公告, CVEs | 95 | | URLHaus (abuse.ch) | 实时恶意软件分发 URL | 90 | | AlienVault OTX | 社区威胁 pulse | 80 | | SANS ISC | 事件报告, 蜜罐数据 | 75 | | BleepingComputer | 威胁新闻, 活动(Campaign)报告 | 60 | ## 构建此项目的收获 - 微服务架构与 Docker Compose 编排 - 情报图谱设计(对象、关系、置信度评分) - STIX 2.1 / TAXII —— CTI 共享的国际标准 - 基于 NLP 的 IOC 提取与误报过滤 - TLP(交通灯协议)在情报分类中的应用 - 针对自我改进系统的反馈循环设计 - 从零开始构建 FastAPI, PostgreSQL, React 应用 ## 作者 Muhammad Jawad — DevOps 工程师 阿联酋 | 对欧洲的工作机会保持开放态度 [LinkedIn](https://linkedin.com/in/yourprofile) · [GitHub](https://github.com/yourusername)
标签:Apex, ATT&CK映射, CVE追踪, DAST, DevSecOps, ESC4, Go语言工具, GPT, IOC, IP 地址批量处理, ML评分, NLP, OSINT, PostgreSQL, Python, RSS订阅, Shodan风格搜索, STIX 2.1, TAXII, URLHaus, 上下文评分, 上游代理, 反馈循环, 失陷标示器, 威胁情报, 安全运营, 实体抽取, 实时仪表盘, 封堵名单, 开发者工具, 开源情报收集, 微服务架构, 恶意软件分析, 情报共享, 情报生命周期, 扫描框架, 无后门, 无线安全, 智能关联分析, 机器学习, 测试用例, 漏洞管理, 版权保护, 网络信息收集, 网络安全, 自动化情报平台, 自我学习, 请求拦截, 逆向工具, 速率限制处理, 隐私保护