《Cursor文档》-安全概览

本页介绍云端代理的构建方式及其安全保障。它会逐步说明智能体运行时会发生什么、访问权限如何授予、代码和数据存放在哪里、它们如何被隔离和加密,以及你在每个阶段拥有哪些控制选项。它解答了团队根据自身安全要求评估云端代理时常见的问题。

有关配置参考 (包括机密信息类型、网络访问模式和出站 IP 范围) ,请参阅 Secrets & Network。如需在不使用长期密钥的情况下将 VM 联合到 AWS、GCP、Azure 或自定义验证器,请参阅 OIDC 身份令牌。本页解释这些控制项背后的机制;这些页面则说明如何设置它们。

这是 Cursor 更广泛安全资料的配套内容。有关认证、次级处理方和架构,请参阅 信任中心;有关你在整个 Cursor 中可自行管理的各项控制,请参阅 安全与隐私加固 参考。Cursor 符合 SOC 2 Type 2 标准,并承诺至少每年由信誉良好的第三方执行一次渗透测试。

云端代理如何工作

云端代理是一种在 Cursor 云中的虚拟机里运行的编码智能体,而不是运行在开发者的笔记本电脑上。该 VM 提供完整的开发环境:已克隆的代码仓库、已安装的依赖、已配置的机密信息,以及网络访问权限。

单次运行会经历以下阶段:

  1. 开始。 用户或集成可以从 Web 应用、IDE、CLI、API、Slack,或已关联的 issue 或 PR 发起任务。
  2. 预配。 Cursor 会为该智能体预配一台隔离的 VM,并将已授权的代码仓库克隆到其中。
  3. 运行。 智能体在 VM 中运行代码和工具,并将进度、输出和产物实时回传给用户。
  4. 持久化。 对话状态、元数据和产物会保存到 Cursor 管理的存储中,以便你查看并恢复该次运行。
  5. 交接。 智能体会推送其分支,并创建一个草稿 PR,供人工在合并前进行评审。
  6. 回收。 当运行进入空闲状态后,VM 运行时资源会先休眠,再根据生命周期定时器被删除。

访问与授权

云端代理通过 Cursor GitHub 或 GitLab App 访问您的代码,而不是通过任何个人的凭据。

  • 由管理员安装应用。 启用云端代理需要同时具备 Cursor 和您的 Git 提供商中的管理员权限。管理员会在您的 Git 组织中安装 Cursor app,并且只授予您所选代码仓库的访问权限。
  • 用户连接自己的账户。 应用安装完成后,每位想要启动代理的用户都需要连接自己的 Git 账户。这是在组织级安装之上的第二层、按用户划分的控制。
  • 访问权限只会继承,绝不会扩大。 云端代理只能访问触发它的用户原本就有权访问的代码仓库。启动代理绝不会授予用户原本无权访问的代码仓库权限。

团队管理员还可以进一步通过 受保护的 Git 范围,将某个 Git 组织锁定到您的 Cursor 组织,这样就只有您的团队才能在其代码仓库上启动云端代理。您还可以通过 代码仓库屏蔽列表 将敏感代码仓库完全排除在外。

Cursor 员工无权访问云端代理 VMs 中的代码。Cursor 的安全团队会监控任何访问尝试。

隔离与基础设施

每个智能体都运行在各自独立的 VM 边界内,而不是共享的进程沙箱中。一个智能体无法看到另一个智能体的代码、环境或状态。

  • 每个智能体独享 VM。 每个智能体都有专用环境,与其他智能体和其他用户隔离。
  • MicroVM 隔离。 运行时工作区运行在基于 Firecracker 的 microVM 基础设施上。
  • 账户级隔离。 云端代理 VM 运行在与 Cursor 其余生产基础设施分离的 AWS 账户中,因此代码执行环境与 Cursor 的其他服务相隔离。

加密

Cursor 会对云端代理数据在传输过程中和静态存储时进行加密。

  • 传输中。 服务间流量和客户端到服务端的流量均使用 TLS 1.2 或更高版本。
  • 静态存储时。 采用 AES-256,并为每个智能体分配独立密钥,因此每个智能体的会话数据都会由其各自的密钥加密。
  • 客户管理的密钥。 企业团队可以将客户管理的 KMS 密钥 (CMEK/BYOK,自带密钥) 用于云端代理的服务器端加密,从而自行控制密钥轮换和访问权限。请参阅数据加密

存储哪些数据、存在哪里,以及保留多久

云端代理会接触四类数据。每一类都存放在不同的位置,并遵循各自的保留规则。

数据 包含内容 存储位置 保留期
运行时工作区 活跃运行所使用的已检出代码仓库、构建产物以及工具执行上下文 隔离的云端代理 VM 运行进入空闲状态后自动回收;当你发送后续提示词时,计时器会刷新
VM 快照 VM 磁盘在某一时间点的副本 (包括克隆下来的代码) ,用于在无需重新克隆的情况下启动和恢复 活动 VM 外部的快照和缓存层,已加密 连续 90 天无活动时保留;每次启动或恢复都会延长,之后自动删除
对话状态 构成会话记录的提示词、模型响应、工具调用、diff 上下文和演示产物 Cursor 后端,使用每个智能体的专属密钥加密 默认无限期保留,以便你回看并恢复运行;也可按需删除
机密信息和 token 你配置的云端代理机密信息、OAuth token 和 API 凭据 Cursor 后端中已加密的凭据存储 保留到你将其删除或移除为止

Delete Agent API 可按需删除某个智能体的会话记录和产物。快照不能按需删除;它们遵循上方所述的 90 天无活动窗口。企业版团队还可以通过保留策略限制对话保留时长。有关保留和删除的完整说明,请参阅数据保留

隐私和模型数据

云端代理在隐私模式下运行。启用隐私模式后,Cursor 绝不会使用云端代理访问的代码,或其运行过程中生成的提示词和响应来训练模型。大多数模型也受 Cursor 的零数据保留协议约束,因此提供方既不会存储请求和响应,也不会用它们进行训练。有关各模型的详细情况及例外说明,请参阅隐私与数据治理

云端代理不支持旧版隐私模式,因为智能体在运行时需要在云端存储代码和环境数据。请在整个组织范围内强制启用标准隐私模式,以确保每次运行都继承其零数据保留保障。

自主性与提示词注入

云端智能体会自动运行终端命令,因此它们可以持续迭代测试,而不必每一步都停下来等待批准。相比前台智能体,它的自主性更强,这也改变了风险模型:攻击者如果把指令植入智能体会读取的内容中 (即提示词注入攻击) ,就可能诱使智能体将代码外传到外部主机。请参阅 OpenAI 关于云端智能体提示词注入风险的说明

用于防范这类风险的防护层包括:

  • 网络出口控制。 将出站流量限制为默认集合加上你的允许列表,或限制为仅允许列表,这样即使智能体被攻陷,也无处发送数据。企业版管理员可以在整个组织范围内锁定该策略。请参阅 网络访问
  • 脱敏的运行时机密信息。 将机密信息标记为 运行时机密信息,这样它们的值会从会话记录、工具输出和提交中移除,且绝不会传给模型。
  • 文件排除。 将敏感路径添加到 .cursorignore,避免其进入智能体的上下文。
  • 人工接手。 智能体会创建草稿 PR。在有人评审更改之前,任何内容都不会被合并。
  • 已签名提交。 每一次智能体提交都会使用 HSM 支持的 Ed25519 密钥进行签名,并显示“Verified”标记,因此由智能体创建的更改可追溯来源,并可满足已签名提交的分支保护要求。请参阅 已签名提交

如需更深层的防护,可将这些措施与 钩子 搭配使用,在智能体生命周期的各个节点强制执行策略并记录活动,并让 Bugbot安全代理 在智能体输出发布前进行评审。

风险考量

风险 缓解措施
云端的完整代码库 按智能体隔离的 VM、AES-256 加密,以及在生命周期计时器到期后自动删除 VM 和快照。
第三方或内部人员访问 Cursor 员工无法访问智能体 VM 中的代码,所有访问尝试都会受到监控。VM 运行在与其他 Cursor 服务隔离的 AWS 账户中。
智能体自主性 范围仅限于代码仓库和触发用户的访问权限。对外访问仅限于已配置的工具和终端命令,并受网络出口控制约束,且需通过草稿 PR 评审。
网络访问和数据外泄 默认启用互联网访问,但可限制为仅访问允许列表中的域名,甚至可进一步收紧为仅允许列表模式,并可在整个组织范围内锁定。
机密信息暴露 机密信息采用加密存储;运行时机密信息会被脱敏,不会暴露给模型;仅构建机密信息的作用域仅限于 Docker 构建;以及用于短期云联合的 OIDC 身份令牌

可审计性

云端代理的活动会被记录,并可追溯。

  • 会话日志记录。 所有运行都会被记录,团队管理员可以在 Cloud Agents 仪表盘中查看相关活动。
  • 归属明确的更改。 智能体创建的每个提交和 PR 都会标明来源,并显示在你的 Git 历史记录中;所有提交也都会经过签名和验证。
  • 审计日志。 身份验证和管理员事件会进入你的审计日志,企业版团队可将其流式传输到 SIEM、webhook 或 S3。
  • 运行诊断。 内置的 Cursor Cloud MCP 可提供某次运行的会话记录、运行事件、环境详情和设置日志。

数据删除

机制 删除对象 方式
归档 在仪表盘中隐藏智能体 仪表盘中将其归档
Delete Agent API 智能体的会话记录和产物 Delete Agent API
快照过期 VM 快照和缓存代码 90 天无活动后自动执行
保留策略 (企业版) 超出所选保留时长的对话 保留策略
删除账户 账户及其关联数据 删除账户

FAQ

云端代理是否比本地智能体更不安全?

它们的风险特征不同,但并不意味着更差。在具备出站访问限制和最小权限的隔离沙箱中,让智能体无人值守运行,安全性可能比开发者的笔记本电脑更高;后者通常拥有完整的互联网访问权限和较高权限。

Cursor 会永久存储整个代码仓库吗?

不会。Cursor 会克隆代码仓库来运行智能体,该克隆副本可能会保存在 VM 快照中以加快后续启动,但不会被无限期保留。快照会在 90 天无活动后删除。

云端代理能访问开发者无权访问的代码仓库吗?

不能。访问权限受触发该操作的开发者的 Git 权限限制。云端代理无法访问开发者原本无权访问的代码仓库。

我们能限制云端代理可访问哪些代码仓库吗?

可以。云端代理只能访问你通过 Git 提供商 连接授权的代码仓库。你可以控制哪些代码仓库可用,管理员还可以通过 受保护的 Git 范围 锁定范围,或通过 屏蔽列表 排除代码仓库。

云端代理能读取机密信息和凭据吗?

可通过仪表盘中的 Secrets tab 配置机密信息。它们在静态存储时使用 KMS 加密,在传输过程中也会加密,并在运行时作为环境变量注入。将敏感值标记为 运行时机密信息,可避免它们出现在会话记录、工具输出和提交记录中。最佳实践是不要将机密信息放入代码仓库;如果敏感文件必须存放在那里,请将其添加到 .cursorignore。对于云端角色,请从 VM 获取 OIDC 身份令牌,而非存储长期访问密钥。

我们可以审计云端代理活动吗?

可以。会话会被记录,管理员可以在仪表盘中查看活动,并且智能体创建的每个提交和 PR 都会在你的 Git 历史中标明来源。企业版团队还可以将审计日志流式传输到 SIEM。

数据如何删除?

你可以在仪表盘中归档智能体,或使用 Delete Agent API 删除其会话记录和产物。完整账户删除和企业版保留策略 会按更广泛的时间表移除数据。

相关页面

本摘要仅用于帮助理解,不取代 MSADPA 或其他具有约束力的合同条款。

羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

小夜