Skip to main content

Command Palette

Search for a command to run...

Agent

安全概览

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

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

云端代理如何工作

云端代理是一种在 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 会克隆代码仓库来运行智能体,该克隆副本可能会保存在 VM 快照中以加快后续启动,但不会被无限期保留。快照会在 90 天无活动后删除。

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

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

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

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

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

相关页面