# 审计 — 移除浏览器 RDP 功能

**Changelog**: `docs/changelog/2026-06-10-rdp-feature-removal.md`

## 变更文件

| 文件 | 说明 |
|------|------|
| `server/api/rdp.py` | 删除 WS 隧道 |
| `server/api/rdp_hosts.py` | 删除 CRUD |
| `server/api/servers.py` | 删除 `/rdp-connect` 与 rdp 字段 |
| `server/api/schemas.py` | 删除 rdp_* 请求字段 |
| `server/main.py` | 注销 rdp 路由 |
| `server/config.py` | 删除 GUACD_* |
| `server/domain/models/__init__.py` | 删除 RdpHost |
| `server/infrastructure/database/migrations.py` | DROP rdp_hosts |
| `server/infrastructure/database/rdp_host_repo.py` | 删除 |
| `server/infrastructure/guacamole/__init__.py` | 删除 |
| `server/infrastructure/guacamole/protocol.py` | 删除 |
| `server/infrastructure/guacamole/tunnel.py` | 删除 |
| `server/infrastructure/guacamole/ws_tunnel.py` | 删除 |
| `server/utils/rdp_config.py` | 删除 |
| `docker-compose.yml` | 删除 guacd 服务 |
| `docker/docker-compose.prod.yml` | 删除 guacd 侧车 |
| `frontend/src/App.vue` | 移除侧栏 3389 |
| `frontend/src/router/index.ts` | 移除 /rdp 路由 |
| `frontend/src/composables/useRoutePrefetch.ts` | 移除预载 |
| `frontend/src/pages/RdpPage.vue` | 删除 |
| `frontend/src/components/rdp/RdpHostFormDialog.vue` | 删除 |
| `frontend/src/composables/rdp/useRdpSession.ts` | 删除 |
| `frontend/src/composables/rdp/useRdpHostList.ts` | 删除 |
| `frontend/src/types/guacamole.d.ts` | 删除 |
| `frontend/src/types/api.ts` | 删除 rdp 响应字段 |
| `frontend/src/api/index.ts` | 注释更新 |
| `frontend/package.json` | 移除 guacamole-common-js |
| `frontend/package-lock.json` | 锁文件同步 |
| `frontend/e2e/helpers.mjs` | 移除侧栏项 |
| `tests/test_rdp_hosts.py` | 删除 |
| `tests/test_rdp_config.py` | 删除 |
| `tests/test_guacamole_protocol.py` | 删除 |

## Step 3（规则扫描）

| 规则 | 结论 | 说明 |
|------|------|------|
| 攻击面 | PASS | 移除 WS 隧道与 guacd 依赖，减少暴露 |
| 密钥 | PASS | rdp_hosts 表 DROP；无新增凭据路径 |
| 鉴权 | N/A | 删除端点，无新 API |
| 静默吞错 | PASS | 无新增异常处理 |
| 依赖 | PASS | 移除 guacamole-common-js |

## Closure（走读）

| 文件 | 结论 |
|------|------|
| `main.py` | SAFE — 无残留 rdp import |
| `servers.py` | SAFE — 无 rdp_config 引用 |
| `migrations.py` | SAFE — DROP IF EXISTS 幂等 |
| `App.vue` | SAFE — 菜单项已移除 |

## DoD

- [x] changelog + 本审计
- [x] `local_verify` + frontend type-check
- [ ] 生产部署与健康检查
- [ ] 侧栏无「3389远程」
