council(draft): backend-reviewer - create plan.md with SQL/security task breakdown
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>council/backend-reviewer
parent
e7d68ce3e8
commit
bdee8b50c6
|
|
@ -0,0 +1,77 @@
|
||||||
|
# plan.md — backend-reviewer Round 1
|
||||||
|
|
||||||
|
## 角色
|
||||||
|
🔐 **backend-reviewer**:数据库与后端安全专家
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 文档评审结论(docs/01_SHOPXO_TECHNICAL_RESEARCH.md)
|
||||||
|
|
||||||
|
### SQL 设计部分
|
||||||
|
|
||||||
|
| 检查项 | 结论 | 说明 |
|
||||||
|
|---|---|---|
|
||||||
|
| vr_tickets 表 DDL | ❌ 缺失 | 文档中无任何 CREATE TABLE 语句 |
|
||||||
|
| vr_events 表 DDL | ❌ 缺失 | 同上 |
|
||||||
|
| vr_sessions 表 DDL | ❌ 缺失 | 同上 |
|
||||||
|
| vr_seats / vr_orders 表 | ❌ 缺失 | 同上 |
|
||||||
|
| ShopXO 原生表(sxo_*)分析 | ✅ 充分 | 充分覆盖 sxo_order / sxo_goods_spec_base 等核心表 |
|
||||||
|
| 索引策略 | ⚠️ 需补充 | 文档未提及 vr 插件表索引设计 |
|
||||||
|
| 外键约束与级联策略 | ⚠️ 需补充 | 未覆盖 |
|
||||||
|
|
||||||
|
### 安全审查部分
|
||||||
|
|
||||||
|
| 检查项 | 结论 | 说明 |
|
||||||
|
|---|---|---|
|
||||||
|
| SQL 注入防御 | ✅ 通过 | 使用 ThinkPHP Db 类自动绑定参数,未发现拼接 SQL |
|
||||||
|
| BuyService 原子扣库存 | ✅ 通过 | WHERE inventory >= N + dec() 原子操作,事务回滚机制安全 |
|
||||||
|
| QR 码生成逻辑 | ⚠️ 需补充 | base64 编码方式安全,但未分析:QR payload 是否含 PII、暴力枚举风险 |
|
||||||
|
| 核销码可预测性 | ⚠️ 未分析 | sxo_order_extraction_code 的 code 字段生成算法未知 |
|
||||||
|
| 订单扩展字段安全 | ⚠️ 未分析 | extension_data JSON 存储需防注入 |
|
||||||
|
| 权限控制 | ⚠️ 未覆盖 | 核销 API 的 admin 权限校验链未验证 |
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 任务清单
|
||||||
|
|
||||||
|
- [ ] **Task-1**: 定义 vr_events(场次表)、vr_sessions(座位表)、vr_tickets(票券表)、vr_orders(票务订单表)完整 DDL,含主键/索引/外键
|
||||||
|
- `[Claimed: council/backend-reviewer]`
|
||||||
|
- [ ] **Task-2**: 分析 BuyService OrderInsertHandle 原子扣库存逻辑,输出安全审查报告
|
||||||
|
- `[Claimed: council/backend-reviewer]`
|
||||||
|
- [ ] **Task-3**: QR 码生成逻辑注入风险分析(payload 构造 + 暴力枚举防护)
|
||||||
|
- `[Claimed: council/backend-reviewer]`
|
||||||
|
- [ ] **Task-4**: 核销 API 权限链审查(admin 端鉴权路径)
|
||||||
|
- `[Claimed: council/backend-reviewer]`
|
||||||
|
- [ ] **Task-5**: 将审查结论写入 `reviews/backend-reviewer-on-docs.md`
|
||||||
|
- `[Claimed: council/backend-reviewer]`
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 执行计划
|
||||||
|
|
||||||
|
### Phase 1 — Draft(Round 2)
|
||||||
|
1. 从 shopxo-evaluator worktree 读取 BuyService.php 源码(OrderInsertHandle 部分)
|
||||||
|
2. 读取 sxo_order_extraction_code 生成逻辑
|
||||||
|
3. 读取核销 API admin 鉴权逻辑
|
||||||
|
4. 起草 vr_* 表 DDL 初稿
|
||||||
|
|
||||||
|
### Phase 2 — Review(Round 3)
|
||||||
|
5. 合并 arch-reviewer 的 ARCHITECTURE.md 审查意见(若与数据库设计交叉)
|
||||||
|
6. 完整 review 所有发现,写入 reviews/
|
||||||
|
|
||||||
|
### Phase 3 — Finalize(Round 4)
|
||||||
|
7. 将最终 DDL + 安全报告 merge 入 main
|
||||||
|
8. 投票
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 依赖
|
||||||
|
- arch-reviewer:ARCHITECTURE.md 中若有数据库层设计,需同步
|
||||||
|
- ticket-reviewer:核销系统设计文档中若定义了表结构,需对齐
|
||||||
|
- 其他 round 2 执行,无跨 Agent 阻塞依赖
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 投票
|
||||||
|
|
||||||
|
`[CONSENSUS: NO]` — 文档缺少 vr_* 插件表 DDL 定义,安全审查不完整,**不能开始编码**。需先完成表结构设计和安全评审。
|
||||||
Loading…
Reference in New Issue