# 审计 — 内置 Web 浏览器

## 范围（文件清单）

| 文件 | 变更 |
|------|------|
| `frontend/src/pages/BrowserPage.vue` | iframe 浏览器页 |
| `frontend/src/composables/useEmbeddedBrowser.ts` | 导航历史 |
| `frontend/src/utils/browserUrl.ts` | URL 白名单校验 |
| `frontend/src/router/index.ts` | `/browser` 路由 |
| `frontend/src/App.vue` | 侧栏 + 全屏布局 |
| `frontend/src/pages/ServersPage.vue` | 站点入口 |

## Step 3 规则扫描

| H | 规则 | 结论 |
|---|------|------|
| H1 | 无 SSRF（无后端 fetch） | PASS |
| H2 | 仅 http/https | PASS — normalizeBrowserUrl |
| H3 | iframe sandbox | PASS |
| H4 | 鉴权 | PASS — 走路由 guard |

## Closure

| H | 判定 | 依据 |
|---|------|------|
| H1–H4 | PASS | 纯前端 iframe |

## DoD

- [x] type-check
- [x] changelog

## 验证

`#/browser` 与服务器「站点」按钮；禁止嵌入站点用新标签打开。
