52 lines
1.8 KiB
Markdown
52 lines
1.8 KiB
Markdown
|
|
# 审计 — 2026-06-07 文件上传 + Layer3 巡检脚本 + 生产对齐部署
|
|||
|
|
|
|||
|
|
## 范围
|
|||
|
|
|
|||
|
|
本批次 `git diff HEAD~1`(commit `9337f37`)及部署前修复:
|
|||
|
|
|
|||
|
|
| 文件 | 变更要点 |
|
|||
|
|
|------|----------|
|
|||
|
|
| `deploy/health_monitor.sh` | 引号剥离 `normalize_env_value`;Telegram 中文告警 |
|
|||
|
|
| `frontend/src/composables/files/useFilesActions.ts` | FormData 字段 `files` → `file` |
|
|||
|
|
| `server/api/sync_v2.py` | 接受 `file`/`files`;多文件;`_sftp_upload_one` |
|
|||
|
|
| `tests/test_sync_upload_form.py` | 上传字段解析单测 |
|
|||
|
|
| `server/api/auth.py` | 改密 `audit_repo` 定义顺序(F821 修复) |
|
|||
|
|
| `deploy/gate_log.jsonl` | 门控运行记录(自动生成,非业务逻辑) |
|
|||
|
|
|
|||
|
|
## Step 3 规则扫描
|
|||
|
|
|
|||
|
|
| H | 规则 | 结论 |
|
|||
|
|
|---|------|------|
|
|||
|
|
| H1 | 上传字段前后端一致 | FIXED `sync_v2` + `useFilesActions` |
|
|||
|
|
| H2 | 多文件不静默丢 | FIXED `_collect_multipart_upload_files` |
|
|||
|
|
| H3 | Layer3 Telegram token 引号 | FIXED `normalize_env_value` |
|
|||
|
|
| H4 | 改密会话失效 + 审计 | FIXED `audit_repo` 先于 `AuthService` |
|
|||
|
|
| H5 | 无静默吞错 | PASS SFTP/HTTP 错误向上抛出 |
|
|||
|
|
|
|||
|
|
## Closure
|
|||
|
|
|
|||
|
|
| H | 判定 | 依据 |
|
|||
|
|
|---|------|------|
|
|||
|
|
| H1 | FIXED | `test_sync_upload_form.py` |
|
|||
|
|
| H2 | FIXED | `sync_v2.py` 多文件循环 |
|
|||
|
|
| H3 | FIXED | 生产演练 Telegram 收到 |
|
|||
|
|
| H4 | FIXED | `auth.py` ruff F821 清零 |
|
|||
|
|
| H5 | PASS | 无 bare except |
|
|||
|
|
|
|||
|
|
## 验证
|
|||
|
|
|
|||
|
|
| 项 | 结果 |
|
|||
|
|
|----|------|
|
|||
|
|
| `pytest tests/test_sync_upload_form.py -q` | pass |
|
|||
|
|
| `bash scripts/local_verify.sh` | 待 ruff 修复后重跑 |
|
|||
|
|
| Layer3 演练 | 用户确认 Telegram 收到 |
|
|||
|
|
| `deploy/pre_deploy_check.sh` | 本审计入库后重跑 |
|
|||
|
|
|
|||
|
|
## DoD
|
|||
|
|
|
|||
|
|
- [x] changelog `2026-06-07-files-upload-form-field-fix.md`
|
|||
|
|
- [x] 涉及文件列入本审计范围表
|
|||
|
|
- [x] 生产 Layer3 终验通过
|
|||
|
|
- [ ] 前端 vite build + docker upgrade
|
|||
|
|
- [ ] 批量升级 Agent
|