新的 CS 提案: 微前端安全攻略
作者: dasaradhi-varma创建于 2026年9月29日更新于 2026年9月29日
标签ACK_WAITINGNEW_CSHELP_WANTED
这份攻略主要介绍了什么安全问题?
- 中间件/主机壳授权被视为对远程应用程序的充分保护 — CWE-863、CWE-306。主应用程序或边缘网关处理了初始身份验证,但各个远程微前端假定它们受到保护,并未对自己的本地 API 请求或状态变化进行独立验证。
- 不安全的跨应用程序通信(
postMessage和事件总线) — CWE-345、CWE-20。微前端经常使用window.postMessage或共享全局事件发射器来在不同团队之间传递状态或触发操作,但没有严格验证event.origin或清理负载,从而允许恶意脚本或不良子应用程序注入任意命令或窃取数据。 - 全局作用域污染和 DOM 覆盖 — CWE-829、CWE-79。由于多个微前端共享同一个全局
window和document上下文,一个易受攻击或已被入侵的远程模块可以覆盖共享原型、修改全局变量或操纵属于主应用程序壳或其他团队的 DOM 元素。 - 通过共享存储泄露令牌和会话 — CWE-922、CWE-200。将敏感用户令牌或会话数据存储在全局可访问的存储中(如
localStorage、sessionStorage或共享 Cookie,没有严格的路径/域范围),允许页面上加载的任何第三方或不可信的微前端读取或窃取这些数据。 - 供应链和动态远程代码加载风险 — CWE-829、CWE-506。在运行时动态加载远程入口脚本或 JavaScript 束(例如,通过模块联合 CDN)而没有严格的子资源完整性(SRI)或严格的内容安全策略(CSP),则该架构会面临恶意代码注入的风险,如果远程 CDN 或存储库被入侵。
内容来源: OWASP/CheatSheetSeries