shynsec/lumen-graph

GitHub: shynsec/lumen-graph

一款基于浏览器的单文件开源情报与威胁情报图谱编辑器,无需安装即可绘制实体关联关系并标注MITRE ATT&CK战术。

Stars: 0 | Forks: 0

image # Lumen Graph **一个独立的开源情报和威胁情报图谱编辑器,供调查人员使用。** Lumen Graph 完全在浏览器中运行,是一个独立的 HTML 文件——无需安装、无需服务器、无需依赖项。打开即可开始绘图。 image ## 功能说明 Lumen Graph 可让您直观地映射调查中各实体之间的关系——IP 地址、域名、电子邮件地址、人员、组织——并随时记录您的情报。 它专为 **CTI 分析师、开源情报调查人员和 SOC 团队** 设计,这些人员需要构建和共享关联分析图谱,而无需搭建基础设施。 ## 功能特性 ### 核心图谱 - **6 种实体类型** — IP 地址、域名、电子邮件、人员、组织、通用 - **力导向布局**,支持手动拖拽定位 - **有向边**,带有关联标签 - **缩放、平移和小地图**导航 ### 调查工作流 - **节点属性面板** — 备注、来源、观察日期、威胁评分 (1–10)、TLP 分类、置信度、分组分配 - **证据链接** — 附加到每个节点,仅验证 `https://` - **MITRE ATT&CK 标记** — 搜索并标记每个节点的战术 ID,在画布上显示为标签 - **调查时间线** — 带日期的节点显示为时间顺序轨道 - **案例元数据** — 案例名称、分析师、TLP、描述以及草稿/已审核/已发布状态 ### 分析工具 - **路径查找器** — 查找任意两个节点之间的最短连接路径 - **聚类检测** — 自动检测连通分量,用彩色环标识 - **搜索和筛选** — `⌘K` 搜索,使不匹配的节点变暗 - **图谱统计** — 连接最多的节点、最高威胁评分、聚类数量、日期范围 ### 数据导入/导出 - **导出 JSON** — 完整保存图谱,包括所有元数据 - **导入 JSON** — 恢复已保存的图谱 - **导出 PNG** — 画布快照,包含必需的 TLP 颜色条和水印 - **导出 STIX 2.1** — 标准包,可导入 MISP、OpenCTI、QRadar - **导入 CSV** — 从结构化文件批量导入节点和边 - **自动检测实体** — 粘贴原始文本(电子邮件头、WHOIS、Shodan 输出)并自动提取 IP、域名、邮箱、哈希值、CVE ### 完善功能 - **自动保存** — 通过 localStorage,图谱在页面刷新后仍然保留 - **撤销/重做** — 完整历史记录,支持 `⌘Z` / `⌘⇧Z` - **演示模式** — 隐藏所有 UI 用于演示 (`F`) - **深色/浅色模式** — 点击太阳图标切换,偏好设置已保存 - **键盘快捷键** — 按 `?` 查看完整参考 ## 开始使用 ``` git clone https://github.com/yourusername/lumen-graph.git cd lumen-graph open index.html ``` 或者直接下载 `index.html`,在任何现代浏览器中直接打开。 无需 npm。无需构建步骤。首次加载后无需互联网连接(字体在首次打开时从 Google Fonts 加载)。 ## CSV 导入格式 ### 节点 (`nodes.csv`) ``` label,type,notes,source,date,score,tlp 185.220.101.47,IP,Tor exit node seen in honeypot,Shodan,2024-11-01,8,RED evil-c2.net,Domain,C2 domain registered via privacy proxy,WHOIS,2024-11-03,7,AMBER ``` **`type`** 必须是以下之一:`IP`、`Domain`、`Email`、`Person`、`Org`、`Generic` **`score`** 为 1–10 **`tlp`** 为 `WHITE`、`GREEN`、`AMBER` 或 `RED` **`date`** 为 `YYYY-MM-DD` ### 边 (`edges.csv`) ``` source,target,label 185.220.101.47,evil-c2.net,resolves-to evil-c2.net,attacker@proton.me,registered-by ``` 示例 CSV 模板位于 [`/samples`](/samples) 目录中。 ## 键盘快捷键 | 操作 | 快捷键 | |---|---| | 边模式 | `E` | | 路径查找器 | `P` | | 搜索节点 | `⌘K` | | 图谱统计 | `S` | | 演示模式 | `F` | | 快捷键参考 | `?` | | 撤销 | `⌘Z` | | 重做 | `⌘⇧Z` | | 取消/关闭 | `Esc` | | 快速添加节点 | 右键点击画布 | | 打开属性 | 点击节点 | ## 安全说明 Lumen Graph 是一个本地工具——它不会发出任何网络请求,仅将数据存储在浏览器的 localStorage 中。已实施以下安全措施: - **内容安全策略** — 阻止注入脚本执行 - **URL 验证** — 证据链接必须是 `https://` 或 `http://`;拒绝 `javascript:` URI - **导入清理** — 所有导入的 JSON 字符串字段在接触 DOM 之前都会剥离 HTML 标签 - **不使用 `innerHTML` 处理用户数据** — 所有用户提供的内容都通过 `textContent` 设置 ## TLP 处理 TLP 分类在案例元数据面板中按案例级别设置。PNG 导出始终在图像顶部包含彩色 TLP 条。STIX 导出包含 TLP 标记定义。 TLP 不会限制工具内部的访问——它是一个标签和导出标记系统。 ## 路线图 - [ ] 按威胁评分调整节点大小 - [ ] 时间图谱筛选(日期范围滑块) - [ ] 归属模型(谁添加了什么) - [ ] 攻击链视图(按 MITRE 战术的杀伤链布局) - [ ] 离线字体打包 ## 许可证 MIT — 见 [LICENSE](LICENSE) ## 版本 `v1.0.0` — 首次公开发布
标签:Cloudflare, ESC4, MITRE ATT&CK, OSINT, STIX 2.1, TLP分类, 单文件工具, 可视化分析, 后端开发, 图编辑器, 多模态安全, 威胁情报, 威胁评分, 实体关系图, 开发者工具, 强制布局图, 数据可视化, 数据库接管, 无需安装, 时间线, 浏览器工具, 溯源分析, 网络威胁情报, 网络安全, 聚类分析, 节点属性, 调查工具, 路径分析, 链接分析, 隐私保护