adhitya-vetrivel/incident-response-simulator
GitHub: adhitya-vetrivel/incident-response-simulator
一个轻量级 SIEM/事件响应模拟仪表板,用于模拟 SOC 分析师的事件调查工作流程,适合教育和作品集展示。
Stars: 0 | Forks: 0
# 事件响应模拟器
一个适合放入作品集的轻量级 SIEM/事件响应仪表板,用于模拟 SOC 分析师的工作流程。专为教育目的和网络安全作品集展示而构建。
## 功能
- **仪表板** — 提供包含严重程度细分、状态图表和事件趋势的实时概览
- **事件管理** — 支持搜索、过滤和排序的事件表格
- **事件详情** — 完整的事件视图,包含时间线、MITRE ATT&CK 映射、分析师笔记和建议操作
- **事件模拟** — 生成真实的攻击场景(暴力破解、恶意软件、钓鱼、勒索软件、权限提升)
- **日志查看器** — 上传并解析 JSON 日志文件,自动提取字段
- **检测引擎** — 基于规则的检测,可识别攻击模式并触发告警
- **MITRE ATT&CK 映射** — 针对常见攻击模式的硬编码技术映射
- **分析师笔记** — 为每个事件添加并存储调查笔记
- **PDF 报告** — 导出包含时间线、检测和建议的详细 PDF 事件报告
## 架构
```
┌─────────────────────────────────────────────────┐
│ Frontend │
│ React + Vite + TypeScript │
│ TailwindCSS + Recharts │
│ Lucide Icons + React Router │
├─────────────────────────────────────────────────┤
│ Vite Dev Proxy │
│ /api → :8000 │
├─────────────────────────────────────────────────┤
│ Backend │
│ FastAPI + SQLAlchemy │
│ Pydantic + FPDF2 │
│ Detection Engine + MITRE Mappings │
├─────────────────────────────────────────────────┤
│ SQLite Database │
│ incidents | timeline_events | analyst_notes │
└─────────────────────────────────────────────────┘
```
## 截图
### 📊 仪表板与指标概览

### 📋 事件管理与列表视图

### 🔍 事件详情与时间线分析

### ⚡ 攻击模拟控制面板

### 📄 日志摄取与解析

### 📈 详细的 PDF 报告生成

## 安装
### 后端
```
cd backend
python -m venv venv
# Windows
venv\Scripts\activate
# macOS/Linux
source venv/bin/activate
pip install -r requirements.txt
uvicorn app.main:app --reload --port 8000
```
数据库会在首次运行时自动创建。样本事件将自动进行种子数据填充。
### 前端
```
cd frontend
npm install
npm run dev
```
前端运行在 `http://localhost:5173`,并将 API 请求代理到后端。
## API 端点
| 方法 | 端点 | 描述 |
|--------|----------|-------------|
| GET | `/api/dashboard` | 仪表板统计数据 |
| GET | `/api/incidents` | 列出事件(支持搜索/过滤/排序) |
| GET | `/api/incident/{id}` | 获取事件详情 |
| POST | `/api/incident/{id}/status` | 更新事件状态 |
| POST | `/api/simulate` | 生成模拟攻击 |
| POST | `/api/upload-log` | 上传并解析 JSON 日志 |
| POST | `/api/incident/{id}/note` | 添加分析师笔记 |
| GET | `/api/report/{id}` | 下载 PDF 报告 |
| GET | `/api/mitre` | 获取 MITRE ATT&CK 映射 |
## 项目结构
```
├── backend/
│ ├── app/
│ │ ├── __init__.py
│ │ ├── main.py # FastAPI application & routes
│ │ ├── models.py # SQLAlchemy models
│ │ ├── schemas.py # Pydantic schemas
│ │ ├── database.py # Database configuration
│ │ ├── detection.py # Rule-based detection engine
│ │ ├── mitre.py # MITRE ATT&CK mappings
│ │ └── seed_data.py # Sample incident data
│ └── requirements.txt
├── frontend/
│ ├── src/
│ │ ├── api/ # API client
│ │ ├── components/ # Reusable components
│ │ ├── pages/ # Page components
│ │ ├── types/ # TypeScript types
│ │ ├── App.tsx # Router setup
│ │ ├── main.tsx # Entry point
│ │ └── index.css # Global styles
│ ├── package.json
│ ├── vite.config.ts
│ └── tailwind.config.js
├── docs/
├── screenshots/
└── README.md
```
## 技术栈
**后端:**
- Python 3.10+
- FastAPI
- SQLAlchemy + SQLite
- Pydantic
- FPDF2(PDF 生成)
**前端:**
- React 18
- TypeScript
- Vite
- TailwindCSS
- Recharts
- React Router
- Lucide React Icons
## 未来改进
- 用于实时事件源的实时 WebSocket 更新
- 用户身份验证和基于角色的访问控制
- 自定义检测规则构建器 UI
- 从多个来源(syslog、Windows 事件日志)摄取日志
- 告警通知系统(电子邮件、Slack 集成)
- 除了 PDF 外,支持将报告导出为 CSV
- 深色/浅色主题切换
- 事件关联引擎
- 资产清单集成
- Playbook/自动化工作流构建器
## 许可证
MIT
标签:DNS 反向解析, React, Syscalls, TypeScript, Web报告查看器, 安全插件, 安全运营, 库, 应急响应, 扫描框架, 逆向工具