前端安全架构面试题
模拟真实面试场景,训练对威胁建模、SDL、供应链安全与隐私架构的理解与表达。
一、基础题
1. 什么是威胁建模?前端为什么需要威胁建模?基础
2. 解释 STRIDE 模型。基础
3. CSP 能解决什么问题?给出一个基本配置示例。基础
4. 什么是供应链安全?前端如何防护?基础
5. 前端如何处理用户身份认证安全?基础
二、进阶题
6. 什么是安全左移?前端如何实践?进阶
7. 如何设计一个隐私合规的前端应用?进阶
8. 第三方脚本有哪些风险?如何治理?进阶
三、高级题
9. 设计一个前端安全架构方案。深入
参考答案要点:
- 威胁建模:识别资产和信任边界。
- 编码安全:输入校验、输出编码、安全 API。
- 运行时控制:CSP、安全响应头、SRI。
- 供应链安全:依赖审计、私有 registry、SRI。
- 认证授权:短期 Token、HttpOnly Cookie、服务端校验。
- 隐私合规:数据最小化、告知同意、脱敏。
- 测试运营:SAST、DAST、监控、应急响应。
评分维度:
- 架构完整性(30%)
- 控制措施(30%)
- 流程设计(25%)
- 可落地性(15%)
10. 如何建立一个可持续的安全文化?深入
参考答案要点:
- 领导支持:将安全纳入 OKR 和考核。
- 安全培训:定期分享漏洞案例和修复方法。
- 工具赋能:自动化扫描降低人工负担。
- 激励机制:奖励发现安全问题。
- 复盘机制:每次安全事件后复盘并更新规范。
- 建立 SLA:漏洞修复时限明确。
评分维度:
- 组织层面(30%)
- 培训与工具(30%)
- 激励与复盘(25%)
- 可执行性(15%)
标签:#security #security-architecture #面试题 #threat-modeling #privacy
最后更新:2026-06-25
四、综合题
11. 如何设计一个完整的 CSP 策略?请给出从开发到上线的完整工作流。基础
12. 你的项目采用 BFF 架构,请设计前端认证方案,包含登录、Token 刷新、登出。基础
13. 解释 OAuth PKCE 流程,并说明为什么它比 Implicit Flow 更安全。基础
14. 描述 XSS 的防御纵深,从浏览器层面、框架层面、应用层面、监控层面分别说明。基础
15. 前端 CSRF 有哪些防御方式?现代浏览器提供了哪些新能力?基础
16. 假设团队要进行一次安全代码审查(Security Code Review),请制定一份前端安全审查清单。基础
数据输入与输出
- [ ] 所有用户输入是否经过验证(类型、长度、格式)?
- [ ] 输出到 DOM 时是否正确编码/转义?
- [ ] 是否使用了 innerHTML、outerHTML、insertAdjacentHTML?
- [ ] 富文本是否使用 DOMPurify 清洗?
认证与会话
- [ ] Token 是否存储在 HttpOnly Cookie 中?
- [ ] 登出是否清除了所有客户端状态?
- [ ] 密码/密钥是否在前端明文存储?
API 通信
- [ ] 是否验证了 API 响应的类型和格式?
- [ ] 请求是否包含 CSRF 保护?
- [ ] 是否使用了 HTTPS?
- [ ] Token 是否在 URL 参数中传递?
第三方集成
- [ ] 第三方脚本是否使用了 SRI?
- [ ] iframe 是否正确配置了 sandbox 和 postMessage 验证?
- [ ] 第三方脚本的权限是否最小化?
存储
- [ ] localStorage 是否存了敏感数据?
- [ ] IndexedDB 中是否有未加密的 PII?
配置
- [ ] CSP 配置是否正确?
- [ ] 是否设置了 HSTS?
- [ ] 是否启用了 X-Frame-Options?
- [ ] 是否启用了 X-Content-Type-Options?
依赖
17. 为你的前端应用进行一次威胁建模(Threat Modeling),以支付功能为例说明。基础
18. 如何在前端实现 WebAuthn / Passkeys 无密码登录?对比传统密码登录的安全性。基础
19. 你的前端应用使用了第三方统计脚本,存在哪些安全风险?如何缓解?基础
20. 设计一个前端安全事件应急响应流程。基础