AI 智能体的浏览器与计算机使用沙箱:应隔离什么

AI 智能体的浏览器与计算机使用沙箱:应隔离什么

浏览器和计算机使用沙箱应隔离会话、文件系统和下载、凭据、Cookie、网络访问、工具操作、截图和录制、日志以及重置状态,这样 AI 智能体在操作网站、应用程序和文件时,就无法悄无声息地扩展其信任边界。

为什么浏览器和计算机使用智能体需要沙箱

浏览器使用和计算机使用智能体与普通聊天机器人不同。它们不仅回答问题,还会点击、输入、下载文件、阅读网页、填写表单,有时还会操作完整的桌面环境。这使得运行时成为安全模型的一部分。

纯文本助手可能给出错误答案。浏览器或计算机使用智能体可能采取错误行动。它可能提交表单、将会话 Cookie 泄露到日志、下载不安全文件、覆盖工作区、遵循隐藏在网页中的提示注入,或在不应提供凭据的上下文中使用凭据。

沙箱正是用来约束这些行为的地方。它应回答一些实际问题,例如:

  • 浏览器登录了哪个账户?
  • 智能体可以读取或写入哪些文件?
  • 智能体可以联系哪些域名?
  • 任务结束后哪些 Cookie 和令牌会保留?
  • 哪些点击、命令、截图和文件更改以后可以审查?
  • 任务结束时销毁了什么?

目标不是假装沙箱能消除所有风险。目标是让智能体的运行环境变得狭窄、可观察、可重置。当模型或工具做出错误决策时,爆炸半径应仅限于会话和你故意暴露的资源。

浏览器会话中应隔离什么

从浏览器配置文件开始。浏览器智能体不应使用开发者的日常浏览器配置文件、个人扩展、已保存的密码、持久 Cookie 或未管理的下载目录。除非有意共享状态,否则为每个任务、用户或工作流提供自己的配置文件边界。

至少评估沙箱是否隔离了以下:

边界 没有它可能出什么问题 应检查什么
浏览器配置文件 智能体继承无关的登录、扩展、Cookie、自动填充或浏览历史。 每任务或每用户配置文件、显式持久化规则、扩展控制。
会话生命周期 先前任务的状态改变下一个任务的结果。 新会话创建、快照恢复、清理和过期行为。
标签页和窗口 智能体从错误上下文读取或点击内容。 标签页范围、活动窗口跟踪和事件日志。
浏览器存储 LocalStorage、IndexedDB、缓存和服务工作者持久化敏感状态。 存储重置、导出规则和域范围清理。
下载 来自网络的文件落入共享目录。 隔离下载文件夹、文件类型策略、必要时进行恶意软件扫描工作流程。

将浏览器视为工作区,而非可丢弃的 UI 包装器。现代 Web 应用将重要状态保存在 Cookie、本地存储、缓存、服务工作者、后台请求和下载的文件中。如果沙箱只打开一个浏览器窗口,但没有定义这些状态如何处理,那么隔离边界就不完整。

对于计算机使用环境,同样的原理扩展到浏览器之外。智能体可能与终端、文件管理器、文档编辑器、本地预览服务器或 GUI 应用程序交互。该环境需要范围限定的主目录、清晰的挂载点,以及将任务工件与运行时内部隔离开的方法。

Cookie 和已登录账户通常是浏览器自动化中最敏感的部分。拥有有效会话的浏览器智能体可以执行账户允许的任何操作,即使模型从未见过原始密码。

尽可能为智能体工作使用独立账户。该账户应具有工作流所需的最低权限,沙箱应明确 Cookie 是注入的、登录时创建的、运行之间持久化的,还是完成后销毁的。

凭据处理需要更严格的规则:永远不要仅仅因为网站可能要求就向智能体提供广泛的秘密。优先使用范围受限、有时间限制的令牌;每个工作流的凭据;以及代理访问,即智能体调用狭窄的工具而非读取原始秘密。如果秘密必须在沙箱内可用,决定它是以环境变量、挂载文件、浏览器凭据还是仅工具能力的形式出现。

注意这些反模式:

  • 带有个人或管理员 Cookie 的共享浏览器配置文件。
  • 模型未经批准将秘密粘贴到页面中。
  • API 密钥对沙箱中所有工具可用。
  • 会话 Cookie 被捕获在全页截图或调试日志中。
  • 为生产账户启用表单自动填充。
  • 长生命周期的凭据留在下载的文件、Shell 历史或浏览器存储中。

OWASP 对 LLM 应用程序的指南指出,提示注入和过度代理是智能体系统中反复出现的风险。对于浏览器智能体,这些风险直接与 Web 相遇:页面可能包含试图影响模型的指令,而模型可能拥有执行真实操作的工具。当指令遵循不足以防范时,隔离提供了第二道防线。

如何控制下载、文件和剪贴板数据

下载是一个信任边界。浏览器智能体可能保存 PDF、电子表格、存档、截图、发票、构建工件或可执行文件。这些文件应落入沙箱拥有的目录,而不是共享桌面文件夹或生产工作区。

一个实用的下载策略应涵盖:

  • 允许的文件类型和最大文件大小。
  • 下载的文件是否可以自动打开。
  • 文件是否可以上传到其他网站。
  • 如何扫描、哈希或记录文件。
  • 运行结束时哪些文件从沙箱导出。
  • 临时文件如何删除。

对于计算机使用智能体,文件边界更为重要,因为智能体可能作为任务的一部分创建或修改本地文件。编码智能体可能编辑仓库。数据智能体可能创建图表。浏览器智能体可能下载 CSV,转换它,然后上传结果。每个路径都应明确:输入在哪里到达,工作文件在哪里活动,批准的输出在哪里导出,以及什么会被清除。

剪贴板访问需要单独决定。它对 GUI 自动化很方便,但也可能将敏感文本在无关应用程序之间移动。如果智能体可以读取剪贴板,它可能看到几秒钟前人类复制的令牌。如果它可以写入剪贴板,它可能影响人类的下一次粘贴操作。在敏感工作流中,使剪贴板访问仅限于会话本地,或在跨越人机边界之前需要明确批准。

屏幕交互也有类似问题。计算机使用智能体通过截图、无障碍树或渲染的 UI 状态工作。截图可能包含私人数据、账户名、令牌、文档文本或客户记录。决定截图是否保留、编辑、流式传输给模型提供商,或存储用于回放。不要将它们视为无害的调试图像。

如何记录 DOM 操作、截图和回放轨迹

浏览器沙箱应使操作可审查。当智能体点击按钮或提交表单时,安全团队或开发人员应该能够重建所发生的事情,而无需从最终结果猜测。

对于浏览器自动化,有用的日志包括:

  • 访问的 URL 和来源。
  • 每次操作使用的 DOM 选择器或无障碍目标。
  • 输入的文本(秘密已编辑)。
  • 表单提交事件。
  • 下载开始和完成。
  • 网络请求(域名或端点级别)。
  • 控制台错误和页面错误。
  • 敏感步骤前后的截图检查点。

对于计算机使用自动化,添加工具调用、进程启动、Shell 命令、文件读写、窗口焦点更改和导出的工件。日志应区分模型请求了什么、自动化层执行了什么以及环境返回了什么。在调试提示注入、不稳定的 UI 行为或工具包装器错误时,这种区分很重要。

回放很有用,但它改变了数据保留问题。完整的回放轨迹可能包含截图、页面文本、表单内容、文件名、终端输出和凭据,除非内置编辑。提前决定谁可以访问回放、保留多长时间,以及敏感值在存储前是否被屏蔽。

正确的细节程度取决于工作流。公开价格监控智能体可能需要轻量级日志。接触客户账户、账单页面、基础设施控制台或内部工具的智能体需要更强的审计追踪和更严格的保留控制。

如何设置网络、批准和重置边界

网络访问是浏览器沙箱可能悄然扩展的地方。一个任务可能从一个网站开始,然后加载第三方脚本、跟随重定向、调用 API、下载包或到达内部域名。如果沙箱具有广泛的出站访问权限,智能体可以将数据移动到应用程序所有者未预期的地方。

对于浏览器和计算机使用智能体,考虑:

  • 预期 Web 目的地的域名白名单。
  • 阻止内部元数据服务和私有网络范围。
  • 对包注册表、对象存储和 Web 搜索分别制定策略。
  • 安全审查需要时的 DNS 日志。
  • 可追溯到会话和任务的出口日志。

人类批准应位于难以撤销或具有法律意义的操作之前。例如提交购买、发送消息、更改账户设置、删除文件、轮换凭据、邀请用户、打开支持工单或上传客户数据。批准事件应捕获智能体意图做什么、涉及的页面或文件以及确切批准的操作。

重置行为是最后的边界。一个好的沙箱应明确任务结束时会发生什么:

状态 重置问题
浏览器 Cookie 是否销毁、持久化或检查点?
浏览器存储 缓存、本地存储、IndexedDB 和服务工作者状态是否清除?
下载 文件是否删除、保留以供审查或导出到受控位置?
凭据 令牌是否撤销、轮换或从环境中移除?
日志和回放 保留什么、编辑什么、保留多长时间?
网络访问 临时白名单或代理凭据是否移除?
文件系统 工作区是否擦除、快照或重用?

持久会话对于长期运行智能体很有用,但持久化应是有意的。如果浏览器配置文件、文件系统或进程状态跨运行存活,应记录为什么持久化以及谁可以重置它。

Novita Agent Sandbox 如何符合此评估

Novita Agent Sandbox 专为在隔离云环境中运行 AI 智能体工作负载而设计。产品页面描述了支持代码执行、浏览器使用、计算机使用、持久会话、实时会话查看和可重用模板。 Novita Agent Sandbox 快速入门文档 展示了开发人员如何创建沙箱、运行命令、处理文件以及通过 SDK 管理沙箱。

这些能力使得 Novita 在评估浏览器智能体、编码智能体、数据分析和长期运行工作流时具有相关性。评估仍需针对您的威胁模型具体化。在使用任何沙箱提供商进行敏感浏览器或计算机使用自动化之前,请确认您需要的关于浏览器配置文件、Cookie、凭据注入、网络出口、截图保留、文件导出、日志和重置语义的确切行为。

对于已经使用 Novita AI 模型的团队,实际优势是运营匹配:推理和智能体执行可以在同一个构建器平台内规划,而不是作为独立的基础设施决策处理。不过,请将产品声明与安全假设分开。沙箱可以提供有用的隔离和生命周期控制,但您的应用程序仍然需要最低权限账户、范围限定的凭据、批准门控以及针对智能体执行的操作的审计规则。

浏览器和计算机使用沙箱检查清单

在让智能体访问真实网站、账户或类桌面工作区之前,使用此检查清单。

领域 评估问题
会话 每个任务是否获得隔离的浏览器配置文件或工作区?
账户 智能体是否使用最低权限账户,而非人类的主账户?
Cookie Cookie 是否范围限定、有意持久化,并在重置时清除?
凭据 秘密是否范围限定、有时限、在日志中编辑,并且对无关工具不可用?
下载 文件是否直到显式导出前都留在沙箱拥有的目录中?
剪贴板 智能体能否读取或写入人类剪贴板,还是仅会话本地剪贴板?
截图 截图是否保留、编辑和访问控制?
DOM 操作 点击、输入文本、表单、选择器和页面来源是否记录?
工具调用 您能否区分模型意图和执行的操作?
网络 域名、私有范围、包注册表和 DNS 行为是否受控?
批准 哪些操作需要人工确认步骤?
重置 运行后究竟擦除、保留、撤销或快照了什么?
事件审查 您能否从日志、文件、网络事件和回放重建所发生的事情?

常见问题

浏览器沙箱和计算机使用沙箱有什么区别?

浏览器沙箱约束 Web 浏览器能做什么:哪些配置文件、Cookie 和存储可用,浏览器可以联系哪些域名,以及允许哪些下载。计算机使用沙箱更广泛,覆盖完整的类桌面环境——终端访问、文件管理器、GUI 应用程序和本地进程,此外还有浏览器。两者都围绕重置、日志记录、凭据范围限定和最低权限账户关注相同的核心问题,但计算机使用环境需要额外决策,涉及挂载目录、剪贴板访问、屏幕数据和进程隔离。

每个智能体任务都需要单独的浏览器配置文件吗?

大多数情况下,是的。跨任务共享配置文件意味着一个任务可以看到另一个任务留下的 Cookie、登录、已保存密码和浏览器存储。每任务配置文件是防止意外状态遗留的最简单方法。如果您的工作流需要会话持久化——例如,一个长期运行智能体从上次中断处继续——请明确持久化,并记录哪些状态会遗留以及为什么。

AI 智能体能否在沙箱内安全处理凭据?

凭据在沙箱内比在非受控环境中更安全,但仅凭沙箱并不能使凭据处理变得安全。主要风险是过度暴露(给智能体比任务所需更多的访问权限)、泄露(凭据出现在日志、截图或调试输出中)和持久化(令牌或 Cookie 在任务结束后仍然可用)。优先使用范围限定、有时限的凭据;通过狭窄的工具调用代理访问,而不是原始秘密;并确认日志和截图在存储前编辑敏感值。

如果 AI 智能体下载恶意文件会发生什么?

沙箱下载策略决定了爆炸半径。如果下载隔离到沙箱拥有的目录,自动打开被禁用,并且文件类型限制到位,下载的文件无法自动运行或到达更广泛的文件系统。如果没有这些控制,恶意文件可能执行、到达共享目录或在人类审查之前被上传到其他地方。将下载视为潜在不可信输入,并定义明确的策略,规定允许哪些文件类型、是否可以在沙箱内打开它们以及如何扫描或记录它们。

如何检测浏览器智能体中的提示注入?

来自网页的提示注入在模型层很难可靠检测。沙箱化是主要的防御控制之一,因为它限制了即使恶意指令被遵循后智能体所能做的事情。实际信号包括意外的工具调用或导航、超出预期域名的操作、不寻常的表单提交,以及检索或传输凭据或会话数据的尝试。良好的 DOM 操作日志——记录访问了哪个页面、定位了哪些选择器以及输入了什么文本——使重建页面是否影响了智能体行为变得更容易。

使用沙箱意味着我的智能体是安全的吗?

沙箱缩小了爆炸半径,但并未消除风险。它约束智能体能触及什么以及重置后什么会存活,但无法阻止模型错误决策、配置错误的凭据或应用程序级漏洞。安全取决于分层控制:最低权限账户、范围限定的凭据、不可逆操作的批准门控、捕获模型意图和执行操作的审计日志,以及在敏感工作流进入生产之前的人工审查。沙箱是一个层面,而非完整答案。

截图和回放数据应保留多长时间?

保留取决于工作流的敏感性以及您的审计要求。对于接触个人数据、计费系统、客户账户或内部工具的智能体,定义保留窗口并实施访问控制和敏感值(令牌、表单内容、可见凭据)编辑是一个合理的基线。对于低敏感性工作流,更短的保留或仅摘要日志可能合适。在部署前决定谁可以访问回放、保留多长时间以及如何删除。避免将截图视为无害的调试工件——它们通常包含比结构化日志更多的敏感数据。

哪些智能体操作应始终需要人工批准?

难以逆转或具有法律意义的操作是最明确的候选:购买、账户设置更改、文件删除、凭据轮换、用户邀请、支持工单提交以及上传客户或受监管数据。除此之外,考虑对任何超出智能体原始任务范围的操作、任何在运行开始时未预料到的域名或账户上的操作,以及任务未明确要求的文件下载或执行要求批准。批准事件应记录智能体意图做什么以及人工明确确认了什么。

推荐文章