---
name: emergency-response
description: 应急响应与事故处理流程 — 渗透测试中出现意外的处理规范
---

# 应急响应与事故处理流程

> 引用: [约束:pentest-boundary §8] — 本文件为 §8 的详细补充

## 1. 事故分级标准

| 级别 | 定义 | 示例 |
|------|------|------|
| 🔴 P0 - 严重事故 | 系统宕机/数据丢失/数据泄露 | Gorm 删除表、DDoS导致服务不可用、明文密码泄露 |
| 🟡 P1 - 中 etc 事故 | 部分功能受影响/配置被改 | 缓存被污染、某个接口响应超时、配置文件被改 |
| 🟢 P2 - 轻微事故 | 产生少量垃圾数据/告警误报 | 产生测试脏数据、触发WAF告警、日志中出现大量错误 |
| ⚪ P3 - 潜在风险 | 尚未造成影响但有风险倾向 | 扫描操作导致CPU使用率上升、磁盘IO增加 |

## 2. 事故处理流程

### 2.1 立即响应（第1步）

```
🛑 事故确认
    │
    ├─ 立即停止所有测试操作
    │   └─ 命令: pkill -f <测试工具> 或 Ctrl+C
    │
    ├─ 记录事故时间戳
    │   └─ 命令: date +"%Y-%m-%d %H:%M:%S"
    │
    ├─ 保存当前操作上下文
    │   └─ 保存命令输出、屏幕截图、网络请求日志
    │
    └─ 通知相关方
        └─ "渗透测试过程中出现意外，正在评估影响，请等待进一步通知"
```

### 2.2 影响评估（第2步）

```markdown
## 影响评估报告
### 基本信息
- 事故时间: [时间]
- 事故级别: [P0/P1/P2/P3]
- 当前状态: [持续中/已控制/已恢复]
- 触发操作: [导致事故的具体命令/操作]

### 影响范围
- [ ] 目标系统是否仍可用？（ping/curl响应）
- [ ] 数据是否丢失？（数据库/文件）
- [ ] 配置是否被修改？（系统配置/应用配置）
- [ ] 是否有敏感数据被泄露？（输出到stdout/文件/网络）
- [ ] 是否影响到其他系统？（级联效应）
- [ ] 是否有日志记录？（便于根因分析）
```

### 2.3 恢复措施（第3步）

| 事故类型 | 恢复措施 |
|---------|---------|
| 数据被删除 | 1. 立即通知DBA从备份恢复 2. 记录删除的数据范围 3. 检查是否有持久化备份 |
| 配置被修改 | 1. 立即还原修改的配置 2. 检查是否有其他配置被连带修改 3. 确认服务配置重载 |
| 服务不可用 | 1. 检查服务状态 `systemctl status/service status` 2. 重启服务 3. 确认依赖服务正常 |
| 缓存被污染 | 1. 清除缓存 2. 等待缓存过期 3. 检查是否有污染数据被持久化 |
| 告警风暴 | 1. 通知安全运营团队这是授权测试 2. 暂停测试 3. 等待告警恢复 |
| 脏数据写入 | 1. 记录脏数据特征 (ID/时间) 2. 通知开发/运维删除 3. 确认删除完成 |

### 2.4 根因分析（第4步）

```markdown
## 根因分析 (RCA)
### 5W1H 分析
- What: 发生了什么？
- When: 什么时间发生的？
- Where: 在哪个系统/模块发生的？
- Who: 谁触发的？(具体的命令/工具/步骤)
- Why: 为什么发生？（根本原因）
- How: 如何发生的？（触发链路）

### 分类
- [ ] 操作失误 — 命令参数错误/操作对象错误
- [ ] 工具缺陷 — 工具的自动化行为超出预期
- [ ] 知识不足 — 对该系统/技术的了解不够
- [ ] 规范缺失 — 缺少针对该场景的规范
- [ ] 目标异常 — 目标系统行为不符合预期
```

### 2.5 预防措施（第5步）

| 根因 | 预防措施 |
|------|---------|
| 操作失误 | 高危操作前增加 "你确定要执行XXX吗？" 二次确认 |
| 工具缺陷 | 使用新工具前先在小范围测试，了解其行为 |
| 知识不足 | 对于不熟悉的技术，先查阅文档 + 在测试环境验证 |
| 规范缺失 | 更新 pentest-boundary 规范，增加对应场景的约束 |
| 目标异常 | 增加操作前检查步骤，确认目标状态 |

## 3. 事故报告模板

```markdown
# 事故报告

## 📋 事故概览
| 字段 | 内容 |
|------|------|
| 事故编号 | IR-2026-06-08-001 |
| 事故级别 | 🔴 P0 / 🟡 P1 / 🟢 P2 / ⚪ P3 |
| 事故时间 | 2026-06-08 10:00:00 CST |
| 恢复时间 | 2026-06-08 10:30:00 CST |
| 持续时间 | 30 分钟 |
| 影响系统 | xxx |
| 影响范围 | xxx |
| 当前状态 | ✅ 已恢复 / 🔄 恢复中 / ❌ 未恢复 |

## 🔍 事故详情
### 触发操作
```
具体的命令/工具/步骤，包括完整参数
```

### 发生过程
1. 执行了哪个步骤
2. 观察到了什么异常现象
3. 采取了什么应急措施

### 影响详情
- 系统影响: [具体描述]
- 数据影响: [具体描述]
- 业务影响: [具体描述]

## ✅ 恢复措施
1. [已执行的恢复步骤1]
2. [已执行的恢复步骤2]
3. 确认恢复正常时间: [时间]

## 📊 根因分析
### 直接原因
[导致事故的直接原因]

### 根本原因
[导致事故的深层原因]

### 根本原因分类
- [ ] 操作失误
- [ ] 工具缺陷
- [ ] 规范缺失
- [ ] 认知不足
- [ ] 沟通不畅

## 🛡 预防措施
1. [具体预防措施1]
2. [具体预防措施2]
3. 责任落实: [负责人]
4. 完成期限: [日期]

## 📝 改进建议
[针对流程/规范的改进建议]
```

## 4. 恢复验证清单

在确认系统恢复正常后，执行以下验证:

- [ ] 系统可正常访问（HTTP 200）
- [ ] 核心功能可用（登录/查询/写操作）
- [ ] 数据库连接正常
- [ ] 缓存服务正常
- [ ] 配置已还原到原始值
- [ ] 测试产生的脏数据已清理
- [ ] 系统资源（CPU/内存/磁盘）回到正常水平
- [ ] 日志中无持续报错
- [ ] 监控告警已恢复

---

> *配合 [约束:pentest-boundary SKILL.md §8] 使用 | 安全第一，有备无患*
