# AgomTradePro 基于测试报告的改进方案（2026-02-26）

> 输入依据：`docs/testing/TEST_REPORT_2026-02-26.md`  
> 适用版本：AgomTradePro V3.4  
> 范围声明：**本方案明确排除 `.env` 相关问题（SEC-001）**

---

## 1. 目标与基线

### 1.1 当前基线（来自报告）
- 测试通过率：1928/1947（99.0%）
- 失败数：9
- 覆盖率：52%
- 就绪判断：需安全加固后上线

### 1.2 本轮改进目标（2周）
1. 完成除 `.env` 外全部 P0 安全项整改并通过回归。
2. 完成 P1 安全配置加固（登录防护、HTTPS头、CORS 白名单、依赖扫描）。
3. 完成关键质量缺口修复：API 响应一致性、高风险 500 错误面、低覆盖模块补测。
4. 将覆盖率从 52% 提升到 **>=60%**（先保底，再迭代）。

---

## 2. 范围拆分（排除 `.env`）

## 2.1 本次纳入
- SEC-002：CSRF 豁免审查与收敛
- SEC-003：公开 API 认证补齐
- Rate Limiting（DRF Throttling）
- 登录失败锁定（暴力破解防护）
- HTTPS 安全头与 Cookie 安全配置
- CORS_ALLOW_ALL_ORIGINS 收敛为白名单
- 依赖漏洞扫描与处置（pip-audit）
- API 错误响应与成功响应格式统一
- `decision_rhythm` 异常统一返回 500 的治理
- `realtime`、`dashboard` 测试缺口补齐

## 2.2 本次不纳入
- SEC-001：`.env` 暴露问题（按你的要求暂不处理）

---

## 3. 执行计划（P0/P1/P2）

| 优先级 | 事项 | 责任模块 | 交付物 | 验收标准 |
|---|---|---|---|---|
| P0 | 接入 DRF Throttling | `core/settings` + API入口 | 全局节流配置 | 匿名/登录用户超限返回 429；关键接口压测可触发 |
| P0 | CSRF 豁免清单审查 | 全项目接口层 | `csrf_exempt` 清单与保留理由 | 非必要豁免移除；保留项有文档说明与测试 |
| P0 | Alpha/Factor/Rotation 认证补齐 | 对应 `interface/views` | 权限类统一策略 | 未认证访问返回 401/403；已认证用例通过 |
| P1 | 登录失败锁定 | 认证模块 | 失败次数限制策略 | 连续失败触发锁定，锁定窗口后可恢复 |
| P1 | HTTPS 安全头 | `production.py` | 安全头配置清单 | 生产配置检查通过；安全头集成测试通过 |
| P1 | CORS 白名单 | `base.py/production.py` | 环境化白名单 | 非白名单 Origin 被拒绝；白名单可用 |
| P1 | 依赖漏洞扫描 | 依赖管理 | `pip-audit` 报告 | 高危依赖有修复或风险接受记录 |
| P2 | API 响应格式统一 | 通用 API 基类/中间件 | 统一响应规范 | `success/code/message/data` 在重点模块一致 |
| P2 | 决策节奏 500 面治理 | `decision_rhythm` | 异常分层与错误码 | 常见业务异常不再统一 500 |
| P2 | 测试补强 | `realtime`/`dashboard` | 新增单测与集测 | `realtime` 核心用例 >=15，dashboard 增 use case 单测 |

---

## 4. 周期排期（10个工作日）

### D1-D2（安全阻塞项）
1. DRF Throttling 上线并回归。
2. Alpha/Factor/Rotation 认证补齐并回归。

### D3-D4（安全面收敛）
1. `csrf_exempt` 全量审查，移除非必要项。
2. 登录失败锁定机制落地（推荐 `django-axes`）。

### D5-D6（生产安全配置）
1. HTTPS 安全头与 Cookie 安全配置完成。
2. CORS 白名单分环境配置完成。

### D7（供应链安全）
1. 执行 `pip-audit`，出整改单。
2. 修复可升级项，剩余项给出风险接受说明。

### D8-D9（质量改进）
1. API 响应格式统一（优先 signal/realtime/decision_rhythm）。
2. `decision_rhythm` 业务异常映射 4xx/5xx。

### D10（补测与验收）
1. 补齐 `realtime`、`dashboard` 测试。
2. 全量回归 + 覆盖率统计 + 发布建议。

---

## 5. 验收清单（必须全部满足）

1. 除 `.env` 外，报告中的 P0/P1 项均闭环。
2. 安全回归：未认证、限流、CSRF、登录锁定、CORS、HTTPS 头全部通过。
3. API 一致性：重点模块响应结构统一，错误码语义正确。
4. 测试通过率保持 >=99%，失败用例归零或有豁免单。
5. 覆盖率 >=60%。

---

## 6. 风险与对策

| 风险 | 影响 | 对策 |
|---|---|---|
| 认证补齐影响现有前端调用 | 中 | 先灰度到测试环境，补齐前端鉴权逻辑 |
| CORS 收紧导致联调失败 | 中 | 分环境白名单+回退开关 |
| 节流阈值过严影响正常流量 | 中 | 先低风险接口试运行，按监控调参 |
| 依赖升级引入兼容问题 | 中 | 锁版本并补回归，必要时拆分升级批次 |

---

## 7. 建议同步创建的 Issue 标签

- `security-p0`
- `security-p1`
- `api-consistency`
- `test-gap`
- `performance-hardening`

