沙盒概览

许多代理任务涉及执行不受信任的代码、运行命令、使用 Web 浏览器或以可能带来安全风险的方式与外部环境互动。Gemini Enterprise Agent Platform 提供隔离的沙盒来安全地处理这些工作负载。

沙盒提供安全、隔离的执行环境,这些环境会生成来代表代理执行特定任务。通过在沙盒中运行这些操作,您可以保护基础架构和数据免受代理执行的潜在恶意或错误操作的影响。沙盒通过以下方式缓解这些风险:

  • 隔离:每个沙盒都与其他沙盒和宿主系统隔离。一个代理在沙盒中执行的操作不会影响其他代理或共享同一运行时资源的用户。
  • 安全性:沙盒内的操作受到限制,可防止未经授权访问您的资源。所有沙盒环境都使用安全的容器沙盒,提供强大的安全边界。恶意代码无法访问运行时中的敏感数据或凭据。
  • 安全性:如果智能体执行有害命令或无限循环,影响会限制在沙盒内。例如,编写不当或恶意代码可能会消耗所有可用的 CPU 或内存。

沙盒与运行时环境的比较

代理运行时和沙盒在用途和使用方式上有所不同:

  • 智能体运行时:这是智能体的核心逻辑、决策和编排运行的环境。它是一个可信的环境,用于执行您的代码并管理代理的生命周期。
  • 沙盒:这是由代理或平台生成的辅助环境,用于执行特定的潜在不安全任务。沙盒可以是短期的、基于会话的,也可以是有状态的(持续数天)。

例如,如果智能体需要通过生成和运行自定义 Python 脚本来计算复杂的公式,则应在代码执行沙盒中运行该脚本,而不是在自己的运行时中运行。此外,如果代理使用技能和 shell 脚本,则必须在专门为相应会话预配的环境中运行它们,并使用最终用户的访问权限。

TTL 和沙盒配置速度

  • TTL:沙盒 TTL 各不相同,从自定义容器映像的 7 天到代码执行沙盒的 14 天不等。这样一来,您就可以在几天后恢复沙盒环境中的状态,以完成长期任务和可恢复的 shell 环境。
  • 预配:从冷启动开始创建新沙盒最多需要 2 分钟来预配资源,但预配完成后,沙盒通常会在几秒钟内启动。您可以在以下开源项目中查看底层架构:AX 和 Substrate。

特性

沙盒提供多种功能,例如预定义的沙盒、自定义容器、企业安全控制和生命周期管理:

  • 代码执行:允许代理在安全的环境中生成和运行代码。这对于复杂的数学计算、数据分析和其他需要计算的任务非常有用。
  • 使用电脑:使代理能够与网络浏览器互动,以执行填写表单、搜索网络或浏览复杂的界面工作流程等任务。
  • 自定义容器:您可以“自带容器”,通过特定库、工具或配置自定义执行环境。使用此功能可为代理提供包含自定义映像中的命令和工具的 shell 环境。
  • VPC Service Controls:配置安全边界,以保护敏感数据并防止未经授权的出站流量从沙盒环境中流出。
  • 客户管理的加密密钥 (CMEK):使用在 Cloud Key Management Service (Cloud KMS) 中管理的加密密钥来保护沙盒中的静态数据。