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, 逆向工具