vr-shopxo-plugin/plan.md

118 lines
3.2 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

# Council Plan — vr-shopxo-plugin 代码审议
> Round 1 — 2026-04-15
> 状态:**Draft Phase执行中**
> SecurityEngineer 和 BackendArchitect 并行审议
---
## Task Summary
对 vr-shopxo-plugin ShopXO 票务插件进行**全栈代码审议**(评论性质,不改代码,变更提交本地 worktree
## 审议范围
### 1. 插件架构EventListener.php / plugin.json
- 生命周期钩子实现是否完整
- 数据库迁移策略是否安全
- 菜单/权限注册是否正确
### 2. 票务核心service/TicketService.php / service/BaseService.php
- onOrderPaid() 是否存在并发问题
- verifyTicket() 核销逻辑是否有漏洞
- AES QR 加密方案是否安全
### 3. 前端票务详情页view/goods/ticket_detail.html
- HTML/CSS/JS 质量
- 座位图渲染逻辑
- 观演人表单安全性
### 4. 数据库 Schemadatabase/migrations/
- 表结构是否规范
- 索引是否合理
- 外键关系是否正确
### 5. 安全性审计
- SQL 注入风险点
- XSS 风险点
- 支付回调 Hook 的重放攻击可能性
- QR 票防伪造强度
---
## Task Checklist
### SecurityEngineer 负责
- [ ] S1: 插件架构审计EventListener.php / plugin.json
- [ ] S2: 票务核心安全审计TicketService.php / BaseService.php
- [ ] S3: 支付回调 Hook 重放攻击审计
- [ ] S4: SQL 注入 + XSS 综合审计
- [ ] S5: 输出 reviews/code-review-SecurityEngineer.md500字+
### BackendArchitect 负责
- [ ] A1: 数据库 Schema 审计migrations/ 所有文件)
- [ ] A2: 票务核心并发/业务逻辑审计
- [ ] A3: 前端票务详情页质量审计
- [ ] A4: 输出 reviews/code-review-BackendArchitect.md500字+
### FrontendDev 负责(如参与)
- [ ] F1: 前端 HTML/CSS/JS 质量专项审计
### All
- [ ] D1: 合并评审报告到 main
- [ ] D2: 最终投票
---
## Phase Breakdown
| Phase | 内容 | Owner | 状态 |
|---|---|---|---|
| **Draft** | 各模块代码审计 + 报告撰写 | All | ⏳ In Progress |
| **Review** | 交叉评审,输出 reviews/ 文件 | All | ⏳ Pending |
| **Finalize** | 合并到 main投票 | All | ⏳ Pending |
---
## Claim Status
| Task | Owner | Status |
|---|---|---|
| S1-S5: 安全审计 | council/SecurityEngineer | `[Claimed]` |
| A1-A4: 架构审计 | council/BackendArchitect | `[Claimed]` |
| F1: 前端审计 | council/FrontendDev | `[Pending]` |
| D1-D2: 合并+投票 | council/All | `[Pending]` |
---
## 审计关注点清单SecurityEngineer 视角)
### 插件架构
- [ ] 生命周期钩子Install/Uninstall/Enable/Disable完整性
- [ ] 权限/菜单注册安全性
- [ ] 升级迁移策略
### 票务核心
- [ ] onOrderPaid() 并发安全(库存锁定/原子操作)
- [ ] verifyTicket() 核销鉴权(状态机完整性)
- [ ] AES QR 加密(密钥管理/IV/模式选择)
- [ ] 订单状态流转安全性
### 前端安全
- [ ] XSS 输出转义
- [ ] 表单 CSRF 防护
- [ ] 敏感信息暴露
### 数据库
- [ ] SQL 拼接风险点
- [ ] 参数化查询使用情况
- [ ] 索引覆盖完整性
### 支付安全
- [ ] 支付回调重放攻击nonce/一次性token
- [ ] 签名验证完整性
---
**[CONSENSUS: NO]** — Round 1 完成,进入执行轮