AIREITER

Cursor Self-Hosted Machines 隐私评测(2026)

最后更新: 2026-09-03 00:41:29

Worker 即使部署在防火墙之后,仍可能把源代码片段、终端输出、代码差异和截图发送给 Cursor。Cursor Self-Hosted Machines 自托管的是任务执行环境,并不是自托管 Agent,也不是与外部网络隔离的 Cursor 部署。

本文重点分析哪些数据会跨越边界,以及各项控制措施究竟能改变什么。内容参考了 Cursor 于 September 2, 2026 announcement、Self-Hosted Machines documentation 和 data-use policy。

Cursor's Self-Hosted Machines documentation showing the execution boundary

先用一张表看懂数据边界

Cursor 会把一次 Cloud Agent 任务拆分到云端和由你管理的 Worker 上执行。“Self-Hosted”描述的是执行位置,并不代表所有系统和数据路径都在你的环境内。

数据或系统运行或存放位置是否可能触达 Cursor相关控制或限制
Agent 循环、推理与规划Cursor 云端本来就在 Cursor不会因 Self-Hosted Machines 转移到你的环境。
文件修改与终端命令你的 Worker执行结果可能返回由 Worker 执行这些工具操作。
完整代码检出目录与构建缓存你的 Worker不会自动传输完整工作副本保留在本地。
机器本地凭据你的 Worker不会自动传输不要让机密出现在命令、输出或构建产物中。
文件内容与代码差异先在你的 Worker,再进入 Agent 上下文或结果会,在需要时传输Privacy Mode 针对的是训练使用,而不是数据传输。
终端输出与本地 MCP 结果先在你的 Worker,再作为工具结果返回会,在返回时传输结果中可能包含代码或敏感数据。
截图与桌面串流先在你的 Worker,再在生成或共享时传给 Cursor会Computer-use 会话可以串流 Agent 桌面。
视频、截图与日志引用Cursor 管理的产物存储会,默认如此阻断产物存储主机即可禁用上传。
使用 API Key 发起的模型请求Cursor 的处理链路会BYOK 不会绕过 Cursor 后端。

关键区别其实很简单:完整代码仓库可以留在你的机器上,但仓库中的部分上下文仍可能为了推理而跨网络传输。这是对执行位置的部分控制,不代表完全禁止出站数据。

Cursor 到底把哪些东西放到了你的基础设施上

Self-Hosted Machines 把工具执行转移到客户控制的机器上。Worker 可以修改文件、运行命令、访问内部服务、操作浏览器,还能连接本地 MCP 服务器。至于 Agent 循环、推理、规划和会话编排,仍然由 Cursor 云端负责。

Worker 通过 Cursor CLI 命令 agent worker start 启动,并与 Cursor 建立一条长期保持的出站 HTTPS 连接。Cursor 表示,这条连接由 Worker 主动向外发起,因此不需要开放入站端口、不需要公网 IP,也不需要 VPN 隧道。

官方文档描述的会话流程如下:

  1. 用户在 Cursor 界面中启动 Cloud Agent 会话。
  2. Cursor 云端的 Agent 循环规划下一步操作。
  3. Cursor 通过 Worker 连接发送工具调用。
  4. Worker 执行命令、文件修改、浏览器操作或 MCP 操作。
  5. Worker 返回结果,供下一轮推理使用。

Worker 仍需要访问 api2.cursor.sh 和 api2direct.cursor.sh;CLI 更新以及部分 computer-use 配置还可能需要访问 downloads.cursor.com。仅允许出站连接可以避免外部主动访问你的网络,但这并不意味着 Worker 变成了离线模型运行环境。

Cursor 将这种架构定位于几类场景:私有代码仓库或托管 Worker 无法访问的服务,需要 GPU 或 Mac 等专用硬件,以及自定义操作系统或构建镜像。如果你的唯一需求是访问私有网络,Cursor 的 runtime decision guide 建议优先考虑带访问控制列表的托管 Cloud Agents、类似 Tailscale 的网络方案、AWS PrivateLink 或 Cloudflare Tunnel。

哪些数据会离开 Worker,Privacy Mode 又改变了什么

Cursor 文档明确列出了 Worker 可能发送的数据,包括文件内容、终端输出、代码差异、截图、本地 MCP 结果以及路由元数据。评估隐私时要分开看三个问题:传输了什么、是否会用于训练,以及会保留多久。

Cursor Data Use page showing Privacy Mode and provider retention terms

Privacy Mode 管的是训练,不是出站传输

Cursor 的 Data Use & Privacy Overview 于 August 28, 2026 更新。页面称,Privacy Mode 会阻止 Cursor 将 Customer Data 用于训练,并表示 Cursor 已与服务提供商签订零数据保留协议。但同一页面也给出了限定条件:风险分类器可能为了调查问题而保留提示词或对话,系统也可能出于降低延迟和提升网络效率的原因临时缓存文件。

Cursor 表示,缓存文件会使用由客户端生成的密钥加密,而密钥会在请求处理期间保存在 Cursor 服务器上。这是 Cursor 对数据保留和保护方式的说明,并不能证明请求从未到达 Cursor 服务器。

API Key 的细节同样值得注意。Cursor 明确表示,使用自己的服务商 API Key不会绕过其后端,因为请求仍会经过 Cursor,由 Cursor 完成最终提示词构建。BYOK 可以改变模型调用由谁授权,但不能被理解为一条从客户端直达模型服务商的隐私通道。

一位真实用户在评测这一功能时,也指出了同样的架构区别:

“一个重要边界:Cursor 的自托管机器转移的是执行环境,而不是整个 Agent。Cursor 表示,推理和规划仍留在其云端;工具输出会传回去,而且可能包含代码。进行安全评审时,应把它视为自托管执行,而不是自托管 Agent。” — @ham_zax,X

关闭产物上传,也不等于建立数据隔离带

Cursor 提供了一种范围比较窄的方式来阻止产物上传:阻断发往 cloud-agent-artifacts.s3.us-east-1.amazonaws.com 的出站 HTTPS 流量。工具调用和工具结果仍然可以正常工作,但截图、视频和日志引用不会出现在 Pull Request 或 Cursor 控制台中。

如果组织根本不需要视觉产物,这个设置很有用。但它不是完整的隐私方案,因为文件内容、终端输出、代码差异、推理过程中使用的截图以及 MCP 结果,仍可能通过 Agent 会话连接返回。

MCP 的传输方式也会带来一个容易被忽略的区别。Cursor 的 Team Pools documentation 表示,基于命令或 stdio 的 MCP 服务器运行在 Worker 上,可以访问私有网络;HTTP/SSE MCP 服务器则由 Cursor 后端负责 OAuth、会话缓存和认证。因此,评估私有 MCP 端点时,不能只看主机在哪里,还必须审查其传输方式。

按实际约束选择运行时,别被名称带偏

Cursor 提供三种运行时选择。只有当执行边界、硬件或运行环境是明确写入要求,而不是个人偏好时,自托管才是更合适的方案。

运行时工具调用在哪里执行适合场景主要责任
Cursor-managed Cloud Agents由 Cursor 管理的隔离 VM大多数能够使用托管网络和标准 Ubuntu 环境的团队在你完成环境配置后,Cursor 负责 VM 生命周期、容量、隔离和任务结束后的销毁。
My Machines个人用户的笔记本、开发机、Mac 或 VM个人工作流、带本地状态的代码仓库,或快速概念验证你负责在线状态、凭据、依赖、清理工作以及代码检出目录。
Team Pools由组织管理的 Worker企业级 Worker 集群、GPU、Mac、Kubernetes、基于标签的路由和集中式容量管理你的团队负责主机、镜像、密钥、扩缩容、监控、重置和故障处理。

如果只是需要访问私有服务,优先考虑托管 Cloud Agents

如果组织可以通过代码仓库权限、网络访问列表、类似 Tailscale 的客户端或受支持的私有连接来定义边界,那么托管 Cloud Agents 可能已经够用。Cursor 的 runtime guide 建议大多数团队使用托管基础设施,并将其描述为运维成本更低的路径。

这样可以省去维护 Worker 集群的工作,同时保留 Cursor 托管的 VM 生命周期管理和弹性并发能力。当然,这并不意味着托管 Agent 不会处理数据;区别在于,执行环境由 Cursor 而不是你的团队负责运维。

单人使用、环境高度可控时,选择 My Machines

My Machines 会把一台个人机器连接到单个 Cursor 账户。对于已经配置好 Mac、开发机或远程 VM 的开发者来说,这种方式很实用,尤其是机器上已有本地依赖和网络访问能力,不必再花时间迁移到其他环境。

代价在于运维责任全部落到用户身上。活跃会话期间机器必须保持在线,用户还要负责清理工作、代码检出目录的新鲜度、磁盘状态、凭据和依赖修复。Cursor’s self-hosted documentation 表示,同一台机器可以运行多个 Agent,但这并不是集中式团队 Worker 集群模式。

只有当集群控制值得付出额外成本时,才选择 Team Pools

Team Pools 面向 Enterprise 团队,使用服务账户认证、共享 Worker 容量、标签和基于控制器的扩缩容。gpu 池可以把任务路由到 GPU 机器,ios 池则可以将任务路由到 Mac。Cursor 文档说明,每位用户最多可使用 200 个 Worker、每个团队最多可使用 1,000 个 Worker,更大规模的部署需要另行讨论扩容方案。

Pool 可以缩容到零,也可以使用持久化 Worker、容器化 Worker、Kubernetes Worker 或合作伙伴托管的 Worker。Cursor 表示,恢复已释放的工作区可能需要几分钟。这种灵活性适合突发型任务,但镜像管理、Worker 重置、容量规划、密钥轮换和监控等工作也会转移给客户。

成本不只是机器,还包括模型调用

Self-Hosted Machines documentation 和 Cursor Models & Pricing page 说明了模型、套餐和基础设施方面的责任,但没有列出单独的 Self-Hosted Machines Worker 费用。现有成本模式是:你仍需通过 Cursor 为所选模型付费,同时还要承担自己运行的机器、容器、集群、存储、网络、监控和运维成本。

因此,在没有特殊网络或硬件需求时,把自托管当作节省成本的方案并不成立。动态 Pool 和休眠机制或许能减少空闲算力,但盈亏平衡点取决于工作负载形态、启动时间以及需要重建多少状态;Cursor 没有公布一个适用于所有场景的统一数字。

启用前必须完成的安全评审清单

请让安全、平台或合规负责人逐项确认,不要因为产品名称里有“self-hosted”就直接视为通过评审。

  1. 先把边界要求写清楚。明确政策要求留在内网的是完整代码检出目录、工具执行、凭据、推理请求、产物,还是以上全部内容。Self-Hosted Machines 只会把执行 Worker 和完整本地状态置于你的控制之下。
  2. 对返回的上下文做数据分类。文件内容、代码差异、终端输出、截图和 MCP 结果都可能发送给 Cursor。需要测试这些输出是否可能包含源代码、客户数据、令牌、内部 URL 或生产环境响应。
  3. 有意识地启用 Privacy Mode。它改变的是 Cursor 声明的训练使用方式和服务商数据保留安排,并不能阻止请求处理、临时缓存或风险检测相关的数据处理。
  4. 正确理解 BYOK。根据 Cursor’s data-use page,API Key 请求仍会经过 Cursor 后端。
  5. 单独决定产物是否允许出站。根据是否接受 Pull Request 和控制台中的截图、视频及日志引用,决定是否允许访问 cloud-agent-artifacts.s3.us-east-1.amazonaws.com。如果防火墙支持,优先使用精确主机规则。
  6. 采用仅出站的访问列表。只允许访问文档中列出的 Cursor 端点,以及你明确启用的更新或 computer-use 主机。Worker 不应需要入站端口或公网 IP。
  7. 审查 MCP 传输方式。当 MCP 服务器必须访问私有服务时,使用 Worker 侧的 stdio MCP,同时评估返回结果。不要因为 HTTP/SSE MCP 服务本身是私有的,就默认它始终留在你的网络内。
  8. 隔离并重置 Worker。对于 Team Pools,要明确 Agent 之间如何擦除或重建机器、如何注入凭据,以及如何监控日志。Cursor 的guides and templates是参考架构,并不是完全托管的生产级 Worker 集群。
  9. 测试故障路径。确认 Cursor 端点、产物存储、Worker、私有镜像仓库或 MCP 服务器不可用时系统会如何表现。阻断产物主机,不等于阻断 Agent 会话。
  10. 隔离网络工作负载不要用它。如果要求模型上下文不得出站,或推理过程不能依赖第三方云服务,这种架构就不符合要求,因为 Agent 循环仍然运行在 Cursor 云端。
你的实际要求决策
命令、本地状态或定制硬件必须在你的环境中运行使用 Self-Hosted Machines,并配置上下文和产物的出站控制。
Agent 需要访问私有服务,但执行可以在托管 VM 中完成先从托管 Cloud Agents 和受支持的私有连接开始。
任何模型上下文都不能离开网络,或推理必须完全离线放弃这套架构;它仍然依赖 Cursor 云端。

Cursor Self-Hosted Machines 隐私常见问题

Cursor Self-Hosted Machines 是完全自托管的吗?

不是。Cursor 仍会把 Agent 循环、推理、规划和编排放在云端。你的机器负责承载工具执行和本地工作状态。

源代码会离开自托管机器吗?

部分文件内容、代码差异、终端输出、截图和本地 MCP 结果,可能作为 Agent 的输入或工具结果离开 Worker。Cursor 表示,完整代码检出目录和构建缓存会留在 Worker 上,因此这是一条部分边界,而不是非黑即白的隔离线。

Privacy Mode 能阻止数据跨网络传输吗?

不能。Cursor 将 Privacy Mode 描述为:根据其公布的数据保留安排,阻止 Cursor 和模型服务商将数据用于训练。它不会阻止 Worker 发送推理所需的上下文。

BYOK 能绕过 Cursor 吗?

不能。Cursor 的 data-use 页面表示,使用 API Key 的请求仍会经过其后端,由后端完成最终提示词构建。不要把 BYOK 理解为从 Worker 直接连接模型服务商。

可以阻止截图和视频上传吗?

可以阻断发往 cloud-agent-artifacts.s3.us-east-1.amazonaws.com 的出站访问。工具执行仍会继续,但产物不会出现在 Pull Request 或 Cursor 控制台中。其他 Agent 会话数据仍可能返回给 Cursor。

Worker 需要配置入站防火墙规则或 VPN 吗?

Cursor 文档采用的是仅出站 HTTPS 模式。官方表示不需要入站端口、公网 IP 或 VPN 隧道,但 Worker 仍需能够访问文档中列出的 Cursor 端点,以及任务本身需要使用的其他服务。

个人账户或较低级别套餐可以使用 Team Pools 吗?

Cursor 文档将 Team Pools 定位为 Enterprise 功能,并要求使用服务账户 API Key。My Machines 才是面向个人的 Worker 选项;不要默认个人 API Key 可以启动 Team Pool Worker。

Cursor Self-Hosted Machines 可以完全离线运行吗?

不能。Agent 循环和推理仍然运行在 Cursor 云端,Worker 也需要出站连接。如果要求离线或与外部网络隔离,就需要采用另一种架构,在本地部署编排系统和模型推理。

如果团队需要由客户控制的执行环境、私有网络访问、定制硬件或持久化运行环境,可以考虑 Cursor Self-Hosted Machines。但如果你的要求是让 AI 流量完全不出云,就应该选择其他方案:这个功能改变的是命令在哪里执行,而不是 Agent 在哪里思考。