浏览器安全与 BFF 集成

共 21 题
#

1. 为什么 Provider 密钥应由 BFF 持有,浏览器到 BFF 的认证、授权、限额和审计如何分层

A 密钥可放前端 bundle,方便调用
B BFF 只做代理,不做安全
C 密钥放前端也是安全的
D 密钥由 BFF 持有,BFF 集中负责认证、授权、限额与审计 ✓ 正确答案
#

2. 模型输出作为纯文本、Markdown 和 HTML 时,转义、净化与 CSP/Trusted Types 各负责什么

A 只做一次转义就足够
B 净化后就无需 CSP
C 转义管文本插值、净化管富文本白名单、CSP 与 Trusted Types 做纵深防御兜底 ✓ 正确答案
D Trusted Types 是可选装饰
#

3. 文件预览为何需要沙箱 iframe、MIME 嗅探防护、下载策略和对象 URL 生命周期管理

A 直接在主页面 iframe 预览即可
B MIME 嗅探无害,无需防范
C 沙箱 iframe 隔离 + nosniff 防嗅探 + 下载策略 + 及时 revokeObjectURL ✓ 正确答案
D blob URL 无需释放
#

4. BFF(Backend-for-Frontend)模式为何特别适合 AI 应用,凭证、限流、审计应集中在 BFF 还是分散到上游

A BFF 只做转发,安全在上游
B BFF 集中持有密钥并统一做凭证、限流、审计与成本熔断 ✓ 正确答案
C 凭证应分散到每个上游 Provider
D BFF 无法处理流式请求
#

5. 浏览器到 BFF 的认证(OAuth/OIDC、Cookie、JWT)

A 令牌直接存前端 localStorage 最方便
B JWT 应放前端可读处便于使用
C 用 OIDC 授权码 + PKCE,BFF 以 HttpOnly Cookie 维护会话,前端不接触令牌 ✓ 正确答案
D 无需认证即可调用 BFF
#

6. BFF 层对 SSE/WebSocket 长流应如何做按用户配额与成本熔断(并发连接数、单连接时长、token 速率),防止单用户长连接耗尽预算

A 长连接无需配额,用户自己控制
B 熔断会破坏所有用户,应避免
C 只有无连接数限制才快
D 按用户限制并发连接数、时长与 token 速率,超限熔断防止耗尽预算 ✓ 正确答案
#

7. 多模态上传如何验证扩展名、真实 MIME、大小、恶意载荷和用户授权

A 只校验扩展名即可
B 前端校验通过即可上传
C 用 magic bytes 检测真实 MIME、服务端限大小、病毒扫描并校验授权,前端校验仅作 UX ✓ 正确答案
D 恶意载荷无需检测
#

8. 如何避免前端错误页、Source Map、网络响应或状态仓库泄露系统 Prompt 与内部工具信息

A 错误页脱敏、生产不发布 Source Map、响应只下发最小字段、状态仓库不存 Prompt,并做发布扫描 ✓ 正确答案
B 系统 Prompt 可放前端配置,方便调试
C Source Map 公开无风险
D 状态仓库可以存 Prompt
#

9. CORS、CSRF 和同源策略在 AI BFF 中各防什么,为什么 CORS 不是授权机制

A CORS 只控制浏览器跨域读取,非浏览器客户端可绕过,真正的授权靠服务端验证身份与权限 ✓ 正确答案
B CORS 就是授权机制,可防止未授权访问
C CSRF 与 Cookie 无关
D 同源策略会阻止跨域请求
#

10. 浏览器端本地模型与云端 API 在凭证、数据落地和模型文件供应链方面有何不同风险

A 本地模型无任何风险
B 本地模型需校验模型文件来源与完整性,云端 API 需防凭证泄露与数据合规,两者风险不同 ✓ 正确答案
C 云端 API 数据不出设备
D 模型供应链风险两者相同
#

11. 多模态文件上传到 BFF 时,应做哪些服务端校验(MIME、扩展名、大小、病毒扫描)

A 前端校验就足够安全
B 扩展名就是真实类型
C 服务端用 magic bytes 校验真实 MIME、限大小、病毒扫描、内容安全与路径安全 ✓ 正确答案
D 无需病毒扫描
#

12. 为什么不能在前端直接展示完整错误堆栈,应如何设计用户友好的错误提示

A 前端展示脱敏友好提示,完整堆栈只进服务端日志,用 requestId 关联 ✓ 正确答案
B 前端直接展示完整堆栈便于排查
C 堆栈泄露无风险
D 错误提示无需给用户任何信息
#

13. 前端访问 Provider API(直连模式)应满足哪些最小安全要求(短期 Token、Referer 限制、配额)

A 直连必须用短期限定凭证、来源限制与配额,且应尽量收敛到 BFF 代理 ✓ 正确答案
B 直连可安全使用完整 API key
C 直连模式完全安全
D 直连无需任何限制
#

14. 浏览器端 prompt 模板与少量示例应如何分级为资产,哪些内容(业务规则、few-shot 数据)必须移至服务端以收敛泄露面

A UI 文案可放前端,业务规则、few-shot 与内部定义必须移服务端以收敛泄露面 ✓ 正确答案
B 所有 Prompt 都可放前端
C few-shot 是公开数据,可放前端
D Prompt 分级与安全无关
#

15. 如何验证前端打包产物、Source Map 与错误页不包含完整 Prompt 资产,并纳入发布检查

A 在 CI 中自动扫描产物与 Source Map,检测敏感 Prompt 与密钥,生产不发布 Source Map,失败阻断发布 ✓ 正确答案
B 发布前人工检查一次即可
C Source Map 无需检查
D 错误页包含堆栈没问题
#

16. Trusted Types policy 在 AI 输出中如何阻断 DOM XSS,又保留合法渲染

A Trusted Types 会阻止所有 HTML 渲染
B 使用 Trusted Types 后无需净化
C Trusted Types 与净化无关
D 在 policy 中先净化再包装为 TrustedHTML,阻断 XSS 同时保留合法渲染 ✓ 正确答案
#

17. BFF 层的 SSE/WebSocket 应如何处理反向代理缓冲与超时

A 代理缓冲越大越好,保证稳定
B WebSocket 不需要处理代理
C 超时无需配置
D 关闭代理缓冲保证实时,配置超时与心跳保持长连接稳定 ✓ 正确答案
#

18. 前端聊天应用应如何在不暴露 Provider 域名的情况下支持流式响应

A 前端直接连 Provider 域名更快
B BFF 无法转发流式
C 域名暴露无风险
D 通过 BFF 代理流式,前端只与 BFF 通信,不暴露 Provider 域名 ✓ 正确答案
#

19. 浏览器本地缓存(IndexedDB、Cache Storage)在 AI 应用(离线会话、生成历史、临时文件)中应如何设计容量、清理与安全边界

A 无限缓存,无需清理
B IndexedDB 天然加密
C 设容量上限、LRU 清理、敏感数据加密存储、按用户隔离并及时清理临时文件 ✓ 正确答案
D 临时文件无需清理
#

20. 前端安全审计应包含哪些 AI 特有检查项(DOMPurify 配置、CSP nonce、Trusted Types)

A 审计 DOMPurify 配置、CSP nonce、Trusted Types 覆盖、SSE 渲染路径与 Prompt 资产泄露 ✓ 正确答案
B 只检查登录与权限即可
C DOMPurify 默认安全无需审查
D Trusted Types 只在生产需要
#

21. 若必须浏览器直连 Realtime 服务,短期凭证应如何限定来源、会话、能力和有效期

A 凭证可长期有效,方便复用
B 凭证限定来源、会话、能力与短有效期,由 BFF 签发 ✓ 正确答案
C 凭证不绑定会话也行
D 凭证由前端自行生成