council(draft): SecurityEngineer - add Round 1 plan for AdminGoodsSaveHandle security audit

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
council/FrontendDev
Council 2026-04-20 09:45:33 +08:00
parent c18e298a69
commit bdb4eb55e7
1 changed files with 50 additions and 3 deletions

53
plan.md
View File

@ -1,7 +1,54 @@
# vr-shopxo-plugin Phase 2 Bugfix — plan.md
# Plan — 安全审计AdminGoodsSaveHandle 数据验证逻辑
> 版本v1.0 | 日期2026-04-16 | Agentcouncil/FrontendDev
> 背景Phase 2 后台管理两个致命问题 — 侧栏乱码 + 路由无法渲染
> 版本v1.0 | 日期2026-04-20 | Agentcouncil/SecurityEngineer
---
## 任务概述
`AdminGoodsSaveHandle.php` 的数据验证逻辑进行安全审计,重点调查商品保存时报错 `Undefined array key "id"` 的根因,并分析所有可能导致数据异常或未定义行为的输入点。
---
## 审计任务清单
- [ ] **Task 1**: 读取 `AdminGoodsSaveHandle.php` — 定位 "Undefined array key 'id'" 最可能出现的行
- [Pending: council/SecurityEngineer]
- [ ] **Task 2**: 分析 ShopXO `Db::name()` 表前缀行为 — `vr_seat_templates` vs `vrt_vr_seat_templates`
- [Pending: council/SecurityEngineer]
- [ ] **Task 3**: 分析 `find($templateId)` 返回 null 时的处理逻辑
- [Pending: council/SecurityEngineer]
- [ ] **Task 4**: 分析 `$configs` JSON 解码后的类型安全性 — 数组访问下标验证
- [Pending: council/SecurityEngineer]
- [ ] **Task 5**: 分析 `selected_rooms` 数据结构与类型匹配问题
- [Pending: council/SecurityEngineer]
- [ ] **Task 6**: 审计 `SeatSkuService::BatchGenerate``$data['item_type']` 访问安全性
- [Pending: council/SecurityEngineer]
- [ ] **Task 7**: 汇总根因分析,输出修复建议 → `reviews/SecurityEngineer-AUDIT.md`
- [Pending: council/SecurityEngineer]
---
## 阶段划分
| 阶段 | 内容 |
|------|------|
| **Draft** | Task 1-6逐文件、逐行读取代码识别所有安全风险点 |
| **Review** | Task 7汇总根因输出结构化审计报告与修复建议 |
| **Finalize** | 提交审计报告到 main标记完成 |
---
## 依赖
- 依赖 `docs/VR_GOODS_CONFIG_SPEC.md`v3.0 JSON 格式说明)
- 不需要 BackendArchitect / DebugAgent 配合,可独立完成
---