# 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 凭证由前端自行生成