OAuth 与供应链安全

共 41 题
#

1. Token Introspection / UserInfo 端点在前端权限校验的工程价值

A 两者都获取 token
B Introspection 返回用户信息
C UserInfo 查 token 有效性
D Introspection 查 token 有效性,UserInfo 返回用户信息,用于权限校验 ✓ 正确答案
#

2. OIDC ID Token 与 id_token/access_token/refresh_token 在前后端分离的工程价值

A ID Token 用于授权,access_token 用于身份
B 三种 token 用途相同
C ID Token 是身份,access_token 是授权,refresh_token 用于刷新,前后端分离中 BFF 管理 ✓ 正确答案
D refresh_token 用于身份
#

3. WebAuthn Level 3 与团队规范与安全审计的协作

A WebAuthn 无法审计
B WebAuthn 无需规范
C 审计与 WebAuthn 无关
D WebAuthn 规范落地需团队规范与安全审计配合(凭据/算法/恢复) ✓ 正确答案
#

4. OAuth 2.1 与 PKCE 强制要求

A PKCE 是可选的
B OAuth 2.1 移除 PKCE
C Implicit 模式在 2.1 推荐
D OAuth 2.1 强制 PKCE、移除 Implicit/ROPC,提升安全 ✓ 正确答案
#

5. Implicit 模式与 Resource Owner Password Credentials 已从 OAuth 2.1 草案移除

A Implicit 是 SPA 最佳实践
B Implicit 的 token 在 URL 易泄露,ROPC 客户端拿密码,OAuth 2.1 移除并改用 PKCE ✓ 正确答案
C ROPC 是推荐流程
D 两者都安全
#

6. CTAP 2.2 的 CDA(Client-to-Authenticator)

A CDA 用于加密传输
B CDA 增强客户端与认证器的交互(如传递上下文、条件交互) ✓ 正确答案
C CDA 与认证器无关
D CDA 是浏览器 API
#

7. 第三方脚本治理与 SRI 的应用,Subresource Integrity 如何用哈希校验抵御 CDN 脚本被篡改?与 CSP strict-dynamic、Trusted Types 组合的纵深防御如何设计?

A SRI 用哈希校验脚本防篡改,CSP strict-dynamic 防注入,Trusted Types 防 DOM 注入 ✓ 正确答案
B SRI 校验 URL 而非内容
C SRI 与 CSP 互斥
D Trusted Types 与 SRI 无关
#

8. postMessage/Telegram 入口依赖防护与 SBOM(Software Bill of Materials)

A SBOM 与依赖无关
B postMessage 无需校验
C postMessage 入口需校验 origin,SBOM 列出依赖用于供应链管理 ✓ 正确答案
D SBOM 只列出前端代码
#

9. 依赖混淆(Dependency Confusion)攻击原理与私有源/scope 防御,npm registry 优先级与 .npmrc 配置

A 公共源同名包无害
B 依赖混淆用公共源同名包劫持,用 scope + .npmrc 指定私有源防御 ✓ 正确答案
C scope 无法防御
D .npmrc 与 registry 无关
#

10. 前端环境变量与密钥泄漏(NEXT_PUBLIC_/VITE_ 前缀误用、构建产物内嵌 secret)的防护与检测手段

A 前缀变量是安全的
B NEXT_PUBLIC_/VITE_ 前缀变量会进客户端 bundle,敏感密钥不可用 ✓ 正确答案
C 密钥可安全放前端
D 无需扫描检测
#

11. OAuth 2.0 state/nonce/PKCE 三件套防 CSRF/token injection 的工程价值

A state 防 CSRF、nonce 防重放、PKCE 防授权码拦截 ✓ 正确答案
B 三者都防 CSRF
C PKCE 防 CSRF
D nonce 防拦截
#

12. OAuth 2.0 Authorization Code + PKCE 在 SPA/原生应用的工程价值与安全取舍

A PKCE 需要 client secret
B SPA 应使用 Implicit
C SPA 用 PKCE 授权码(无需 secret),token 尽量存内存/BFF 避免 XSS ✓ 正确答案
D token 存 localStorage 最安全
#

13. Refresh Token Rotation 与 Token Revocation 在 BFF 架构的工程实现

A 撤销无需实现
B 前端直接持有 refresh token
C 轮换降低安全
D BFF 管理 token(前端不接触),刷新轮换、登出撤销 ✓ 正确答案
#

14. OAuth 2.0 的 Device Authorization Grant 在电视/IoT 设备的流程

A 它用于浏览器 SPA
B 设备直接输入密码
C 设备无需用户交互
D 无浏览器设备用 user_code 在另一设备授权,随后轮询换 token ✓ 正确答案
#

15. Passkeys(FIDO2/WebAuthn)的跨设备同步 在 SSO/IdP 的工程价值

A Passkey 跨设备同步提升无密码登录体验且抗钓鱼,适合 SSO/IdP ✓ 正确答案
B Passkey 只能在单设备使用
C Passkey 可被钓鱼
D Passkey 与 SSO 无关
#

16. CORP/COEP 的跨域资源策略 在现代前端项目的工程价值

A CORP/COEP 实现跨域隔离,防数据泄露并提供 SharedArrayBuffer 等能力 ✓ 正确答案
B CORP/COEP 与安全无关
C COEP 扩大跨源读取
D CORP 只影响第一方资源
#

17. Token 生命周期与 BFF 模式的边界

A BFF 增加安全风险
B 前端直接管理 token
C token 生命周期与 BFF 无关
D BFF 管理 token 生命周期,前端通过 HttpOnly Cookie 无感使用,隔离 token ✓ 正确答案
#

18. OIDC 的 ID Token、UserInfo 与 claims

A ID Token 无需验签
B UserInfo 是身份 JWT
C claims 是 token 类型
D ID Token 是身份 JWT,UserInfo 返回用户 claims,用于身份认证 ✓ 正确答案
#

19. OAuth 2.1 的 PKCE 强制 与团队规范与安全审计的协作

A 审计与 PKCE 无关
B PKCE 是可选的
C PKCE 强制需团队规范与安全审计配合(授权流程、token 存储) ✓ 正确答案
D OAuth 2.1 移除 PKCE
#

20. OIDC 在 OAuth 2.0 基础上提供身份认证(ID Token)

A OIDC 与 OAuth 无关
B OIDC 在 OAuth 2.0 上提供身份认证(ID Token) ✓ 正确答案
C OAuth 提供身份认证
D OIDC 无 ID Token
#

21. JWT(JSON Web Token)的签名(HS256/RS256)

A RS256 需共享密钥
B 两者都是非对称
C HS256 用私钥签名
D HS256 对称用共享密钥,RS256 非对称用私钥签名/公钥验签,身份 token 多用 RS256 ✓ 正确答案
#

22. OAuth 2.0 的 Implicit 模式弃用后 SPA 的现代最佳实践

A SPA 应继续用 Implicit
B SPA 用 Authorization Code + PKCE + BFF,token 存内存/HttpOnly 而非 localStorage ✓ 正确答案
C token 存 localStorage 安全
D SPA 无需 PKCE
#

23. OAuth 2.0 的 Client Credentials 在服务端到服务端认证的工程应用

A 它需要用户授权
B Client Credentials 用 client_id/secret 换 token,用于服务端到服务端认证 ✓ 正确答案
C secret 可放前端
D 它用于 SPA
#

24. OpenID Connect 的 id_token 签名验证与 nonce 防重放的工程实践

A id_token 用 IdP 公钥验签,nonce 校验防重放 ✓ 正确答案
B id_token 无需验签
C nonce 用于授权
D 只需校验 exp
#

25. Auth0、Clerk、Supabase Auth 等 BaaS 在 OAuth/OIDC 的现代集成

A BaaS 封装 OAuth/OIDC,提供登录组件、会话管理,快速集成认证 ✓ 正确答案
B BaaS 需自建 OAuth
C BaaS 不处理 token
D BaaS 无法社交登录
#

26. Token 存储策略(localStorage、Cookie、内存)

A localStorage 易被 XSS 读取,HttpOnly Cookie 防 XSS 但需 CSRF 防护,内存最安全但刷新丢失 ✓ 正确答案
B localStorage 最安全
C Cookie 无法防 XSS
D 内存存储持久
#

27. OAuth 2.0 的 Scope 在权限精细化控制的工程应用

A Scope 声明权限范围,实现最小权限,资源服务器按 scope 校验 ✓ 正确答案
B Scope 与权限无关
C Scope 只用于身份
D 无需校验 scope
#

28. Refresh Token 的过期与无感刷新(silent refresh)

A refresh_token 永不失效
B access_token 过期即登录
C access_token 过期时静默用 refresh_token 刷新,刷新失败才重新登录 ✓ 正确答案
D 无感刷新需用户操作
#

29. OAuth 2.0 Token Introspection 与 JWT 在会话撤销的工程取舍

A Introspection 无标志
B JWT 可实时撤销
C Introspection 可实时撤销,JWT 无状态难撤销,工程上混合(短 TTL + 黑名单) ✓ 正确答案
D 两者撤销能力相同
#

30. OIDC 的 Backchannel Logout 与 Frontchannel Logout 的工程应用

A Backchannel 依赖浏览器
B Backchannel 服务端通知可靠,Frontchannel 浏览器跳转依赖页面 ✓ 正确答案
C Frontchannel 最可靠
D 两者都无需配置
#

31. OAuth 2.0 的 Authorization Server Metadata(RFC 8414)

A 它用于加密
B 它只提供用户信息
C 它无法发现端点
D 它提供授权服务器端点/算法元数据,客户端可自动发现 ✓ 正确答案
#

32. CTAP 2.2 在 SSO/IdP 的工程价值

A CTAP 2.2 用于密码存储
B CTAP 2.2 增强认证器能力,IdP 用其实现无密码抗钓鱼认证 ✓ 正确答案
C CTAP 2.2 与认证器无关
D CTAP 2.2 无法用于 SSO
#

33. 第三方 CDN 脚本的 CSP 域名白名单与运行时隔离(<iframe sandbox>)

A sandbox 会增强权限
B 只加白名单即可
C CSP 白名单 + SRI 防恶意加载,iframe sandbox 隔离第三方脚本运行 ✓ 正确答案
D SRI 与完整性无关
#

34. npm 包的 provenance attestation 在供应链可追溯的应用

A 它只用于版本管理
B 它用 Sigstore 证明包构建来源,实现供应链可追溯 ✓ 正确答案
C 它无法验证来源
D 它依赖第三方 Cookie
#

35. Source Map 暴露的源码泄露风险与生产保护

A source map 只含压缩代码
B source map 无泄露风险
C 生产环境公开 source map 会泄露源码,应不发布或受限访问 ✓ 正确答案
D 生产应全量公开 source map
#

36. 恶意 npm 包历史事件复盘(eslint-scope、event-stream、ua-parser-js)与应对措施,自动化扫描与行为监控

A 恶意包只影响后端
B 无需扫描
C 用自动化扫描(audit/Snyk)+ 行为监控(安装脚本/网络)+ 锁定依赖防供应链攻击 ✓ 正确答案
D 锁定依赖无用
#

37. 开放重定向(open redirect)如何被串成 OAuth 授权码拦截(authorization code interception)攻击链,redirect_uri 应采用哪些校验标准(授权端点与令牌端点双重校验、精确逐字节比对、拒绝通配符与子路径匹配、校验失败时不重定向而直接报错)?

A 只需授权端点校验
B redirect_uri 可允许通配
C redirect_uri 需双重校验、精确逐字节比对、拒绝通配/子路径,防授权码拦截 ✓ 正确答案
D 校验失败应重定向
#

38. AI 安全边界(提示注入对前端的影响、模型输出不可信与展示净化)

A 模型输出天然安全
B 模型输出不可信,展示前净化(DOMPurify),并限制模型权限防提示注入 ✓ 正确答案
C 提示注入与前端无关
D 无需净化模型输出
#

39. TUF(The Update Framework)/Sigstore 在 NPM 生态的工程取舍

A Sigstore 是更新框架
B 两者相同
C TUF 用于包签名
D Sigstore 用于 npm 签名/provenance,TUF 是更新框架,取舍是签名可追溯 vs 框架复杂度 ✓ 正确答案
#

40. Typosquatting(expresss/crossenv)

A 攻击者发布近似名恶意包(expresss/crossenv),需核对包名、锁定 lockfile 防御 ✓ 正确答案
B 近似名包无害
C Typosquatting 只影响后端
D 无需核对安装
#

41. CI 中如何用 npm sbom 生成 CycloneDX/SPDX 物料清单,将条目绑定 lockfile 与构建产物,再校验 npm provenance/Sigstore 签名,使未签名、来源不符或 SBOM 漂移的依赖无法发布

A 无需校验签名
B SBOM 与构建无关
C npm sbom 生成 CycloneDX/SPDX,绑定 lockfile/产物,校验 provenance/Sigstore,门禁阻断异常 ✓ 正确答案
D SBOM 漂移无害