CodesbyBalaji/CyberThreatIntelligence
GitHub: CodesbyBalaji/CyberThreatIntelligence
这是一个基于大语言模型的自动化网络威胁情报平台,集成多源实时数据以实现威胁收集、关联分析、报告生成及狩猎查询建议。
Stars: 0 | Forks: 0
# 🛡️ 使用 LLM 的高级网络威胁情报
一个由大语言模型 驱动的、可用于生产环境的网络威胁情报 (CTI) 平台。该系统利用实时威胁情报源和 AI 驱动的分析功能,自动化威胁情报的收集、分析、关联和响应生成。
## 🌟 核心功能
### 🔄 实时威胁情报源
- **AlienVault OTX 集成** - 来自社区的实时威胁脉冲和 IOC
- **VirusTotal API** - 文件、URL、IP 和域名信誉分析
- **AbuseIPDB** - IP 地址滥用和信誉数据
- **URLhaus** - 来自 abuse.ch 的恶意 URL 数据库
- **ThreatFox** - 带有恶意软件关联的 IOC 数据库
- **自动情报源更新** - 可配置间隔的持续摄取
### 🤖 LLM 驱动的高级分析
- **威胁行为体画像** - 带有归因分析的 AI 生成画像
- **攻击模式预测** - 基于历史数据预测攻击向量
- **自动生成威胁报告** - 生成高管摘要和技术报告
- **IOC 上下文关联** - 解释每个指标的重要性
- **活动归因** - 将攻击与已知威胁组织关联
- **威胁狩猎建议** - 面向多种平台的 AI 建议狩猎查询
### 🔗 高级关联引擎
- **多维关联** - IOC、TTP、时间和语义分析
- **行为分析** - 识别攻击模式和异常
- **杀伤链映射** - 将威胁映射到网络杀伤链
- **MITRE ATT&CK 映射** - 自动映射技术和战术
- **威胁评分** - 带有权重评分的 AI 风险评估
### ⚡ 智能自动化
- **自动丰富管道** - 从多个来源自动丰富 IOC
- **智能告警** - 具备上下文感知能力的威胁通知
- **Playbook 生成** - AI 生成的事件响应 Playbook
- **威胁优先级排序** - 基于机器学习的优先级排名
- **YARA 规则生成** - 自动化检测规则创建
### 📊 高级可视化
- **交互式仪表板** - 实时威胁情报概览
- **时间攻击时间轴** - 基于时间的攻击流可视化
- **关系网络** - 实体关系图
- **威胁热力图** - 按地理和部门划分的风险可视化
- **活动跟踪** - 监控正在进行的威胁活动
### 🎯 独特优势
- **LLM 驱动的威胁叙事** - 自然语言威胁故事
- **预测性威胁情报** - 预测新兴威胁
- **对话式威胁分析** - ChatGPT 风格的威胁分析师
- **自定义 IOC 提取** - 特定领域的指标提取
- **威胁模拟** - 假设场景分析
- **多 LLM 支持** - OpenAI、Google Gemini 或本地 Ollama
## 🚀 快速开始
### 前置条件
- Python 3.9+
- (可选)Ollama 用于本地 LLM 支持
- 威胁情报源的 API 密钥(提供免费层级)
### 安装
1. **克隆仓库**
```
cd threat_fusion_engine
```
2. **创建虚拟环境**
```
python -m venv .venv
source .venv/bin/activate # On Windows: .venv\Scripts\activate
```
3. **安装依赖**
```
pip install -r requirements.txt
```
4. **配置 API 密钥**
```
cp .env.example .env
# 编辑 .env 并添加你的 API keys
```
5. **运行应用**
```
streamlit run app.py
```
应用将在 `http://localhost:8501` 上可用
## 🔑 API 密钥设置
### 免费 API 密钥(推荐)
1. **AlienVault OTX**(免费,无限制)
- 注册:https://otx.alienvault.com/
- 获取 API 密钥:https://otx.alienvault.com/api
- 添加到 `.env`:`OTX_API_KEY=your_key_here`
2. **VirusTotal**(免费:4 请求/分钟)
- 注册:https://www.virustotal.com/
- 获取 API 密钥:https://www.virustotal.com/gui/my-apikey
- 添加到 `.env`:`VT_API_KEY=your_key_here`
3. **AbuseIPDB**(免费:1000 请求/天)
- 注册:https://www.abuseipdb.com/
- 获取 API 密钥:https://www.abuseipdb.com/account/api
- 添加到 `.env`:`ABUSEIPDB_API_KEY=your_key_here`
### LLM 提供商设置
**选项 1: Ollama(免费,本地)**
```
# 安装 Ollama
curl -fsSL https://ollama.com/install.sh | sh
# 拉取一个模型
ollama pull gemma2:2b
# 在 .env 中设置
LLM_PROVIDER=ollama
```
**选项 2: OpenAI**
```
# 从 https://platform.openai.com/api-keys 获取 API key
# 在 .env 中设置
LLM_PROVIDER=openai
OPENAI_API_KEY=your_key_here
```
**选项 3: Google Gemini**
```
# 从 https://makersuite.google.com/app/apikey 获取 API key
# 在 .env 中设置
LLM_PROVIDER=google
GOOGLE_API_KEY=your_key_here
```
## 📖 使用指南
### 1. 数据摄取
- **手动上传**:上传威胁报告(TXT, JSON, MD)
- **博客摄取**:通过 URL 摄取安全博客文章
- **OSINT 情报源**:自动从 OTX、URLhaus、ThreatFox 获取
- **示例数据**:加载演示数据以供测试
### 2. IOC/TTP 分析
- 提取入侵指标 (IOC)
- 识别战术、技术和程序 (TTP)
- 自动进行 MITRE ATT&CK 映射
- 使用 VirusTotal、AbuseIPDB 进行实时丰富
### 3. 活动分析
- 关联相关威胁
- 识别攻击活动
- 生成活动画像
- 跟踪威胁行为体活动
### 4. AI 分析师查询
- **自然语言查询**:用简单的英语提问
- **IOC 深度分析**:对特定指标进行详细分析
- **活动深度挖掘**:全面的活动调查
- **威胁狩猎**:获取适用于您的 SIEM 的狩猎查询
### 5. 高级功能
- **威胁预测**:预测下一个攻击向量
- **自动报告**:生成高管摘要
- **响应 Playbook**:获取分步事件响应指南
- **YARA 规则**:自动生成检测规则
## 🏗️ 架构
```
┌─────────────────────────────────────────────────────────────┐
│ Streamlit Web UI │
└─────────────────────────────────────────────────────────────┘
│
┌─────────────────────┼─────────────────────┐
│ │ │
┌───────▼────────┐ ┌────────▼────────┐ ┌────────▼────────┐
│ Threat Feeds │ │ LLM Analytics │ │ Enrichment │
│ - OTX │ │ - Profiling │ │ - VirusTotal │
│ - URLhaus │ │ - Prediction │ │ - AbuseIPDB │
│ - ThreatFox │ │ - Reports │ │ - Caching │
└────────┬───────┘ └────────┬────────┘ └────────┬────────┘
│ │ │
└───────────────────┼─────────────────────┘
│
┌────────▼────────┐
│ Fusion Engine │
│ - Correlation │
│ - Scoring │
│ - Campaigns │
└────────┬────────┘
│
┌────────▼────────┐
│ Storage │
│ - SQLite │
│ - FAISS │
│ - Graph │
└─────────────────┘
```
## 🎓 高级用例
### 1. 威胁情报自动化
```
# 自动摄入、分析和关联威胁
from threat_feeds import ThreatFeedAggregator
from enrichment import AutoEnrichmentPipeline
aggregator = ThreatFeedAggregator()
feeds = aggregator.fetch_all_feeds()
# 自动丰富所有 IOCs
pipeline = AutoEnrichmentPipeline(storage)
pipeline.process_new_iocs(document_id)
```
### 2. AI 驱动的威胁分析
```
from llm_analytics import AdvancedThreatAnalytics
analytics = AdvancedThreatAnalytics()
# 生成威胁参与者画像
profile = analytics.generate_threat_actor_profile(campaign_data)
# 预测下一次攻击
prediction = analytics.predict_next_attack_vector(historical_data)
# 生成响应 playbook
playbook = analytics.generate_response_playbook(threat_data)
```
### 3. 自定义威胁狩猎
```
# 为你的环境生成 hunting queries
queries = analytics.generate_threat_hunting_queries({
'name': 'APT29 Campaign',
'iocs': [...],
'ttps': [...]
})
```
## 📊 功能对比
| 功能 | 基础 CTI | 本系统 |
|---------|-----------|-------------|
| 实时情报源 | ❌ | ✅ 多源 |
| LLM 分析 | ❌ | ✅ 高级 AI |
| 自动丰富 | ❌ | ✅ 多源 |
| 威胁预测 | ❌ | ✅ AI 驱动 |
| 活动检测 | 基础 | ✅ 高级关联 |
| 报告生成 | 手动 | ✅ 自动化 |
| Playbook 创建 | 手动 | ✅ AI 生成 |
| YARA 规则 | 手动 | ✅ 自动生成 |
| 威胁评分 | 简单 | ✅ 多因素 |
| API 集成 | 有限 | ✅ 广泛 |
## 🔒 安全注意事项
- API 密钥存储在 `.env` 中(切勿提交到 git)
- 对所有外部 API 实施了速率限制
- 缓存可减少 API 调用并提高性能
- 审计日志记录跟踪所有系统活动
- 对所有用户输入进行验证
## 📝 许可证
本项目仅用于教育和研究目的。请确保遵守所有 API 服务条款。
## 📧 支持
如遇问题、疑问或功能请求,请在 GitHub 上提 issue。
**用 ❤️ 为网络安全社区打造**
标签:AbuseIPDB, AI风险缓解, Ask搜索, BSD, Cloudflare, DLL 劫持, DNS信息、DNS暴力破解, IOC分析, Kubernetes, LLM, Malware, MITRE ATT&CK, Petitpotam, ThreatFox, Unmanaged PE, URLhaus, VirusTotal, YARA规则, 人工智能, 关联分析, 剧本生成, 大语言模型, 威胁情报, 威胁画像, 安全运营, 实时情报, 开发者工具, 异常检测, 扫描框架, 指标上下文, 攻击归因, 数据挖掘, 杀伤链, 用户模式Hook绕过, 网络安全, 逆向工具, 隐私保护