☰
Figma Console MCP安全架构全景:OAuth加密存储、6位配对码CSWSH防护与零遥测数据隐私设计
2026/10/4 6:07:30 网站建设 项目流程

Figma Console MCP安全架构全景:OAuth加密存储、6位配对码CSWSH防护与零遥测数据隐私设计

【免费下载链接】figma-console-mcpYour design system as an API. Connect AI to Figma for extraction, creation, and debugging.项目地址: https://gitcode.com/gh_mirrors/fi/figma-console-mcp

Figma Console MCP 是一款"把设计系统变成 API"的开源工具,让 AI 连接 Figma 完成设计稿提取、创建与调试。它的 Figma Console MCP 安全架构围绕三条防线展开:OAuth 令牌加密存储、6 位配对码与 CSWSH 防护,以及零遥测的数据隐私设计。本文带你逐层拆解这套机制,帮你放心地把 AI 接入自己的 Figma 工作流。

🛡️ 双部署模式:本地零外网,还是云端全 HTTPS?

Figma Console MCP 提供两种部署模式,安全边界完全不同:

维度本地模式(推荐敏感环境)远程/云模式
传输方式stdio,完全跑在本机Cloudflare Workers + SSE
外部网络调用零,Figma API 由本机直连全链路 HTTPS 加密
凭证位置你的本地 MCP 客户端配置服务端 KV 加密存储

本地模式下所有通信都不离机,日志也只留在本机,是安全敏感场景的首选;云模式则专为浏览器端的 MCP 客户端设计,OAuth 令牌在服务端托管。完整说明见 SECURITY.md 与 docs/security.md。

🔐 OAuth 加密存储:令牌如何落地与流转

云模式下,Figma Console MCP 使用Figma 官方 OAuth 2.0 流程,不自造任何凭证体系。令牌的生命周期管理如下:

  • 加密落地:令牌存入 Cloudflare Workers KV,静态加密(encrypted at rest),并按会话隔离,用户之间互不可见
  • 自动刷新:令牌到期前用 refresh token 自动续期,过期 90 天后自动清理
  • CSRF 防护:OAuth 的 state 令牌单独存 KV,仅 10 分钟 TTL,防止回调被伪造
  • 会话绑定:配对后的中继 ID 以relay:{bearerToken}为键存入 KV(24 小时 TTL),只有持有正确 Bearer 令牌的 AI 客户端才能路由到自己的会话

令牌写入 KV 的核心逻辑在 src/index.ts,KV 命名空间定义在 src/browser-manager.ts。管理员侧的 OAuth 应用创建与密钥配置流程,可参考 docs/oauth-setup.md。

对于本地模式的 PAT(个人访问令牌),它只存放在你的 MCP 客户端环境配置里,除api.figma.com外不会发往任何第三方。下图中的令牌字段已做打码处理,正是这种"凭证留本机"的做法:

🔑 6位配对码:一次性、5分钟过期的连接握手

云模式下,AI 客户端要操作你桌面上的 Figma 文件,需要把 Desktop Bridge 插件"配对"到云端会话。这个握手的每一步都按最小信任设计:

  1. 难猜:figma_pair_plugin工具调用crypto.getRandomValues生成 6 位大写字母数字码,字符集特意剔除0/O/1/I这类易混淆字符,见 src/core/cloud-websocket-relay.ts
  2. 短命:配对码写入 KV 时携带5 分钟 TTL(src/index.ts),过期即失效
  3. 一次性:插件用码换取会话后,该码立即从 KV 中删除,无法重放(src/index.ts)
  4. 会话隔离:每次配对创建一个独立的 Durable Object 实例,一个中继只接一个插件,天然避免跨会话串流

所以即便配对码被人看到,攻击窗口也只有 5 分钟且用一次即作废——这正是"6 位配对码"看似简短却足够安全的原因。

🌐 CSWSH 防护:Origin 白名单 + 本地回环绑定

CSWSH(跨站 WebSocket 劫持)是本地 WebSocket 桥的常见威胁:恶意网页诱导已登录用户的浏览器去连localhost端口。Figma Console MCP 做了双重防御:

  • Origin 精确白名单:WebSocket 升级请求在verifyClient中校验来源,只放行 Figma 官方域名和沙箱环境,且使用精确匹配而非前缀匹配——startsWith会让https://www.figma.com.attacker.example这类域名混进来。未授权来源直接返回 403 并记录警告,实现见 src/core/websocket-server.ts
  • 仅绑定 localhost:桥接服务器只监听本机回环地址(端口段9223–9232,支持多实例),外部网络根本摸不到

再叠加全局网络白名单——运行时只允许访问api.figma.com、localhost:9223–9232和云模式的*.workers.dev,无第三方分析、CDN 或额外 API 调用。

📊 零遥测数据隐私:不存储、不追踪、沙箱执行

Figma Console MCP 的数据处理承诺非常直接:

方面做法
设计数据存储无,不持久化、不落盘缓存
遥测/分析无,没有任何使用数据收集
日志仅本地,不出机器
凭证存于本地配置或服务端 KV,绝不通往第三方

figma_execute类代码执行工具也在Figma 插件沙箱内运行:无文件系统访问、无沙箱外网络、只能改动当前打开的 Figma 文件,且所有改动受 Figma 版本历史保护。由于零数据持久化与零遥测,GDPR 等合规面上几乎没有暴露点。详细范围说明见 docs/security.md。

✅ 安全自检清单

评估 Figma Console MCP 安全架构时,可以直接对照这份清单:

  • 开源可审计,MIT 许可证,全部代码可自查
  • OAuth 令牌静态加密存储、按会话隔离、自动清理
  • 6 位配对码:强随机生成、5 分钟过期、一次性使用
  • CSWSH 防护:Origin 精确匹配白名单 + 仅绑定 localhost
  • 代码执行沙箱化于 Figma 插件环境
  • 零数据持久化、零遥测、零第三方运行时依赖
  • 全链路 HTTPS 加密

一句话总结:Figma Console MCP 的安全设计不是"加一道锁",而是每层都少给一分信任——本地模式不出网、配对码一次性、令牌静态加密、遥测归零。对新手来说,选择本地模式 + PAT 就已能获得这套完整防护。

【免费下载链接】figma-console-mcpYour design system as an API. Connect AI to Figma for extraction, creation, and debugging.项目地址: https://gitcode.com/gh_mirrors/fi/figma-console-mcp

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询