azmaan09/security-incident-response

GitHub: azmaan09/security-incident-response

基于 Next.js 构建的安全事件响应平台,通过 Webhook 对接 SIEM 工具实现从告警接入、工作流编排到 SLA 监控与报告的全流程 SOC 事件管理。

Stars: 0 | Forks: 0

# 安全事件响应平台 端到端 SOC 事件响应平台,镜像了 ServiceNow Security Incident (`sn_si_incident`) 流程: ``` QRadar / Splunk / EDR │ REST API / Webhook + API Key ▼ Validate (JWT / API Key + required fields) ▼ Create Security Incident Record ▼ Business Rules (priority, assignment group) ▼ Workflow: Assign Analyst → Notify SOC → Create Tasks → Collect Logs ▼ SLA Monitoring & Escalation ▼ Analyst Investigation (+ optional AI assistant) ▼ Resolve / Close → Reports & Dashboard ``` ## 快速开始 ``` cd security-incident-response npm install npx prisma db push npm run seed npm run dev ``` 打开 [http://localhost:3000](http://localhost:3000) ### 演示登录 | Email | Role | Password | |-------|------|----------| | `admin@soc.local` | ADMIN | `Password123!` | | `manager@soc.local` | SOC_MANAGER | `Password123!` | | `analyst1@soc.local` | ANALYST | `Password123!` | | `analyst2@soc.local` | ANALYST | `Password123!` | ## SIEM webhook (Scripted REST API) ``` curl -X POST http://localhost:3000/api/webhooks/siem \ -H "Content-Type: application/json" \ -H "X-API-Key: sk_splunk_demo_key_change_me" \ -d '{ "sourceTool": "Splunk", "sourceAlertId": "SPL-1001", "shortDescription": "Brute force against VPN gateway", "severity": "HIGH", "category": "Authentication", "attackerIp": "203.0.113.10", "mitreTactics": ["Credential Access"] }' ``` API keys(见 `.env`): - Splunk: `sk_splunk_demo_key_change_me` - QRadar: `sk_qradar_demo_key_change_me` - EDR: `sk_edr_demo_key_change_me` ## 功能 - **接入**:webhook 验证 + 事件创建(`sn_si_incident` 风格的编号) - **业务规则**:严重度 → 优先级、分配组路由、SLA 截止日期 - **工作流**:分析师分配、SOC 通知、任务、日志收集 - **SLA:正常 / 有风险 / 已违约 + 经理升级 - **调查**:工作笔记、根本原因、解决方案、关闭 - **AI 助手**:默认提供启发式建议;设置 `OPENAI_API_KEY` 以启用 GPT - **报告**:未解决事件、SLA 合规性、MTTR、分析师绩效 ## 技术栈 Next.js (App Router) · Prisma · SQLite · JWT + API keys · Recharts
标签:SIEM集成, SOC平台, 安全运营, 工单系统, 扫描框架, 网络研究, 自动化攻击