vr-shopxo-plugin/plan.md

2.7 KiB
Raw Blame History

Council Plan — vr-shopxo-plugin 安全审议

Round 1 — 2026-04-15 Branch: council/SecurityEngineer → main 状态:Draft Phase 完成,进入 Review


Task Summary

对 vr-shopxo-plugin 票务插件进行完整代码安全审议输出独立评审报告≥500字列出所有发现的问题严重/中等/轻微/建议),给出具体修复建议。仅评论不改代码,变更提交本地 worktree。


Task Checklist

  • 1. 插件架构审计EventListener.php / plugin.json
  • 2. 票务核心审计TicketService.php / BaseService.php
  • 3. 前端票务详情页审计ticket_detail.html
  • 4. 数据库 Schema 审计
  • 5. 安全性综合审计SQL注入/XSS/重放攻击/QR伪造
  • 6. 输出评审报告到 reviews/code-review-SecurityEngineer.md
  • 7. 提交 plan.md 到 main

审计发现汇总

编号 严重程度 类别 描述
S-01 🔴 严重 业务逻辑 onOrderPaid 无幂等保护,同一订单可生成多张票
M-01 🟡 中等 业务逻辑 verifyTicket 存在 TOCTOU 竞态条件
M-02 🟡 中等 鉴权 手动核销接口未验证核销员身份
M-03 🟡 中等 数据安全 观演人身份证明文存储
M-04 🟡 中等 前端安全 simple_desc 使用 `
M-05 🟡 中等 加密 QR 加密密钥回退到硬编码默认值
L-01 🟢 轻微 前端安全 data-label 属性可能含未转义数据
L-02 🟢 轻微 数据完整性 AES-CBC 无认证加密
L-03 🟢 轻微 业务逻辑 loadSoldSeats 未实现,存在超卖风险
I-01~04 💡 建议 架构/业务 升级迁移、退款钩子、购买上限、表单校验缺失

Phase Breakdown

Phase 内容 状态
Draft 各模块代码审计 + 报告撰写 Done
Review 评审其他成员报告 Pending
Finalize 合并到 main投票 Pending

Claim Status

Task Owner Status
插件架构审计 council/SecurityEngineer [Done]
票务核心审计 council/SecurityEngineer [Done]
前端票务页审计 council/SecurityEngineer [Done]
数据库Schema审计 council/SecurityEngineer [Done]
安全综合审计 council/SecurityEngineer [Done]
输出评审报告 council/SecurityEngineer [Done]

立即修复优先级(上线前必须)

  1. S-01onOrderPaid 添加幂等检查
  2. M-02 — 手动核销接口鉴权
  3. M-04 — 移除 |raw XSS
  4. M-05 — 移除 QR 密钥硬编码回退

[CONSENSUS: NO] — Draft 完成,等待其他成员评审