MISP/misp-workbench
GitHub: MISP/misp-workbench
基于现代技术栈的轻量级 MISP 兼容威胁情报平台,提供 IOC 导入、关联分析和通知功能。
Stars: 14 | Forks: 1

[](https://codecov.io/gh/MISP/misp-workbench)
本仓库提供了一个现代化的 MISP 兼容技术栈:包含基于 Python 的后端 API 和 Celery 后台工作者、Vue.js 前端以及支持服务——OpenSearch(用于索引属性和关联结果)、Redis(用于任务代理和缓存/通知状态)以及 Garage/S3(用于附件存储)——所有这些都通过 Docker Compose 进行编排,以支持本地开发、Feed 导入、关联生成和通知处理。
该工具专为希望处理 MISP IOC(失陷指标)但不想承担管理完整 MISP 实例或参与 MISP 社区复杂性的安全分析师而设计。它提供了一个精简、独立的解决方案,用于导入、关联和分析威胁情报数据。
部分截图可在[此处](docs/screenshots/)查看。
### 功能特性
- **关联分析 (Correlations)**:批量和增量关联生成会扫描 OpenSearch 中的属性并创建关联属性记录。关联工作在后端实现,并通过 Celery 任务进行调度/执行;结果会在前端 UI 中展示。
- **通知 (Notifications)**:事件和显著变化(例如新创建的关联)通过后端通知子系统排队并分发;通知任务由 Celery 工作者处理,并可依靠 Redis 进行分发/状态跟踪。
- **Feed 同步与 MISP 集成**:后端支持与外部 Feed 源和 MISP 服务同步,以导入指标和元数据。同步进程作为后台任务运行,并将 Feed 项目存储在 OpenSearch 和附件存储中;Feed 可用作关联源和通知来源。
- **API (FastAPI)**:基于 FastAPI 的后端,暴露 REST/JSON 端点并提供自动 OpenAPI 文档;使用异步处理程序和 Pydantic 模型进行验证、序列化和依赖注入。该 API 在(生产/开发环境中)通过 ASGI 服务器(如 Uvicorn)提供服务,是前端、Feed 和外部服务的主要集成点。
- **OpenSearch**:用于索引和搜索属性、关联结果和 Feed 项目。它提供了后端所依赖的映射、分析器、聚合和查询 API,用于快速查找、关联扫描和持久化 Feed 数据;通过 docker-compose 配置用于本地开发。
- **OpenSearch Dashboards**:一个可选的可视化和探索 UI,连接到 OpenSearch 以检查索引数据、构建查询和创建仪表板,以辅助调试、分析和运营监控。
- **存储与附件**:OpenSearch 存储索引属性和关联结果;Garage(或兼容的 S3)在配置后用于附件存储。
### 快速开始
1. 启动开发技术栈(使用仓库中的 compose 文件):
```
# 从 repository root
cp .env.dev.dist .env.dev
cp frontend/.env.dist frontend/.env
git submodule update --remote --recursive
docker compose -f docker-compose.yml -f docker-compose.dev.yml --env-file=".env.dev" up --build
```
#### 生产环境设置
在启动生产技术栈之前,请从模板创建 Garage 配置文件并填入您的密钥:
```
cp garage.toml.dist garage.toml
# 编辑 garage.toml:设置 rpc_secret (64 hex chars) 和 admin_token
```
然后启动技术栈:
```
cp .env.dist .env
# 编辑 .env:设置 OAUTH2_SECRET_KEY, OAUTH2_REFRESH_SECRET_KEY, GARAGE_ADMIN_TOKEN, S3_ACCESS_KEY, S3_SECRET_KEY 等
docker compose --env-file=".env" up --build
```
访问 http://localhost:3000/login 并登录。
开发 compose 文件配置了在本地运行项目所需的 API、前端、OpenSearch、Redis 和其他服务。
#### 本地开发(替代方案)
- **前端**
- cd `frontend/`
- 安装并运行开发服务器:
npm install
npm run dev
- **后端**
- 有关依赖安装和本地服务器命令,请参阅 `api/README.md`。Python 项目定义在 `api/pyproject.toml` 中(可以使用 poetry 或 pip 安装依赖)。
#### Celery / 后台工作者
该项目使用 Celery 处理后台任务。在开发环境中,工作者通过 docker compose 启动。要在本地(开发环境)运行工作者,您可以运行:
```
# 在项目 Python dependencies 可用的环境中运行
celery -A api.app.worker.tasks worker --loglevel=info --pool=solo --concurrency=1
```
### 测试
- 前端测试和端到端脚本位于 `frontend/` 下(参见 `frontend/README.md`)。
- 后端测试和迁移辅助工具记录在 `api/README.md` 中。
### 配置
- 使用提供的 docker-compose override 时,开发环境变量从 `.env.dev` 读取。其他环境配置和敏感值记录在 `api/README.md` 和 `frontend/README.md` 中。
### 贡献
如果您想做出贡献,请先阅读组件 README(`api/README.md`、`frontend/README.md`)并在本地运行开发技术栈。请遵循项目的编码风格,并提交小而集中的 Pull Request。
### 许可证
本项目根据 `LICENSE` 中的条款授权。
标签:AV绕过, Celery, Docker, Docker Compose, FastAPI, IOC, LangChain, Python, Redis, REST API, S3 存储, Vue.js, 事件通知, 关联分析, 失陷指标, 威胁情报, 威胁搜寻, 安全防御评估, 开发者工具, 开源, 指标关联, 搜索引擎查询, 数据摄取, 无后门, 网络安全, 网络测绘, 自主托管, 请求拦截, 轻量级, 边缘部署, 逆向工具, 隐私保护