For the complete documentation index, see llms.txt. Markdown versions of documentation pages are available by appending .md to the page URL.
主导航

安全与隐私

插件的安全与隐私注意事项。

原则

插件工具可以访问用户数据、调用第三方 API 并执行写入操作。请将每个 MCP 服务器和 UI 组件都视为生产软件:

  • 最小权限: 仅请求所需的授权范围、存储访问权限和网络权限。
  • 用户明确同意: 确保用户在关联账户 或授予写入权限时清楚自己正在进行的操作。对于破坏性操作, 请使用主机的确认提示。
  • 纵深防御: 假定您的服务器会收到提示注入和恶意输入。检查每项输入并保留审计日志。

数据处理

  • 结构化内容: 仅包含当前提示所需的数据。避免在组件属性中嵌入密钥或 Token。
  • 存储: 确定用户数据的保留时长,并公布保留政策。尊重用户的删除请求。
  • 日志记录: 写入日志前,先对个人身份信息(PII)进行脱敏处理。存储关联 ID 以便调试,但除非必要,否则不要存储原始提示文本。

提示注入与写入操作

开发者模式提供完整的 MCP 访问权限,包括使用写入工具的权限。请通过以下方式降低风险:

  • 定期审查工具描述,避免误用(例如注明“请勿用于删除记录”)。
  • 在服务器端验证所有输入,即使输入由模型提供也不例外。
  • 要求对不可逆操作进行人工确认。

与您的质量保证团队分享最有效的注入测试提示,帮助他们尽早发现薄弱环节。

网络访问

小组件在隔离的 iframe 中运行,并受严格的内容安全策略约束。 它们无法访问需要特权的浏览器 API,例如 window.alertwindow.promptwindow.confirmnavigator.clipboard。CSP 控制 标准 fetch 请求。默认情况下无法使用嵌套框架;请通过 资源 CSP 元数据(例如 _meta.ui.csp.frameDomains)启用特定源。插件可以嵌入其 MCP 服务器 自身可注册域名下的页面,包括现有的编辑器和管理界面。有关 域名所有权、必须提供的理由和审查要求, 请参阅 iframe 策略

小组件的 CSP 限制了 iframe 可以加载哪些目标页面。嵌入的页面 使用自身的 CSP;小组件的 connectDomainsresourceDomains 允许列表不会限制在该页面内发起的网络请求。请为 iframe 指定 具体的源,并将嵌入式体验纳入您的安全审查。

服务器端代码仅受托管环境所施加的网络限制。对于出站调用,请遵循常规最佳实践(TLS 验证、重试、超时)。

身份验证与授权

  • 集成外部账户时,请使用 OAuth 2.1 授权码流程。 当您的授权服务器支持 CIMD, 且插件构建者选择使用它时,优先使用客户端 ID 元数据文档(CIMD)。公共客户端进行 Token 交换时使用 none; 如果您的授权服务器要求客户端身份验证, 则使用 private_key_jwt。当插件构建者选择 DCR 或 CIMD 不可用时,应支持 DCR。
  • 每次工具调用都要验证授权范围并强制执行其限制。对于已过期或格式错误的 Token,返回 401 响应。
  • 使用内置身份机制时,避免存储长期有效的密钥;请改用所提供的身份验证上下文。

运维准备

  • 上线前进行安全审查,尤其是在处理受监管数据时。
  • 监控异常流量模式,并为反复出现的错误或身份验证失败尝试设置告警。
  • 及时为第三方依赖项、库和构建工具安装补丁,以降低供应链风险。

安全与隐私是用户信任的基础。请将它们融入规划、实现和部署工作流程,而不是等到最后才考虑。