batucaglarr/CyberSim
GitHub: batucaglarr/CyberSim
CyberSim 是一个实时网络安全威胁情报仪表板,通过对 NVD CVE 数据进行部门映射、风险评分和 MITRE ATT&CK/ICS 技术关联,帮助用户监控关键基础设施的漏洞态势和 APT 威胁活动。
Stars: 0 | Forks: 0
# CyberSim — 威胁情报仪表板
一个用于关键基础设施网络安全研究的全栈安全运营中心(SOC)仪表板。作为硕士级别的网络安全论文项目的一部分而构建。
## 概述
CyberSim 从 NVD(国家漏洞数据库)摄取实时 CVE 数据,将漏洞映射到关键基础设施部门(能源、水务、金融、电信),计算综合风险评分,并叠加 MITRE ATT&CK/ICS 技术——所有这些都显示在 Bloomberg 终端风格的深色仪表板中,并带有实时的威胁行为者世界地图。
## 技术栈
| 层级 | 技术 |
|-----------|-----------------------------------------|
| 后端 | Python 3.11+, FastAPI, httpx, uvicorn |
| 前端 | React 18, Vite, Recharts, Leaflet.js |
| 数据 | NVD REST API v2, MITRE CTI (GitHub) |
## 设置
### 后端
```
cd cybersim/backend
pip install -r requirements.txt
python -m uvicorn main:app --reload --port 8000
```
API 将在 `http://localhost:8000` 上线
### 前端
```
cd cybersim/frontend
npm install
npm run dev
```
仪表板将在 `http://localhost:5173` 上线
## API 参考
| Endpoint | 描述 |
|-----------------------------|-------------------------------------------------------|
| `GET /api/cves` | 所有 CVE(最近 90 天,ICS/SCADA 关键字) |
| `GET /api/cves/{sector}` | 按部门过滤的 CVE(energy/water/finance/telecom) |
| `GET /api/risk-scores` | 每个部门的综合风险评分 |
| `GET /api/mitre-techniques` | 每个部门排名前列的 MITRE ATT&CK/ICS 技术 |
| `GET /api/stats` | 汇总统计数据 + 7 天趋势 + 严重性统计 |
| `GET /api/threat-actors` | APT 组织位置、所属部门和 CVE |
| `GET /api/summary` | 标题摘要、主要威胁、趋势方向 |
| `GET /health` | 健康检查 |
### 风险评分公式
```
composite_score = (avg_cvss × 0.5) + (sector_weight × 10 × 0.3) + (normalized_frequency × 10 × 0.2)
Sector weights: Energy=1.0 | Finance=0.9 | Water=0.85 | Telecom=0.7
```
## 仪表板面板
- **Panel A** — CVE 总数、严重性甜甜圈图、威胁等级指示器(CRITICAL / HIGH / ELEVATED / NOMINAL)
- **Panel B** — 7 天 CVE 趋势条形图,带有趋势方向标签(▲ INCREASING / — STABLE / ▼ DECREASING)
- **Panel C** — 实时 CVE 通知流(● LIVE),按 CVSS 排序,仅显示前 15 条
- **Panel D** — 部门风险指数条形图 + MITRE ATT&CK/ICS 技术计数
- **Panel E** — 世界地图:APT 行为者标记、动画攻击弧线叠加、部门过滤按钮、实时攻击滚动条
- **Panel F** — 严重性细分、关键 CVE 的数字递增动画、系统状态指示器
## 页面
| 页面 | 描述 |
|----------------|----------------------------------------------------------------|
| CVE Feed | 完全可排序/过滤的 CVE 表格、严重性条、CSV 导出 |
| MITRE ATT&CK | 按部门分组的所有 ICS 技术,带有战术徽章 |
| Sectors | 部门深入分析:风险评分、主要威胁 CVE、CVE 列表 |
| Reports | 汇总统计数据、雷达图、严重性趋势、导出 |
## 弹性与数据质量
- **兜底数据**:启动时预加载了 55 条真实的 CVE 和 48 项 MITRE 技术,因此所有面板始终有数据显示——即使 NVD 和 MITRE API 无法访问
- **重试逻辑**:NVD 关键字获取最多重试 3 次,每次延迟 2 秒,然后再回退到缓存数据
- **后台刷新**:每小时在兜底数据之上合并实时 NVD 数据;兜底 CVE 绝不会被覆盖
- **前端重试**:每个 API 调用重试两次(2 秒 / 4 秒延迟),并在失败时保留最后一次成功的响应
## 数据来源
- **NVD API v2**: `https://services.nvd.nist.gov/rest/json/cves/2.0`
- **MITRE ATT&CK for ICS**: `https://github.com/mitre/cti` (ICS attack bundle)
## 注意事项
- NVD API 有速率限制;后端在关键字搜索之间增加了 0.8 秒的延迟
- 所有数据在内存中缓存 1 小时;前端每 60 秒自动刷新一次
- 如果 API 无法访问,仪表板将使用兜底数据进行优雅渲染
标签:AV绕过, FastAPI, PKINIT, React, Syscalls, 威胁情报, 安全运营, 工控安全, 开发者工具, 扫描框架, 自定义脚本, 运行时操纵