Chill-Ethical-People/Optrasight
GitHub: Chill-Ethical-People/Optrasight
一款开源的本地化网络威胁情报工作站,将 OSINT 分流、威胁行为者画像、AI 辅助分析和多平台狩猎查询生成整合在统一工作流中。
Stars: 10 | Forks: 0
用于 OSINT 分流、威胁行为者画像、AI 辅助分析和狩猎查询生成的开源网络威胁情报工作站。
OptraSight Batch One 是一款面向安全分析师、威胁情报团队、检测工程师和托管安全服务提供商的开源网络威胁情报 (CTI) 工作站。它在一个本地分析师工作区中,将开源情报 (OSINT) 监控、证据审查、威胁行为者画像、AI 辅助分流和防御性狩猎查询起草整合在一起。
核心工作流非常简单:收集公开的威胁信号、审查证据、丰富行为者上下文、为 SIEM 和检测平台起草狩猎逻辑,并确保从输入到行动的整个过程中保持来源可追溯性。
在运行下载的发布存档之前,请使用 [VERIFYING.md](./VERIFYING.md) 验证其校验和与签名。
本次发布是有意聚焦的:提供一个干净、可检查的工作站,用于开源情报审查和威胁行为者分析。它旨在从第一天起就发挥实用价值,同时为产品通过未来的公开发布留下发展空间。
静态演示站点:[chill-ethical-people.github.io/Optrasight](https://chill-ethical-people.github.io/Optrasight/)。
## 宣传视频
观看从 OSINT 信号到威胁行为者画像、狩猎查询起草以及分析师行动的 Batch One 工作流。
Watch the full Batch One promo video
## 产品截图
| Intel Inbox | 威胁行为者画像 |
| --- | --- |
|  |  |
| 威胁行为者画像详情 | AI 设置 |
| --- | --- |
|  |  |
## 仓库概览
| 字段 | 详情 |
| --- | --- |
| 产品类别 | 开源 CTI 工作站、OSINT 分流工具、威胁行为者画像管理器、AI 辅助威胁情报工作区 |
| 主要用户 | SOC 分析师、CTI 分析师、检测工程师、事件响应团队、MSSP 分析师、安全研究员 |
| 核心工作流 | OSINT 发现 -> 证据审查 -> 行为者上下文 -> 狩猎查询起草 -> 分析师行动 |
| AI 模式 | 自带提供商密钥;严格模式会显示真实的提供商错误,而不是模拟输出 |
| 数据模式 | 公共种子数据包含在 git 中;运行时数据库、API 密钥、上传的肖像和机密信息保留在本地 |
| 部署模型 | 由 SQLite 支持的本地 Express + React 应用 |
如果您正在寻找以下内容,OptraSight 将非常适合您:
- 用于 OSINT 分流的开源威胁情报平台;
- 用于威胁行为者画像和行为者档案的网络威胁情报工具;
- 保持证据可追溯性的 AI 辅助 SOC 分析师工作站;
- 为 Splunk SPL、Elastic KQL、Microsoft Sentinel KQL、Google Chronicle YARA-L、Palo Alto Cortex XQL、Sigma 和 YARA 提供支持的狩猎查询生成器;
- 用于评估公开威胁报告、指标、战术、技术、程序和分析师笔记的本地优先安全运营工具。
## 用例
- 在一个工作流中,结合来源上下文、严重性、ATT&CK 范围、受影响的技术和分析师笔记,对公开的 OSINT 发现进行分流。
- 维护包含别名、活动、指标、战术、技术、程序、置信度驱动因素、证据引用和档案导出的威胁行为者画像。
- 使用配置的 AI 提供商来协助进行结果分析、CIRT 式分流、深入审查、行为者丰富和狩猎查询起草。
- 为 Splunk SPL、Elastic KQL、Microsoft Sentinel KQL、Google Chronicle YARA-L、Palo Alto Cortex XQL、Sigma 和 YARA 起草防御性狩猎逻辑。
- 使用经过脱敏的公共种子数据、带水印的行为者肖像、不含捆绑机密以及严格的提供商错误处理来评估本地优先的 CTI 工作站。
## 核心能力
Batch One 专注于从信号输入到防御就绪输出的分析师工作流:
- **Intel Inbox**:用于解析的 OSINT 发现、来源审查、AI 分流、CIRT 式深入审查和发现级别的分析。
- **Actor Observatory**:用于威胁行为者画像、行为者别名、TTP、IOC、活动、证据、肖像和导出。
- **Hunting queries**:根据选定的情报生成,用于在常见的 SIEM 和检测语言中进行防御性验证。
- **AI Setup**:用于您自己的 DeepSeek、OpenAI、Anthropic 或 Google Gemini 提供商密钥。
- **Job Control**:用于后台 AI 和数据摄取工作。
- **Platform Users**:用于本地管理员和审阅者账户。
## 发布范围
Batch One 有意聚焦于分析师工作站体验:Intel Inbox、Actor Observatory、威胁行为者画像、Hunting Queries、AI Setup、Job Control 以及本地平台访问控制。它旨在作为公开开源发布发挥实用价值,同时保持操作界面清晰、可检查且易于在本地运行。
一些更广泛的平台功能不包含在此次公开发布中。本仓库没有暴露每一个内部模块或未来方向,而是保持了 Batch One 边界的简单明了:威胁情报输入、行为者分析以及以证据为导向的狩猎工作流。
## 快速开始
### 1. 克隆并安装
```
git clone https://github.com/
/optrasight.git
cd optrasight
npm install
```
### 2. 还原公开的 BatchOne 数据集
```
npm run db:restore-public
```
这将从经过脱敏的公开发布资产中创建一个被 git 忽略的本地 `data.db`:
```
data/public/optrasight-threat-intel-public.db
data/public/optrasight-threat-actors-public.db
data/public/portraits/
```
还原步骤会将公开的威胁情报发现、威胁行为者画像和带水印的威胁行为者画像复制到本地运行时路径中。它**不会**还原 API 密钥或私有机密。
如果您有意要重建现有的本地运行时数据库:
```
npm run db:restore-public -- --force
```
### 3. 启动平台
```
npm run dev
```
打开:
```
http://localhost:5000
```
### 4. 使用本地种子账户登录
这些凭据是公开的,仅用于首次本地运行访问。在将 OptraSight 用于真实数据之前,请轮换、禁用或删除它们。
| 角色 | 邮箱 | 临时密码 |
| --- | --- | --- |
| 平台管理员 | `admin@cep.com` | `ChangeMe!2026Admin` |
| 只读审阅者 | `reviewer@cep.com` | `ChangeMe!2026Review` |
种子账户必须更改临时密码并注册 MFA,然后才能解锁平台功能。
### 5. 添加您的 AI 提供商密钥
打开 `/#/ai-setup` 并添加您自己的 AI 提供商密钥。OptraSight 支持 DeepSeek、OpenAI、Anthropic 和 Google Gemini 的实时路由。
AI 提供商密钥与公开种子数据分开存储。它们不包含在仓库中,也不会从公开种子数据中还原。当启用严格模式时,不可用或配置错误的提供商会返回真实的设置错误,而不是静默的模拟输出。
## Git 中包含的内容
该公共仓库旨在被克隆时不包含私有运行时状态。
被跟踪的公共种子资产:
```
data/public/optrasight-threat-intel-public.db
data/public/optrasight-threat-actors-public.db
data/public/portraits/
```
仅限本地的运行时和机密路径保持被 git 忽略:
```
data.db
data/data.db
data/secrets/
data/private/
data/portraits/
.env
dist/
node_modules/
```
实际上:在用户运行 `npm run db:restore-public` 并添加他们自己的 AI 密钥之前,全新的 GitHub 克隆看起来不会与维护者的机器完全一样。
## 核心工作流
### Intel Inbox
审查已解析的 OSINT 发现,过滤广告和低可操作性项目,检查来源和摄取时间戳,对单个发现运行 AI 分析,并将 CIRT 分流或深入调查作业加入队列。
### Actor Observatory
检查并维护包含别名、针对的行业和地区、TTP、IOC、活动、置信度驱动因素、证据引用、肖像和可导出档案的威胁行为者画像。
### Hunting Queries
根据选定的情报生成防御性狩猎查询。其目标是保持与来源发现和行为者上下文相关联的实用验证内容。
### Analyst Chat
使用悬浮的分析师聊天功能进行一般安全提问、威胁情报推理、威胁行为者画像上下文探讨、狩猎查询指导或来源 URL 审查。当提供 URL 时,服务器会在要求配置的 AI 提供商进行分析之前获取来源上下文。
## 安全模型
- **仅限授权使用:**仅对您被允许评估的系统、数据和来源使用 OptraSight 进行防御性安全工作。
- **严格模式:**生产环境会阻止静默的模拟回退,并显示提供商/配置错误。
- **不含捆绑机密:**不会提交 AI 密钥和机密数据库。
- **不使用持久浏览器存储:**该应用避免将会话/应用程序状态存储在 localStorage、sessionStorage、IndexedDB、cookie 和 URL token 中。
- **服务端会话过期:**针对服务器数据库验证 bearer 会话。
默认会话生命周期:
| 账户类型 | 空闲超时 | 绝对超时 |
| --- | ---: | ---: |
| 平台管理员 | 1 小时 | 12 小时 |
| 只读审阅者 / 非管理员 | 12 小时 | 24 小时 |
覆盖方式:
```
OPTRASIGHT_ADMIN_SESSION_IDLE_MS
OPTRASIGHT_ADMIN_SESSION_ABSOLUTE_MS
OPTRASIGHT_SESSION_IDLE_MS
OPTRASIGHT_SESSION_ABSOLUTE_MS
```
通过 [SECURITY.md](./SECURITY.md) 中的流程报告安全问题。请不要为漏洞提交公开的 issue。
## 脚本
```
npm run dev # start local Express + Vite development server
npm run build # build production client/server bundle
npm start # run the built server
npm run db:restore-public # create local data.db from public BatchOne seed assets
npm run setup:batchone # compatibility alias for the same restore workflow
npm run db:export-public # export sanitized public seed DBs from a populated workspace
npm run lint # ESLint
npm test # Vitest
npm run typecheck # full TypeScript check
npm run check # lint + tests + typecheck baseline gate
```
## 环境要求
- Node.js 20+;CI 目标为 Node 20.x 和 22.x。
- npm 9+。
- 兼容 SQLite 的本地文件系统。
## 生产构建
```
npm run build
NODE_ENV=production npm start
```
或:
```
NODE_ENV=production node dist/index.cjs
```
当 `NODE_ENV=production` 时,默认启用严格模式。缺失的 AI 提供商或被阻止的模拟回退将返回明确的错误,而不是合成的结果。
## 环境变量
| 变量 | 默认值 | 用途 |
| --- | --- | --- |
| `NODE_ENV` | `development` | 切换开发/生产行为。 |
| `PORT` | `5000` | HTTP 监听端口。 |
| `OPTRASIGHT_STRICT` | 生产环境下为 `1` | 阻止模拟回退路径,并显示真实的缺失提供商/上游错误。 |
| `OPTRASIGHT_AI_LIVE` | `1` | 用于离线开发的紧急实时 AI 熔断开关。 |
| `OPTRASIGHT_ADMIN_SESSION_IDLE_MS` | `3600000` | 管理员空闲会话超时。 |
| `OPTRASIGHT_ADMIN_SESSION_ABSOLUTE_MS` | `43200000` | 管理员绝对会话生命周期。 |
| `OPTRASIGHT_SESSION_IDLE_MS` | `43200000` | 审阅者/非管理员空闲会话超时。 |
| `OPTRASIGHT_SESSION_ABSOLUTE_MS` | `86400000` | 审阅者/非管理员绝对会话生命周期。 |
## 仓库结构
```
client/ React, Vite, Tailwind, shadcn/Radix UI
server/ Express API, SQLite storage, AI dispatch, OSINT ingestion
shared/ Shared schema, DTOs, validation, access policy
data/public/ Sanitized public BatchOne seed DBs and portraits
scripts/ Public DB restore/export and release safety helpers
spec/ API and connector metadata snapshots
tests/ Security and regression tests
```
## 延伸阅读
- [ARCHITECTURE.md](./ARCHITECTURE.md) - 系统架构和重构说明。
- [SECURITY.md](./SECURITY.md) - 安全模型、机密处理和负责任的披露。
- [DEPLOYMENT.md](./DEPLOYMENT.md) - 部署指南。
- [data/README.md](./data/README.md) - 公共种子数据和还原说明。
- [CONTRIBUTORS.md](./CONTRIBUTORS.md) - 维护者和 AI 辅助贡献者致谢。
## 许可证
Apache License 2.0。请参阅 [LICENSE](./LICENSE) 和 [NOTICE](./NOTICE)。
Maintained by Kensho under Chill Ethical People · contact@chillethicalpeople.com
标签:ESC4, Express, MITM代理, OSINT, React, SQLite, Syscalls, 威胁情报, 开发者工具, 自动化攻击