ItayMz/tsoc-ioc-portal
GitHub: ItayMz/tsoc-ioc-portal
面向 SOC 团队的全栈 IOC 自动化处理平台,将原始威胁情报转化为 Microsoft Defender 导入文件和 KQL 查询。
Stars: 0 | Forks: 0
# TSOC IOC Portal
## 当前状态
版本:v1.0.0-rc1
## 项目描述
TSOC IOC Portal 现在是一个全栈 IOC 工作流应用,前端采用 React,后端采用 FastAPI。前端是一个瘦客户端,负责向后端 API 发送 IOC payload。后端仍然是解析、验证、refang、规范化、去重、KQL 生成、摘要生成以及 Defender 导出数据的唯一事实来源。
## 本项目展示了
- SOC 工作流理解
- API 驱动的 IOC 规范化和分类
- Microsoft Defender CSV 格式化
- Defender Advanced Hunting KQL 生成
- 后端验证和错误处理
- 使用可复用组件构建现代前端仪表盘
- 后端解析和导出逻辑的自动化回归覆盖
## 功能
- 从粘贴的文本中解析混合 IOC 输入
- 上传一个或多个 CSV/TXT 文件并通过后端 API 处理
- 根据后端响应生成处理摘要卡片
- 生成支持回溯感知查询的 KQL 卡片
- 从后端提供的 IOC 输出数据导出 Defender CSV
- 在 API 操作期间显示清晰的加载和错误状态
- 从 CSV value 列中提取 IOC 值,并从 CSV event_info 中检测活动名称
- 支持可选的手动活动名称输入,该输入将覆盖检测到的活动名称
## 架构
- 后端:位于 backend/app 下的 FastAPI
- 前端:位于 frontend 下的 React
- 通信:从前端到后端的 HTTP API 调用
作为核心事实来源保留的后端模块:
- parser
- kql_builder
- parse route/API
- 后端测试
## 前端结构
前端逻辑被划分为:
- frontend/src/components
- frontend/src/services
- frontend/src/styles
## 设置
正常使用时,后端和前端必须同时运行。
### 前端 API 配置
React 前端从以下位置读取后端 base URL:
- VITE_API_BASE_URL
示例文件:
- frontend/.env.example
如果未设置环境变量,默认回退地址为 http://localhost:8000。
### 启动后端
1. 在 backend 中打开一个终端。
2. 如果需要,安装 Python 依赖。
3. 运行:
- uvicorn app.main:app --reload
API 默认在 http://127.0.0.1:8000 可用。
### 启动前端
1. 在 frontend 中打开第二个终端。
2. 安装依赖:
- npm install
3. 启动开发服务器:
- npm run dev
前端默认在 http://127.0.0.1:5173 运行。
### 可选的 Windows 开发启动器
您可以在单独的 PowerShell 窗口中启动后端和前端:
- .\scripts\dev.ps1
## 用法
1. 在浏览器中打开前端 URL。
2. 粘贴 IOC 文本或上传 CSV/TXT 文件。
3. 选择回溯窗口。
4. 可选地输入活动名称。
5. 点击 Process IOCs。
6. 对于文件上传,查看上传摘要(已上传文件、提取的 IOC、检测到的活动名称)。
7. 查看摘要卡片、解析后的 IOC 结果以及生成的 KQL 卡片。
8. 需要时导出 Defender CSV。
前端本身不执行 IOC 解析逻辑。IOC 处理委托给后端 API endpoint 完成。
## 手动验证清单
- 粘贴混合 IOC 输入并确认分类结果。
- 验证 KQL 卡片仅针对相关的 IOC 类型出现。
- 更改回溯值并确认 KQL 更新。
- 复制每个查询并确认剪贴板内容。
- 验证 CSV 导出是否仍按预期工作。
## 前端验证清单
- 启动后端和前端服务器。
- 粘贴混合 IOC 并验证解析响应是否在 UI 中呈现。
- 上传 CSV/TXT 并验证解析是否有效。
- 确认 Defender CSV 导出有效。
- 确认 KQL 卡片正确生成。
- 确认回溯选择器会更新 KQL 输出。
- 确认复制按钮在 KQL 卡片上有效。
- 确认在请求期间出现加载状态。
- 确认在 API 失败时显示清晰的错误消息。
## 测试
后端测试仍然保留,不应被移除。
运行完整的后端测试套件:
- cd backend
- pytest
## 截图 / GIF
截图和 GIF 资产尚未包含。一旦 UI 截图准备就绪,将在未来的更新中添加占位符。
## 范围说明
此版本不添加身份验证、数据库存储、外部威胁情报查询或第三方集成。
标签:AV绕过, FastAPI, IOC管理, KQL查询生成, React, SOC自动化, Syscalls, 威胁情报处理, 安全规则引擎, 微软Defender, 逆向工具