Files
Nexus/docs/audit/2026-06-07-files-upload-health-monitor-deploy.md
T

52 lines
1.8 KiB
Markdown
Raw Normal View History

# 审计 — 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