uv800/om-threat-console

GitHub: uv800/om-threat-console

一款军用战术风格的统一威胁情报控制台,集成了 GEOINT 地图、实时漏洞推送、IOC 多源富化和 AI 分析师,开箱即用支持模拟数据运行。

Stars: 1 | Forks: 1

# OM // 统一威胁情报控制台 ![React](https://img.shields.io/badge/React-18-61DAFB?logo=react&logoColor=black) ![Vite](https://img.shields.io/badge/Vite-5-646CFF?logo=vite&logoColor=white) ![Node](https://img.shields.io/badge/Node-18%2B-339933?logo=node.js&logoColor=white) ![License: MIT](https://img.shields.io/badge/License-MIT-9AA84C) ![Status](https://img.shields.io/badge/status-prototype-D6A93B) 一款军用战术级 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, 威胁情报, 安全运营中心, 实时处理, 开发者工具, 态势感知, 数据可视化, 网络映射, 自定义脚本