新吴区漏洞代码侧全量回归报告
store/master_patch@1219480d7 · 2026-08-18 · 客户为非Docker部署
结论:高危代码项已修复并通过攻击回归;相对整改前基线没有新增完整套件失败。当前可以进入客户部署复测,但不能把本地代码通过等同于生产漏洞关闭。
核心结果
41 / 134安全测试 / 断言全绿
5HTTP安全场景通过
3PC/移动/大屏构建通过
0相对基线新增失败
漏洞逐项结论
| 漏洞 | 代码侧结果 | 业务正向验证 | 剩余 |
|---|---|---|---|
| 弱口令 | 通过 强密码、锁定、弱密码改密、Token失效 | PC登录页、合规密码路径 | 生产管理员改密/清会话 |
| 上传RCE | 通过 JPG/JPEG/PNG内容白名单 | 合法PNG委托原上传;PC构建 | 客户Nginx和历史脚本清理 |
| 配置泄露 | 入口通过 上传/下载两条读取入口关闭 | 配置结构不变 | 凭据轮换/主机清理 |
| 任意文件读取 | 通过 登录+realpath+安全ZIP | 合法单/批量路径 | 客户实页下载 |
| 大屏匿名 | 风险接受 业务要求免登录 | 接口200、31条、页面正常 | 低危说明 |
| 备份公开 | 发布源通过 Web根敏感扫描为0 | 三端静态资源构建 | 客户历史备份删除/迁移 |
完整PHPUnit基线对照
| 指标 | 整改前 | 当前 | 变化 |
|---|---|---|---|
| 总数 | 881 | 901 | +20 |
| 通过 | 829 | 854 | +25 |
| 错误 | 14 | 13 | -1 |
| 失败 | 22 | 18 | -4 |
| 跳过 | 16 | 16 | 0 |
| 新增失败 | - | 0 | 无回归 |
当前剩余31个错误/失败均在整改前基线存在,主要是缺测试表/字段、旧契约断言和已迁出文件。不能宣称整个历史仓库全部自动化绿灯,但可以确认安全补丁没有新增失败。
真实接口与Nginx对照
| 匿名恶意上传 | code=100 未登录 |
| 匿名读取配置 | code=100 未登录 |
| 匿名大屏 | code=0,字段仅餐厅/设备/菜品余量状态 |
| 历史备份URL | HTTP 404 |
| 上传目录PHP | HTTP 404 |
| 上传目录普通图片 | HTTP 200 |
业务与其他端
| PC | 生产构建通过;登录页正常,无页面/控制台错误 |
| 移动端 | 生产构建和登录页渲染通过;存在整改前已有的非阻断 /src/main.js 404 |
| 大屏 | 生产构建通过;余量页正常,API 200,无页面/控制台错误 |
| 调用范围 | 上传1处、下载2个页面、大屏1处;未发现小程序/设备端调用 |
发布源卫生
发现并删除 public/static/npminstall-debug.log,该文件暴露本机构建路径但不参与业务;提交 1219480d7。修复后Git跟踪和工作区Web根的SQL、备份、环境和日志敏感后缀扫描均为0。
生产必须完成
- 部署最新master_patch并按现场PHP-FPM生效。
- 真实账号验证登录/改密、电子菜牌上传、附件单/批量下载。
- 落地并回读客户Nginx上传禁执行和敏感文件规则。
- 删除WebShell、扫描持久化、轮换全部泄露凭据。
- 删除公开备份并迁移备份任务。
- 测评方复测高/中危;大屏提交低危风险接受。
状态
| 核心业务代码 | 完成 |
| 代码侧回归 | 通过 |
| Apifox导入 | 待目录确认 |
| 客户部署/生产清理/复测 | 待执行 |