本次提交包含完整的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>
6.8 KiB
6.8 KiB
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 数据系统
模拟场景
项目内置了完整的威胁场景模拟:
- 🎣 钓鱼攻击: 邮件附件 → 恶意软件执行 → C2 通信
- 🔑 凭据窃取: AK/SK 文件访问 → 云账户劫持
- 🔍 环境侦察: 云资源枚举 → 横向移动准备
- 🚪 后门建立: 恶意用户创建 → 持久化访问
- 🎛️ 权限提升: K8s 配置下载 → 集群访问
- 🐳 容器控制: 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!
开发建议
- 遵循 Vue 3 组合式 API 规范
- 使用 TypeScript 严格模式
- 保持 UI 组件的一致性
- 添加必要的测试和文档
扩展方向
- 更多数据源适配器
- 高级威胁分析算法
- 实时数据流处理
- 多租户权限管理
🎯 目标: 打造最专业的开源 SOC 前端解决方案 🚀 愿景: 让威胁检测与响应变得简单而高效