Tester623/threat-intelligence-platform
GitHub: Tester623/threat-intelligence-platform
该平台聚合 OSINT 威胁情报源,利用 Neo4j 图数据库映射威胁行为者、攻击活动和 IOC 的关系,支持可视化分析和 STIX 2.1 标准交换。
Stars: 0 | Forks: 0
```
_____ _ _ ___ _ _ ____ _ _ __
|_ _| |__ _ __ ___ __ _| |_ |_ _|_ __ | |_ ___| | | _ \| | __ _| |_ / _| ___ _ __ _ __ ___
| | | '_ \| '__/ _ \/ _` | __| | || '_ \| __/ _ \ | | |_) | |/ _` | __| |_ / _ \| '__| '_ ` _ \
| | | | | | | | __/ (_| | |_ | || | | | || __/ | | __/| | (_| | |_| _| (_) | | | | | | | |
|_| |_| |_|_| \___|\__,_|\__| |___|_| |_|\__\___|_| |_| |_|\__,_|\__|_| \___/|_| |_| |_| |_|
```







一个**威胁情报平台 (TIP)**,聚合 OSINT 威胁情报源,将威胁数据存储在 Neo4j 图数据库中,映射威胁行为者、攻击活动、IOC 和 TTP 之间的关系,支持 STIX 2.1 导入/导出,交互式地可视化威胁图谱,并包含带有完整审计日志的 RBAC。
## 架构
```
graph TB
subgraph Frontend
React[React 18 + Vite]
VisNetwork[vis-network Graph]
AttackMatrix[ATT&CK Heatmap]
GeoMap[Geographic Threat Map]
Recharts[Recharts Dashboard]
Auth[Auth Context + JWT]
end
subgraph Backend
FastAPI[FastAPI Server]
RBAC[RBAC Middleware]
AuditLog[Audit Logger]
APScheduler[APScheduler Feed Sync]
STIXService[STIX 2.1 Service]
end
subgraph Data
Neo4j[(Neo4j Graph DB)]
MockFeeds[Mock Feed Files]
UserStore[User Store + JWT]
end
React --> FastAPI
VisNetwork --> FastAPI
Recharts --> FastAPI
AttackMatrix --> FastAPI
GeoMap --> FastAPI
Auth --> RBAC
FastAPI --> Neo4j
RBAC --> UserStore
RBAC --> AuditLog
APScheduler --> MockFeeds
APScheduler --> Neo4j
STIXService --> Neo4j
```
## 图数据模型
```
erDiagram
ThreatActor ||--o{ Campaign : ATTRIBUTED_TO
ThreatActor ||--o{ IOC : USES
ThreatActor ||--o{ TTP : USES
Campaign ||--o{ IOC : USES
Campaign ||--o{ TTP : USES
Report ||--o{ ThreatActor : REFERENCES
Report ||--o{ Campaign : REFERENCES
IOC ||--o{ IOC : RELATED_TO
ThreatActor {
string name
list aliases
string sophistication
string motivation
string origin_country
string tlp
}
Campaign {
string name
string status
list target_sectors
list target_regions
}
IOC {
string value
string type
int confidence
list tags
string source_feed
}
TTP {
string technique_id
string technique_name
string tactic
}
Report {
string title
string published
string tlp
}
```
## 快速开始
```
git clone https://github.com/yourusername/threat-intel-platform.git
cd threat-intel-platform
docker compose up
```
打开 [http://localhost:3000](http://localhost:3000) 并使用以下默认账户之一登录:
| 用户名 | 密码 | 角色 | TLP 授权级别 |
|----------|----------|------|---------------|
| `admin` | `admin123` | Admin | RED(完全访问) |
| `analyst` | `analyst123` | Analyst | AMBER(写权限) |
| `viewer` | `viewer123` | Read-only | GREEN(受限查看) |
## 截图
| 仪表盘 | 威胁图谱 | ATT&CK 矩阵 |
|-----------|-------------|----------------|
|  |  |  |
| 地理地图 | 行为者档案 | 审计日志 |
|---------------|---------------|-----------|
|  |  |  |
## 功能
### 威胁情报
- **8 个真实的威胁行为者**(APT29、APT28、Lazarus、FIN7、Sandworm、Scattered Spider、OilRig、Kimsuky)
- **6 个攻击活动档案**,包含目标部门、区域和状态跟踪
- **42+ 个 IOC**,涵盖 IP、域名、URL、哈希和电子邮件,并带有置信度评分
- **15 个 MITRE ATT&CK TTP**,映射贯穿整个杀伤链
- **4 份威胁报告**,带有 TLP 标记
### MITRE ATT&CK 热力图矩阵
- 完整的 ATT&CK 战术列:从 Resource Development 到 Impact
- 根据行为者覆盖强度对技术单元格进行颜色编码
- 点击任意技术查看哪些威胁行为者在使用它
- 显示利用率的覆盖度柱状图
- 带有 4 级颜色渐变的图例
### 地理威胁地图
- 带有行为者源头标记的 SVG 世界地图(按成熟度着色)
- 从攻击源头到攻击活动目标区域的动画虚线弧
- 点击行为者查看攻击活动详情、目标部门和区域
- 按动机过滤(间谍活动、金融犯罪、破坏活动)
- 带有自动布局的脉冲标记
### 图谱可视化
- 带有颜色编码节点类型的交互式 vis-network 图谱
- 节点大小随连接数缩放
- 按节点类型过滤(Actor/Campaign/IOC/TTP/Report)
- 点击高亮连接的节点并显示详情面板
- 支持物理引擎的自组织布局
### RBAC 与安全
- 带有登录/注册流程的 **JWT 身份验证**
- **3 种角色:** Admin(完全访问)、Analyst(读/写)、Read-only(仅查看)
- **基于 TLP 的访问控制:** 用户只能看到与其授权级别匹配的数据
- WHITE:公开,对所有人可见
- GREEN:社区,对 GREEN 及以上授权级别可见
- AMBER:受限,对 AMBER 及以上授权级别可见
- RED:限制,仅 Admin 可见
- 写入操作(创建行为者、导入 STIX、批量导入 IOC)需要 Analyst 或 Admin 角色
- 显示角色和 TLP 授权级别的用户徽章栏
### 审计追踪
- 对所有平台操作(查看、搜索、导出、创建)进行**完整的审计日志记录**
- 每个 API 调用都会记录:时间戳、用户名、操作、资源类型、资源 ID、详细信息
- 仅限 Admin 访问的审计日志页面,包含:
- 统计仪表盘:总事件数、活跃用户、热门操作
- 可按用户、操作和资源类型过滤的表格
- 颜色编码的操作徽章
- 用于监控的审计统计 endpoint
### OSINT 情报源聚合
- URLhaus(恶意 URL)
- AlienVault OTX(威胁脉冲)
- MISP(威胁共享事件)
- Feodo Tracker(僵尸网络 C2 服务器)
- 基于 APScheduler 的每 60 秒自动同步
- 自动将情报源 IOC 链接到已知的行为者/攻击活动
### STIX 2.1 支持
- 将数据库完整导出为 STIX 2.1 bundle
- 导入 STIX bundle 并自动合并
- 转换所有节点类型:threat-actor、campaign、indicator、attack-pattern、report、relationship
### 搜索与分析
- 支持类型、置信度、情报源和文本过滤的 IOC 搜索
- 跨越行为者、攻击活动和 IOC 的全局搜索
- 带有 IOC 类型分布和行为者动机图表的仪表盘
- 热门标签和最近活动源
## API Endpoints
| 方法 | Endpoint | 权限 | 描述 |
|--------|----------|------|-------------|
| POST | `/api/auth/register` | - | 注册新用户 |
| POST | `/api/auth/login` | - | 登录,获取 JWT |
| GET | `/api/auth/me` | Any | 当前用户信息 |
| GET | `/api/auth/audit` | Admin | 带有过滤器的审计日志 |
| GET | `/api/auth/audit/stats` | Admin | 审计统计数据 |
| GET | `/api/stats` | - | 仪表盘统计数据 |
| GET | `/api/analytics/attack-matrix` | - | ATT&CK 矩阵数据 |
| GET | `/api/analytics/geo` | - | 地理威胁数据 |
| GET | `/api/actors` | - | 列出行为者(经 TLP 过滤) |
| GET | `/api/actors/{id}` | - | 行为者档案(已进行 TLP 检查) |
| GET | `/api/actors/{id}/graph` | - | 行为者子图 |
| POST | `/api/actors` | Analyst+ | 创建行为者 |
| GET | `/api/campaigns` | - | 列出攻击活动 |
| GET | `/api/campaigns/{id}` | - | 攻击活动详情 |
| GET | `/api/iocs` | - | 搜索 IOC |
| POST | `/api/iocs` | Analyst+ | 创建 IOC |
| POST | `/api/iocs/bulk` | Analyst+ | 批量导入 IOC |
| GET | `/api/graph/full` | - | 完整平台图谱 |
| GET | `/api/feeds/status` | - | 情报源同步状态 |
| POST | `/api/feeds/sync` | - | 手动同步情报源 |
| GET | `/api/stix/export` | - | 导出 STIX 2.1 bundle |
| POST | `/api/stix/import` | Analyst+ | 导入 STIX 2.1 bundle |
## 测试
```
pip install -r backend/requirements.txt
python -m pytest backend/tests/ -v
```
**76 个测试**涵盖:
- 图谱操作(完整图谱、行为者子图、IOC 图谱、统计数据)
- STIX 2.1 转换(所有 5 种对象类型 + 关系 + 导入/导出)
- 搜索服务(带过滤器的 IOC 搜索、全局搜索)
- 情报源解析(URLhaus、OTX、MISP、Feodo 格式)
- 分析(IOC 类型、行为者动机、顶级行为者、攻击活动时间线)
- 身份验证(注册、登录、JWT 创建/验证、token 篡改)
- TLP 访问控制(层级检查、授权验证)
- 审计日志(创建条目、过滤、统计、按时间倒序)
- API endpoints(统计数据、行为者、IOC、情报源、STIX 导出)
## 技术栈
- **后端:** Python 3.11, FastAPI, neo4j-driver, APScheduler, Pydantic v2
- **前端:** React 18, Vite, TailwindCSS, vis-network, Recharts, Axios
- **数据库:** Neo4j 5.15(使用 Cypher 查询的图数据库)
- **认证:** JWT token,RBAC(3 种角色),基于 TLP 的访问控制
- **数据格式:** STIX 2.1
- **基础设施:** Docker Compose, GitHub Actions CI
## 展示的技能
- **图数据库建模** -- 包含 5 种节点类型和 7 种关系类型的 Neo4j schema 设计,参数化 Cypher 查询
- **STIX 2.1 / TAXII 威胁情报标准** -- 内部图模型与 STIX 2.1 bundle 之间的双向转换
- **CTI 工作流** -- 行为者画像、攻击活动跟踪、IOC 管理、TLP 分类、置信度评分
- **MITRE ATT&CK 框架集成** -- 包含 10 项战术中 15 项技术的完整热力图矩阵,行为者覆盖分析
- **地理威胁分析** -- 带有动画攻击弧线的基于 SVG 的威胁地图,从源头到目标的可视化
- **威胁情报源聚合与解析** -- 多格式情报源摄取(URLhaus、OTX、MISP、Feodo)及自动关联
- **身份验证与授权** -- 基于 JWT 的身份验证、基于角色的访问控制 (RBAC)、TLP 授权层级
- **审计日志与合规性** -- 带有过滤功能、统计仪表盘的完整审计追踪,企业级安全模式
- **全栈开发** -- FastAPI REST API,带有交互式图谱可视化和认证上下文的 React SPA
- **基础设施** -- Docker Compose 多服务编排,GitHub Actions CI pipeline
- **数据可视化** -- vis-network 交互式图谱,Recharts 分析,ATT&CK 热力图,地理 SVG 地图
## 许可证
MIT
标签:AV绕过, FastAPI, masscan, Mutation, Neo4j, React, STIX, Syscalls, 可视化, 威胁情报平台, 安全, 请求拦截, 超时处理, 逆向工具