uv800/om-threat-console
GitHub: uv800/om-threat-console
一款军用战术风格的统一威胁情报控制台,集成了 GEOINT 地图、实时漏洞推送、IOC 多源富化和 AI 分析师,开箱即用支持模拟数据运行。
Stars: 1 | Forks: 1
# OM // 统一威胁情报控制台





一款军用战术级 OSINT / 网络威胁情报仪表板。采用深橄榄色
HUD 主题,配备 GEOINT 卫星战术地图、实时漏洞推送、
OT/ICS 通报、分行业违规分析、网络攻击专电,以及 **OM**
—— 一款内置的 AI 情报分析师,用于威胁狩猎、调查、事件
响应、OSINT 和沙箱工作。
**开箱即用,基于模拟数据运行** —— 无需任何 API key。实时情报推送
和 OM 模型调用均为可选启用项。
## 快速开始
```
npm install
npm run dev
```
打开 http://localhost:5173。地图、CVE 流、漏洞仪表板和专电将
立即基于演示数据实时呈现。在您连接模型(见下文)之前,OM 将基于其内置剧本进行回答。
## 开启 OM(实时 AI 分析师)
OM 通过一个微型代理 (`server.js`) 与 Anthropic 通信,从而确保您的 API key 保留在
服务器端。
```
cp .env.example .env # add ANTHROPIC_API_KEY=sk-ant-...
npm start # runs the OM proxy + Vite together
```
`npm start` 会在端口 :8787 启动 `server.js`,并在端口 :5173 启动 Vite;Vite 会将
`/api/*` 代理到该端口。如果没有配置 key,OM 会静默回退至其离线剧本。
## 调查 / 指标富化
**Investigate**(调查)选项卡(以及聊天中的 OM)会对 VirusTotal、
AbuseIPDB 和 Shodan 执行实时 IOC 查询,然后将它们关联起来生成一个综合评分判决。
- 输入 **IP、域名、hash 或 URL** → 后端会检测类型,并行向
每个源发起查询,并返回 MALICIOUS(恶意) / SUSPICIOUS(可疑) / LOW-RISK(低风险) /
CLEAN(干净)的判定结果及相关证据(VT 检测率、AbuseIPDB 置信度、开放端口、CVE)。
- **OM 同样适用:** 在 OM Analyst(OM 分析师)选项卡中输入 "investigate 185.220.101.44",OM 会调用
`enrich_indicator` 工具,读取真实结果并写出
判决 —— 它绝不会凭记忆猜测信誉。
在**无 key 的演示模式下运行**(结果标记为 `DEMO DATA`)。在 `.env` 中添加
`VIRUSTOTAL_API_KEY`、`ABUSEIPDB_API_KEY`、`SHODAN_API_KEY` 中的任意一个即可启用
真实查询。需要后端处于运行状态(`npm start`)。
Endpoint:`POST /api/enrich { "indicator": "..." }` → 关联报告。
## 开启实时情报推送(仪表板面板)
在 `.env` 中设置 `VITE_USE_LIVE_FEEDS=true` 并添加相应的 key。这样
漏洞面板将从 NVD + CISA KEV 拉取数据;其他连接器
(ICS-CERT、Shodan、MISP)已在 `src/feeds/` 中预置存根,可按相同方式随时接入。
## 项目布局
```
├─ index.html
├─ server.js OM proxy (Anthropic key injected server-side)
├─ vite.config.js dev server + /api proxy
├─ .env.example
└─ src/
├─ main.jsx
├─ App.jsx the whole console (theme, UI, mock generators)
└─ feeds/
├─ index.js live/mock switch + connector contract
├─ normalize.js shared shapes (CVSS→severity, CVE mapping)
├─ nvd.js NVD + CISA KEV → vulnerability feed
├─ icscert.js CISA ICS-CERT → OT/ICS advisories
├─ shodan.js Shodan → exposed OT surface
└─ misp.js MISP → threat events / map telemetry
├─ enrich.js investigation engine (VT + AbuseIPDB + Shodan)
```
## 面板
- **Overview**(概览) —— KPI 卡片、GEOINT 地图、实时漏洞推送、OM 聊天、专电。
- **Threat Map**(威胁地图) —— GEOINT 卫星推送:雷达扫描、目标锁定准星
(HOSTILE / UNKNOWN / FRIENDLY)、移动的 UAV 接触点、MGRS 网格、实时 HUD。
- **Vuln Feed**(漏洞推送) —— 流式 CVE,包含 CVSS、CWE、EPSS、KEV 标志;严重程度分布;
KEV 补丁 SLA 队列。
- **OT / ICS** —— ICS-CERT 风格的通报、按厂商分类的通报、暴露的 OT
协议计数(Modbus、DNP3、EtherNet/IP、BACnet)。
- **Sector Breach**(行业违规) —— 按行业(医疗保健、
电网、金融、制造业、政府、电信、水利、交通)分类的颜色编码卡片 + 柱状图。
- **Wire**(专电) —— 按行业和严重程度标记的多源网络攻击新闻。
- **OM Analyst**(OM 分析师) —— 带有功能模块的全屏聊天界面。
## 注意事项
- 演示数据在页脚处有明确标注。可通过 `src/feeds/` 进行替换。
- OM 在设计上仅用于防御(蓝队剧本、MITRE ATT&CK、IR 阶段)。
- 需要 Node 18+(使用全局 `fetch`)。
## 构建
```
npm run build && npm run preview
```
标签:GitHub, GNU通用公共许可证, HTTP/HTTPS抓包, Node.js, React, Syscalls, Vite, 威胁情报, 安全运营中心, 实时处理, 开发者工具, 态势感知, 数据可视化, 网络映射, 自定义脚本