# BUG / 审计覆盖总表(2026-06-04) **用途**:回答「还有哪些文件没扫?」——区分 **Phase 2/3 走读** 与 **BUG 专项深读**,避免与「全库闭环」混读。 **图例** | 标记 | 含义 | |------|------| | **P2·矩阵** | `audit-phase-2-findings-matrix.md` 有对应 ID 或 2a–2j 批次纳入 | | **P2·批次** | Phase 2/3 报告中有文件名(grep / 目录汇总 / 增量) | | **P3·目录** | Phase 3 前端按目录 grep(`pages/` 14 文件合计 0 新 FINDING,**非逐页全文**) | | **BUG·全文** | BUG 专项 Batch 1–6:该文件 **全文或核心路径通读** | | **BUG·节选** | BUG 专项只读了 **部分行/函数**(最易漏扫) | | **—** | 上述 BUG 专项 **未列入** 任何 Batch 范围表 | **统计(BUG 专项)** - `server/api/*.py`:20 个文件 → BUG·全文/节选 **12**,BUG 未列入 **8** - `frontend/src/pages/*.vue`:14 个 → BUG·节选/关联 **4**,BUG 未列入 **10** --- ## 1. `server/api/`(20) | 文件 | 行数约 | Phase 2/3 | BUG 专项 | 说明 | |------|--------|-----------|----------|------| | `agent.py` | 360 | P2·矩阵 F2a-02/03/04;2h 增量 | **BUG·全文** B1;**BUG·节选** B5 TTL | 心跳/告警主路径已深读 | | `install.py` | 719 | P2·矩阵 F2a-08/09;2a 全文 | **BUG·全文** B1 | 安装锁已修 | | `auth_jwt.py` | 275 | P2·矩阵 F2a-10 | **BUG·全文** B6 | 中间件 + `tv` | | `auth.py` | ~375 | P2·矩阵 F2a-07 | **BUG·节选** B6(refresh 在 service) | 登录/TOTP 路由未单独 BUG 通读 | | `servers.py` | ~1733 | P2·矩阵 F2a-12/13 | **BUG·节选** B1 stats;B3 stats 封顶 | **大部 CRUD/WebSSH 未 BUG 通读** | | `sync_v2.py` | ~1663 | P2·矩阵 F2a-11;2b 服务层 | **BUG·节选** B3/4/5 多段 | file-ops/upload/写路径;**整文件未 BUG 通读** | | `scripts.py` | ~369 | P2·矩阵 F2a-14/15;2h 全文 | — | Phase 2h 已全文;BUG 专项未单列 | | `webssh.py` | — | P2·矩阵 F2a-01/05/06 | — | 仅矩阵/历史 2a,**无 BUG Batch** | | `websocket.py` | — | P2·矩阵 F2a-18 | — | 告警 WS;推送 WS 在 B4 侧验证 | | `settings.py` | — | P2·矩阵 F2a-16 | — | | | `files.py` | 78 | P2·批次(API 层) | **BUG·全文** B4 | 仅 GET browse | | `schemas.py` | — | P2·批次 | **BUG·节选** B4 `SyncFiles.batch_id` | | | `terminal.py` | — | P2·批次 | — | | | `search.py` | — | P2·批次 | — | | | `assets.py` | — | P2·批次 | — | | | `health.py` | — | P2·批次 | — | | | `dependencies.py` | — | P2·矩阵 F2a-17 | — | | | `remote_path_validation.py` | — | P2·批次 | — | | | `schema_path_validators.py` | — | P2·批次 | — | | | `__init__.py` | — | P2·批次 | — | 路由聚合,无单独 BUG 行 | --- ## 2. `server/` 其他(BUG 专项已触及) | 文件 | Phase 2/3 | BUG 专项 | 说明 | |------|-----------|----------|------| | `background/schedule_runner.py` | P2·2d | **BUG·全文** B2 | once 回滚已修 | | `background/retry_runner.py` | P2·2d | **BUG·全文** B3 | 重试分类已修 | | `background/heartbeat_flush.py` | P2·2d | **BUG·节选** B4/B5 | flush 批量提交 | | `background/self_monitor.py` | P2·2d | **BUG·全文** B5 | | | `background/script_execution_flush.py` | P2·2g/2i | **BUG·全文** B6 | | | `application/services/auth_service.py` | P2·2b | **BUG·节选** B2/B6 | refresh 重用 B6 已修 | | `application/services/sync_engine_v2.py` | P2·2b 矩阵 | **BUG·节选** B2/B3 | gather 计数 B3 | | `application/services/script_job_callback.py` | P2·2g | **BUG·全文** B1 | | | `application/services/files_browse_service.py` | P2·2b/服务 | **BUG·节选** B4/5 | invalidate 辅助 | | `infrastructure/redis/script_execution_store.py` | P2·2g | **BUG·节选** B2 | stuck/flush 段 | **`server/` 其余**(`application/services/*` 其它、`infrastructure/*`、`domain/*`、`main.py`、`config.py` 等,约 50+ 文件):Phase 2b–2d **批次走读**;**BUG 专项 0 文件全文**。 --- ## 3. `frontend/src/pages/`(14) | 页面 | Phase 2/3 | BUG 专项 | 说明 | |------|-----------|----------|------| | `PushPage.vue` | P3·目录 | **BUG·关联** B4 `usePushProgress` | 页面本身未单独 Read | | `FilesPage.vue` | P3·目录 | **BUG·关联** B6 `useFilesBrowse` + store | 组合逻辑在 composable | | `DashboardPage.vue` | P3·目录 | **BUG·节选** B3 | 仅 stats 加载段 | | `TerminalPage.vue` | P3·目录 | **BUG·关联** B2 `useTerminalSessions` | | | `LoginPage.vue` | P3·目录 | — | | | `ServersPage.vue` | P3·目录 | — | | | `ScriptsPage.vue` | P3·目录 | — | | | `CommandsPage.vue` | P3·目录 | — | | | `SchedulesPage.vue` | P3·目录 | — | | | `SettingsPage.vue` | P3·目录 | — | | | `AuditPage.vue` | P3·目录 | — | | | `AlertsPage.vue` | P3·目录 | — | | | `CredentialsPage.vue` | P3·目录 | — | | | `RetriesPage.vue` | P3·目录 | — | | **`frontend/src` 其它**(composables/components 等 ~91 文件):Phase 3 **目录 grep + 5 个代表全文**;BUG 专项仅 **~8 个路径**(见 Batch 2/4/6 报告)。 --- ## 4. BUG 专项 Batch 1–6 文件清单(去重) | Batch | 文件(路径) | 深度 | |-------|----------------|------| | 1 | `install.py`, `web/app/install.html`, `script_job_callback.py`, `agent.py`, `servers.py`(节选) | 全文/节选 | | 2 | `schedule_runner.py`, `auth_service.py`(节选), `sync_engine_v2.py`(节选), `script_execution_store.py`(节选), `useTerminalSessions.ts` | 节选为主 | | 3 | `retry_runner.py`, `sync_engine_v2.py`, `servers.py`(stats), `files_browse_service.py`, `DashboardPage.vue`(节选) | | | 4 | `sync_v2.py`(节选), `files.py`, `heartbeat_flush.py`, `usePushProgress.ts`, `schemas.py`(节选) | | | 5 | `agent.py`(TTL), `heartbeat_flush.py`, `sync_v2.py`(写路径), `self_monitor.py`, `files_browse_service.py` | | | 6 | `auth_jwt.py`, `auth_service.py`(refresh), `script_execution_flush.py`, `useFilesBrowse.ts`, `files.ts` | | **合计去重约 25 个路径**(含节选重复计 1 次)。 --- ## 5. 结论(2026-06-04 更新 — 全量扫描已签退) **此前缺口(Batch 1–6 仅 ~25 路径)已由全量排期补齐。** | 状态 | 说明 | |------|------| | **BUG 全量扫描** | B0 登记册 + **B7–B77** 共 71 批;`must_audit` **283/283** `done`(`read_range` 1..N) | | **节选重读** | `servers.py`、`sync_v2.py`、`script_service.py`、`useTerminalSessions.ts` 等 `needs_full_rescan` → **0** | | **构建产物** | `web/app/assets/**` 2773 文件 → `covered-by-frontend-src` + [B-Assets 门控](audit-bug-assets-gate-2026-06-04.md) | | **排除** | `scripts/sedul3hFb`、`docker/.env`(本地密钥,审 `docker/.env.example`) | | **OPEN P0/P1** | **0**(Batch 7–77 本轮无新增;Batch 1–6 已修项保留) | 签退文档:[`audit-bug-scan-closure-2026-06-04.md`](audit-bug-scan-closure-2026-06-04.md) 机器可读 SSOT:[`docs/audit/2026-06-04-bug-scan-registry.json`](../audit/2026-06-04-bug-scan-registry.json) --- ## 6. 历史建议顺序(已由 B7–B77 执行完毕,归档) | 原优先级 | 范围 | 现状态 | |----------|------|--------| | P0 | `webssh.py` 全文 | B9 | | P0 | `servers.py` 全文 | B7-R | | P1 | `sync_v2.py` 全文 | B8-R | | P1 | `scripts.py` + `script_service.py` | B10 / B17-R | | P2 | `frontend/src/pages/*.vue` | B35–B37 | | P2 | `terminal.py`、`settings.py`、`search.py` | B9 / B10 | --- ## 7. 交叉引用 | 文档 | 路径 | |------|------| | Phase 2 矩阵 | `docs/reports/audit-phase-2-findings-matrix.md` | | Phase 3 前端 | `docs/reports/audit-phase-3-frontend-line-walk.md` | | Phase 闭环声明 | `docs/reports/audit-phase-3-full-closure-2026-06-04.md` | | BUG Batch 1–6 | `docs/reports/audit-bug-line-walk-2026-06-04-batch{1..6}.md` | | BUG Batch 7–77 | `docs/reports/audit-bug-line-walk-2026-06-04-batch{7..77}.md` | | **BUG 全量登记册** | `docs/audit/2026-06-04-bug-scan-registry.json` | | **BUG 全量签退** | `docs/reports/audit-bug-scan-closure-2026-06-04.md` | | B-Assets 门控 | `docs/reports/audit-bug-assets-gate-2026-06-04.md` | | Phase 登记册(历史) | `docs/audit/2026-06-04-full-line-walk-registry.md` | --- *更新: 2026-06-04 · BUG 全量签退 · pytest 154 passed · ruff 全绿*