Files
brunoandClaude 842fa8dbe5 feat: 完整AI SOC分析师平台 - LLM集成与前后端优化
本次提交包含完整的AI SOC(Security Operations Center)分析师平台,支持本地大模型和Claude API集成,实现端到端的安全威胁分析。

## 🚀 主要功能

### 后端架构 (FastAPI)
- **多源数据接入**: 支持JSON/CSV格式安全告警数据上传
- **智能预处理**: 基于YAML配置的字段映射和实体提取
- **图分析引擎**: NetworkX驱动的攻击链图构建和分析
- **评分系统**: 实体和子图的多维度风险评分算法
- **LLM集成**: 支持多提供商(Claude、OpenAI、本地模型)的智能报告生成
- **API接口**: 完整的RESTful API (Swagger文档: /docs)

### 前端界面 (Vue 3 + TypeScript)
- **拖拽上传**: 支持拖拽上传和实时预览
- **管道分析**: 可视化的数据处理管道状态
- **智能报告**: 动态生成的威胁分析报告和可视化
- **响应式设计**: 适配桌面和移动端的现代UI

### LLM智能分析
- **多模型支持**: qwen3(8B/32B)、deepseek-r1(70B)、Claude 4等
- **超时优化**: 分层超时配置(120s-600s)适配不同模型规模
- **内容清理**: 自动过滤模型思考过程,输出专业分析报告
- **中文优化**: 针对中文安全分析场景的prompt工程

## 🛠️ 技术栈

**后端**: FastAPI + SQLAlchemy + NetworkX + 多LLM提供商
**前端**: Vue 3 + TypeScript + Naive UI + Tailwind CSS + Vite
**数据处理**: YAML配置 + JSONPath表达式
**部署**: Docker支持 + 环境变量配置

## 🐛 修复的关键问题

1. **LLM超时问题**: 实现前后端分层超时配置,支持大模型长时间推理
2. **报告格式化**: 修复Markdown渲染和换行符显示问题
3. **数据映射**: 统一前后端字段命名和数据结构映射
4. **时间格式**: 修复时间戳解析和中文本地化显示
5. **思考标签清理**: 自动过滤qwen模型的<think>标签

## 📊 测试数据

包含完整的多阶段APT攻击场景测试数据:
- 钓鱼邮件 → 恶意软件执行 → C2通信
- 云凭证窃取 → 资源探测 → 横向渗透
- 后门用户创建 → 权限提升 → 容器控制

## 🔧 开发工具

- **模型切换**: switch_model.py 支持快速切换本地LLM模型
- **超时测试**: test_llm_timeout.py 验证不同模型性能
- **依赖安装**: install_llm_deps.py 自动安装LLM依赖

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-06 06:56:09 +08:00

6.8 KiB
Raw Permalink Blame History

AI SOC 分析师 - 项目概览

🎯 项目简介

AI SOC 分析师是一个基于现代 Web 技术栈的安全运营中心(SOC)分析平台前端演示应用。该项目展示了如何构建一个专业的威胁检测与响应界面,支持多种告警数据源的接入和智能化分析。

📁 项目结构

ai-soc-analyst/
├── 🏗️ 构建配置
│   ├── package.json              # 项目依赖和脚本
│   ├── vite.config.ts           # Vite 构建配置
│   ├── tsconfig.json            # TypeScript 配置
│   ├── tailwind.config.js       # Tailwind CSS 配置
│   └── postcss.config.js        # PostCSS 配置
│
├── 📱 前端源码
│   └── src/
│       ├── main.ts              # 应用入口
│       ├── App.vue              # 根组件
│       ├── style.css            # 全局样式
│       ├── types.ts             # TypeScript 类型定义
│       ├── api.ts               # API 接口封装
│       ├── components/          # Vue 组件
│       │   ├── UploadPanel.vue    # 数据上传面板
│       │   ├── ReportList.vue     # 威胁报告列表
│       │   └── ReportDetail.vue   # 报告详情抽屉
│       └── mocks/               # Mock 数据
│           └── fixtures.ts        # 模拟数据生成
│
├── 📊 测试数据
│   └── test-data/
│       ├── README.md            # 测试数据说明
│       ├── sample-alerts.json   # JSON 格式告警样例
│       └── sample-alerts.csv    # CSV 格式告警样例
│
├── ⚙️ 配置文件
│   └── configs/
│       ├── README.md                      # 配置说明文档
│       ├── splunk-es-alert-preprocessing.yaml  # Splunk ES 预处理配置
│       └── csv-alerts-preprocessing.yaml       # CSV 预处理配置
│
└── 📚 文档
    ├── README.md                # 项目主文档
    ├── PROJECT_OVERVIEW.md      # 本文档
    └── demo4.html              # 原始设计参考

🛠️ 技术栈

前端框架

  • Vue 3: 现代响应式前端框架
  • TypeScript: 类型安全的 JavaScript
  • Vite: 快速构建工具

UI 框架

  • Naive UI: 企业级 Vue 3 组件库
  • Tailwind CSS: 实用优先的 CSS 框架
  • Font Awesome: 专业图标库

开发工具

  • Axios: HTTP 客户端
  • PostCSS: CSS 预处理器
  • ESLint: 代码质量检查

🎨 设计特色

视觉设计

  • 🎨 专业蓝色主题: 基于 demo4.html 的企业级设计
  • 🌟 渐变与动画: 丰富的交互效果和视觉反馈
  • 📱 响应式布局: 完美适配桌面和移动设备
  • 🌙 主题切换: 支持深色/浅色模式

用户体验

  • 🖱️ 直观交互: 拖拽上传、悬停效果、点击反馈
  • ⚡ 即时响应: 实时状态更新和加载指示
  • 🎯 智能引导: 空状态引导和错误处理
  • ♿ 无障碍设计: 键盘导航和屏幕阅读器支持

🔧 核心功能

1. 数据上传模块

  • 多源支持: Microsoft Sentinel, Splunk, FireEye, CrowdStrike 等
  • 格式识别: 自动检测 JSON/CSV 格式
  • 预检查: 上传前数据验证和统计预览
  • 拖拽上传: 现代化的文件上传体验

2. 威胁分析模块

  • 智能解析: 复杂告警数据的自动化分析
  • 实体提取: IP、用户、主机、文件等安全实体识别
  • 攻击链重建: MITRE ATT&CK 框架映射
  • 风险评分: 基于机器学习的威胁置信度计算

3. 报告展示模块

  • 统计仪表板: 高/中/低风险告警统计
  • 威胁情报: APT、恶意软件、攻击技术标签
  • 交互式卡片: 点击查看详细分析
  • 时间线展示: 证据的时序关系可视化

4. 详情分析模块

  • 风险概览: 置信度圆环图和风险摘要
  • 实体关联: 涉及的所有安全实体展示
  • 证据时间线: 按时间排序的攻击证据链
  • 处置建议: 立即行动和后续调查建议

🔬 数据处理

告警预处理

  • 配置驱动: YAML 格式的灵活配置系统
  • JSONPath 提取: 复杂嵌套数据的精确提取
  • 函数式表达式: map/filter/distinct 等数据操作
  • 实体标准化: 统一的实体类型和命名空间

支持的数据源

# Splunk Enterprise Security
splunk_es_alert_json:
  - 复杂嵌套 JSON 结构
  - 多层证据数组
  - 丰富的元数据字段

# 简化 CSV 格式  
csv_alert_simple:
  - 表格化结构
  - 标准字段映射
  - 批量数据导入

🎭 Mock 数据系统

模拟场景

项目内置了完整的威胁场景模拟:

  1. 🎣 钓鱼攻击: 邮件附件 → 恶意软件执行 → C2 通信
  2. 🔑 凭据窃取: AK/SK 文件访问 → 云账户劫持
  3. 🔍 环境侦察: 云资源枚举 → 横向移动准备
  4. 🚪 后门建立: 恶意用户创建 → 持久化访问
  5. 🎛️ 权限提升: K8s 配置下载 → 集群访问
  6. 🐳 容器控制: Pod 命令执行 → 生产环境控制

数据特点

  • 真实性: 基于实际 APT 攻击模式
  • 完整性: 包含完整的攻击时间线
  • 多样性: 涵盖端点、网络、云、容器等多个层面
  • 本土化: 包含中文文件名等本地化元素

🚀 部署说明

开发环境

# 安装依赖
npm install

# 启动开发服务器
npm run dev

# 访问应用
open http://localhost:5173

生产构建

# 构建生产版本
npm run build

# 预览构建结果
npm run preview

🔍 使用场景

安全团队演示

  • SOC 团队向管理层展示威胁检测能力
  • 安全产品原型验证和用户体验测试
  • 安全培训和威胁猎杀演练

开发参考

  • 企业级 Vue.js 应用开发模式
  • TypeScript 在安全领域的应用实践
  • 现代前端 UI/UX 设计规范

教学用途

  • 网络安全可视化教学
  • 威胁情报分析实训
  • 前端安全应用开发课程

🎯 项目亮点

技术亮点

  • ✨ 完整的 TypeScript 类型系统
  • 🎨 企业级 UI/UX 设计
  • ⚡ 高性能的组件化架构
  • 🔧 灵活的配置驱动系统

业务亮点

  • 🛡️ 真实的安全场景模拟
  • 📊 直观的威胁可视化
  • 🔍 专业的分析报告
  • 🎯 可操作的处置建议

🤝 贡献指南

欢迎提交 Issue 和 Pull Request!

开发建议

  1. 遵循 Vue 3 组合式 API 规范
  2. 使用 TypeScript 严格模式
  3. 保持 UI 组件的一致性
  4. 添加必要的测试和文档

扩展方向

  • 更多数据源适配器
  • 高级威胁分析算法
  • 实时数据流处理
  • 多租户权限管理

🎯 目标: 打造最专业的开源 SOC 前端解决方案 🚀 愿景: 让威胁检测与响应变得简单而高效