vr-shopxo-plugin/plan.md

86 lines
3.5 KiB
Markdown
Raw Normal View History

# Plan — 幽灵规格安全审计Ghost Spec Security Audit
> 版本v1.1 | 日期2026-04-20 | Agentcouncil/SecurityEngineer
> 关联任务:场馆删除后编辑商品出现规格重复错误 — 安全视角分析
---
## 任务概述
从安全工程师视角评估"幽灵 spec"问题:
1.`template_id` 指向已删除场馆时后端是否拒绝保存脏数据code -401
2. 幽灵 spec 是否可被恶意利用来注入/覆盖商品规格?
3. 前端 fallback 是否有安全风险?
4. 根因属于 P1拒绝脏数据还是 P2优雅降级
---
## 任务清单
- [x] [Done: council/SecurityEngineer] **Task S1**: 读取 AdminGoodsSaveHandle.php — 安全审计:保存时是否拒绝脏数据
- [x] [Done: council/SecurityEngineer] **Task S2**: 读取 SeatSkuService.php — 幽灵 spec 注入路径分析
- [x] [Done: council/SecurityEngineer] **Task S3**: 读取 AdminGoodsSave.php — ShopXO 入口安全检查
- [x] [Done: council/SecurityEngineer] **Task S4**: 输出安全审计报告 → `reviews/SecurityEngineer-GHOST_SPEC_SECURITY.md`
- [x] [Done: council/SecurityEngineer] **Task S5**: 更新 `reviews/council-ghost-spec-summary.md`
---
## 阶段划分
| 阶段 | 内容 |
|------|------|
| **Draft** | Task S1-S3读取关键文件安全审计 |
| **Review** | Task S4输出安全报告 |
| **Finalize** | Task S5汇总到 summary |
---
## 关键文件SecurityEngineer 专用)
| 文件 | 安全关注点 |
|------|-----------|
| `shopxo/app/plugins/vr_ticket/hook/AdminGoodsSaveHandle.php` | 幽灵 spec 是否阻止保存?是否可以注入? |
| `shopxo/app/plugins/vr_ticket/service/SeatSkuService.php` | GetGoodsViewData fallback 安全风险 |
| `shopxo/app/plugins/vr_ticket/admin/Admin.php` | VenueDelete 硬删除逻辑(关联分析) |
| `shopxo/app/admin/hook/AdminGoodsSave.php` | ShopXO 保存钩子入口安全检查 |
---
## 审计问题清单SecurityEngineer 专用)
1. **S1-Q1**: 当 `template_id` 指向不存在的场馆时,`AdminGoodsSaveHandle` 是否拒绝保存(返回 code -401
2. **S1-Q2**: 幽灵 spec来自已删除场馆的 `spec_base_id_map`)是否可在保存时被注入到 `vr_goods_config`
3. **S1-Q3**: `vr_goods_config` 中若有多个规格项的 `spec_base_id` 相同,是否会触发去重逻辑或安全阻断?
4. **S2-Q1**: `SeatSkuService::GetGoodsViewData` 在模板不存在时如何 fallbackfallback 数据是否可信?
5. **S2-Q2**: `template_snapshot` 字段是否可以携带恶意 payload
6. **S3-Q1**: ShopXO `AdminGoodsSave.php` 入口是否有参数校验?
7. **评估**: 根因属于 P1拒绝脏数据/安全漏洞)还是 P2功能降级
---
## 优先级定义
| 级别 | 含义 |
|------|------|
| **P1** | 安全漏洞脏数据注入、XSS、权限绕过、数据覆盖 |
| **P2** | 功能缺陷:用户体验问题、错误提示不友好 |
| **P3** | 改进建议:代码健壮性优化 |
---
## 依赖
- BackendArchitect后端规格去重逻辑分析
- SecurityEngineer安全风险评估
- FrontendDev前端 fallback 行为分析
- 最终汇总由 SecurityEngineer 写入 `reviews/council-ghost-spec-summary.md`
---
## 输出报告
- `reviews/SecurityEngineer-GHOST_SPEC_SECURITY.md` — 详细安全审计报告 ✅
- `reviews/council-ghost-spec-FrontendDev.md` — 前端调研报告 ✅
- `reviews/council-ghost-spec-BackendArchitect.md` — 后端调研报告 ✅
- `reviews/council-ghost-spec-summary.md` — 三方汇总报告 ✅