solomonneas/intel-workbench
GitHub: solomonneas/intel-workbench
一款浏览器原生、零后端依赖的竞争假设分析(ACH)工作台,帮助网络威胁情报分析师进行结构化假设推理、MITRE ATT&CK 技术标注和认知偏差识别,完全离线可用。
Stars: 0 | Forks: 0
Intel Workbench
用于网络威胁情报的结构化分析技术。
Intel Workbench 是一个交互式的竞争假设分析 (ACH) 工具,将严谨的情报方法论引入浏览器。对证据与假设进行评分,将发现映射到 MITRE ATT&CK,识别认知偏差,并导出结构化评估。零后端,完全离线可用,提供八种独特的视觉主题。 ## ✨ 功能 - **ACH 矩阵**:交互式证据-假设网格,支持一致性评级 (C/I/N/NA)、加权评分和自动优先假设识别 - **MITRE ATT&CK 标记**:使用 Enterprise ATT&CK 矩阵中的技术(691 项技术,14 个战术)对证据和假设进行标记。可通过 ID、名称或战术进行搜索。本地化存储,使工作台保持离线优先 - **认知偏差清单**:Heuer & Pherson 分类法,涵盖认知、分析和社会三个类别的 12 种偏差;跟踪每种偏差的缓解说明 - **评分可视化**:实时标准化评分条,显示假设支持水平,带有颜色编码的置信度指示器 - **ICD 203 估计语言**:根据 ODNI 分析标准,选择 1-5%/5-20%/.../95-99% 范围内的可能性级别(从“几乎不可能”到“几乎肯定”);首选假设会在矩阵和 Markdown 导出中显示概率条带 - **证据权重**:可信度和相关性评级(高/中/低),作为加权不一致性评分的输入 - **导出与导入**:完整的 JSON 导入/导出功能,用于备份和分享;Markdown 导出用于报告生成(包含 ATT&CK 技术 ID) - **8 种视觉主题**:Langley、Terminal、Analyst's Desk、Stratcom、Cyber Noir、Casefile Atlas、Ops Floor 和 Blacksite Minimal - **应用内引导教程**:由 driver.js 驱动的首次访问演练,高亮展示每一项主要功能 - **内置文档**:全面的帮助页面,涵盖 ACH 方法论、评分、偏差意识和键盘快捷键 - **离线优先**:所有数据持久化在 localStorage 中;无需任何服务器即可工作 - **键盘可访问**:支持跨矩阵网格的完整键盘导航 ## 🏗️ 架构 Intel Workbench 是一个**无后端依赖的单页 React 应用程序**: ``` Browser └─ React 18 (SPA, React Router v6) ├─ Zustand Store ← persist middleware → localStorage ├─ ThemeContext (per-variant color tokens) ├─ Pages: Home / ACH / Bias / Export / Docs └─ 8 Variant Layouts (lazy-loaded) ``` - **状态管理:** 带有 `persist` 中间件的 Zustand 将数据写入 `localStorage` 的 `intel-workbench-projects` 键下 - **路由:** React Router v6,带有嵌套的变体路由(`/v1/*`, `/v2/*`, …, `/v8/*`, `/default/*`)以及在 `/` 路径下的变体选择器 - **主题:** `ThemeContext` 为每个变体提供颜色 token;组件通过 `useTheme()` 读取它们 - **代码分割:** 变体布局使用 `React.lazy()` 加载,以保持初始包体积小巧 ## 🚀 快速开始 ### 前置条件 - **Node.js** ≥ 18 - **npm** ≥ 9 ### 安装与运行 ``` git clone https://github.com/solomonneas/intel-workbench.git cd intel-workbench npm install npm run dev ``` 在浏览器中打开 [http://localhost:5173](http://localhost:5173)。 ### 生产构建 ``` npm run build npm run preview ``` ### 运行测试 ``` npm test # vitest, single run npm run test:watch npm run typecheck ``` CI 会在每次推送时运行类型检查 + 测试 + 生产构建 (`.github/workflows/ci.yml`)。 ## 🛠️ 技术栈 | 层 | 技术 | 用途 | |-------|-----------|---------| | **框架** | React 18 | 组件 UI | | **语言** | TypeScript 5 | 类型安全 | | **样式** | Tailwind CSS 3 | 实用优先 CSS | | **状态** | Zustand 4 | 全局状态 + 持久化 | | **路由** | React Router 6 | 客户端导航 | | **图标** | Lucide React | 统一的图标集 | | **打包器** | Vite 7 | 开发服务器 + 构建 | | **导览** | driver.js 1.3 (CDN) | 引导式入门 | ## 📁 项目结构 ``` intel-workbench/ ├── index.html # Entry point + CDN links ├── package.json ├── vite.config.ts ├── tailwind.config.js ├── tsconfig.json ├── public/ │ └── vite.svg └── src/ ├── main.tsx # React root ├── App.tsx # Router + variant routes ├── index.css # Tailwind layers + component classes ├── components/ │ ├── ach/ │ │ ├── ACHMatrix.tsx # Interactive hypothesis matrix │ │ └── ACHScoreBar.tsx │ ├── bias/ │ │ └── BiasChecklist.tsx │ ├── layout/ │ │ └── AppShell.tsx # Default sidebar layout │ └── GuidedTour.tsx # driver.js onboarding tour ├── contexts/ │ └── ThemeContext.tsx # Theme color provider ├── data/ │ ├── biasData.ts # Cognitive bias catalog │ └── sampleProject.ts # Sandworm sample data ├── pages/ │ ├── HomePage.tsx # Project list & creation │ ├── ACHPage.tsx # Matrix workspace │ ├── BiasPage.tsx # Bias review │ ├── ExportPage.tsx # JSON/Markdown export │ ├── DocsPage.tsx # In-app help & documentation │ └── VariantPicker.tsx # Theme selector landing ├── store/ │ └── useProjectStore.ts # Zustand store (persisted) ├── types/ │ └── index.ts # TypeScript interfaces ├── utils/ │ ├── achScoring.ts # Scoring algorithms │ ├── id.ts # ID generator │ └── useBasePath.ts # Variant-aware navigation └── variants/ ├── v1/Layout.tsx # Langley (intel agency) ├── v2/Layout.tsx # Terminal (hacker) ├── v3/Layout.tsx # Analyst's Desk (clean) ├── v4/Layout.tsx # Stratcom (military) ├── v5/Layout.tsx # Cyber Noir (cyberpunk) ├── v6/Layout.tsx # Casefile Atlas (evidence desk) ├── v7/Layout.tsx # Ops Floor (live cell) └── v8/Layout.tsx # Blacksite Minimal (brutalist) ``` ## 🎨 8 种变体 每个变体将相同的核心页面包裹在独特的视觉标识中: | 变体 | 主题 | 风格 | |---------|-------|-----------| | **v1 : Langley** | 情报机构 | 深海军蓝,金色点缀,衬线字体,机密印章 | | **v2 : Terminal** | 黑客 / OSINT | 纯黑,矩阵绿,扫描线叠加,等宽字体 | | **v3 : Analyst's Desk** | 简洁专业 | 浅色背景,蓝色点缀,内容优先布局 | | **v4 : Stratcom** | 军事指挥 | 橄榄绿,琥珀色点缀,网格图案,军用时间 | | **v5 : Cyber Noir** | 赛博朋克 | 霓虹青色 + 洋红色,发光效果,玻璃拟态 | | **v6 : Casefile Atlas** | 证据台 | 暖色纸张,红线证据板,衬线字体为主的档案 | | **v7 : Ops Floor** | 实时单元 | 密集的指挥中心布局,青色信号线,琥珀色状态块 | | **v8 : Blacksite Minimal** | 粗野主义 | 严酷的单色,酸橙绿强调,硬边缘控件 |
标签:ACH, Cloudflare, ICD 203, MITRE ATT&CK, React, SPA, Syscalls, Tailwind CSS, TypeScript, Vite, Vitest, Zustand, 偏差检查, 分析师工具, 单页应用, 威胁情报, 安全插件, 开发者工具, 情报分析, 浏览器原生, 离线优先, 竞争性假设分析, 结构化分析技术, 网络安全, 网络诊断, 置信度评估, 自动化攻击, 隐私保护