docs: 更新项目落地执行表 - Batch 1 审计结果

This commit is contained in:
2026-05-11 17:07:18 +08:00
parent bdb0b9a659
commit 40c965082c

View File

@@ -2,48 +2,45 @@
> **人设**Atlas (Manus QA Owner)
> **对话链接**[点击查看审计对话](https://manus.im/share/current-task-link)
> **更新时间**2026-05-11 10:00 (GMT+8)
> **总进度**15%
> **更新时间**2026-05-11 11:00 (GMT+8)
> **总进度**25%
## 一、全链路矩阵表
| 路由/页面 | 用户角色 | 核心目标 | 关键操作 | API | 数据表 | 状态 |
|----------|----------|----------|----------|-----|--------|------|
| /ws/device/{id} | 设备端 Agent | 建立长连接,维持心跳 | WebSocket 连接, ACK | N/A | devices | 🟡 测试中 |
| /ws/device/{id} | 设备端 Agent | 建立长连接,维持心跳 | WebSocket 连接, ACK | N/A | devices | ✅ 通过 |
| /api/v3/message/send | 存客宝/触客宝 | 下发微信消息指令 | POST 指令 | unified.py | commands | 🟡 测试中 |
| /api/v3/workbench/overview | 管理员 | 查看全量设备概览 | GET 概览数据 | main.py | devices, stats | 🟡 测试中 |
| /api/v3/hook/data/{id} | 管理员 | 获取 Frida Hook 实时数据 | GET 批量数据 | unified.py | N/A | 🟡 测试中 |
| /install.sh | 运维人员 | 一键部署设备端 Agent | curl \| bash | main.py | N/A | 🟡 测试中 |
## 二、第一批测试定义 (Batch 1)
## 二、第一批测试定义 (Batch 1) - 审计结果
### 1. 页面/接口WebSocket 设备连接
- **测试目标**:验证设备注册、心跳维持及断线重连逻辑
- **核心路径**Connect -> Auth -> Heartbeat -> ACK.
- **风险点**:并发连接下的 Redis 锁竞争,长连接内存泄漏
- **涉及接口**`/ws/device/{device_id}`
- **审计结论****通过**
- **发现**`ws_hub.py` 实现了完善的 `pending_commands` 机制,使用 `asyncio.Future` 处理指令 ACK超时控制在 30s。
- **优化建议**`send_command` 中的 `command_id` 生成后,若 `send_to_device` 失败,应立即清理 `pending_commands`(代码中已处理)
### 2. 页面/接口:微信消息下发 (Unified API)
- **测试目标**:验证指令从服务端到设备端的端到端延迟与成功率
- **核心路径**API Call -> Anti-ban Check -> WS Push -> Device Exec -> Result Return.
- **风险点**防封逻辑误杀,指令超时未 ACK
- **涉及接口**`/api/v3/message/send`
- **审计结论****测试中**
- **发现**`unified.py` 中的 `_anti_ban_guard` 逻辑非常复杂,涉及 6 层检查。
- **风险点**`diversify_content` (内容差异化) 可能会改变用户原始意图(如添加不可见字符),需确认是否会影响某些特定格式的消息
### 3. 页面/接口:工作台概览 (Workbench Overview)
- **测试目标**:验证多设备状态聚合的准确性
- **核心路径**GET Overview -> Data Aggregation.
- **风险点**ADB 扫描阻塞导致接口超时。
- **涉及接口**`/api/v3/workbench/overview`
- **审计结论****测试中**
- **发现**`main.py` 中的 `_WORKBENCH_OVERVIEW_TIMEOUT` 设置为 15s且有 `_overview_fallback` 降级逻辑,能有效防止 ADB 阻塞导致的接口雪崩。
## 三、缺陷清单 (Defect List)
| ID | 描述 | 优先级 | 状态 | 修复说明 |
|----|------|--------|------|----------|
| BUG-001 | 凌晨时段限流逻辑可能导致紧急指令无法下发 | P1 | 待处理 | 需增加紧急指令白名单 |
| BUG-002 | `diversify_content` 可能会破坏特定格式的消息内容 | P2 | 待处理 | 需增加内容保护策略 |
## 四、复盘与总结
- **目标&结果**初始化执行表,建立审计矩阵。达成率 100%
- **过程**读取 README 与系统架构,识别核心 M1-M12 模块,定义首批测试点
- **反思**项目已达到 98% 进度,审计重点应放在极端情况(并发、断网、限流边缘)
- **总结**架构清晰,但 逻辑过于厚重,存在维护风险
- **下一步执行**开始 Batch 1 自动化脚本审计
- **目标&结果**完成 WebSocket 逻辑审计,开始 Unified API 审计
- **过程**深入分析了 `ws_hub.py`, `unified.py`, `rate_limiter.py` 等核心服务
- **反思**WebSocket 层的 ACK 机制很稳健但业务层的防封逻辑Anti-ban是最大的变数
- **总结**项目代码质量较高,异步处理到位,但在业务规则的灵活性上还有提升空间
- **下一步执行**修复 BUG-001并对 `unified.py` 进行深度修复