在 Google Cloud,我们经常听到这样一个问题:如何在不将宿主应用、数据和云凭证置于风险之下的前提下,安全地运行 AI 生成的代码或不受信任的二进制文件?换句话说,如何给 AI 编写的程序提供一个安全的运行空间——让它们与具有更高权限的可信程序完全隔离?
在此之前,开发者必须使用容器集群构建复杂的沙箱基础设施,或者为专门的第三方 microVM 运行时付费。
今天,在 WeAreDevelopers World Congress,我们宣布 Google Cloud Run 沙箱进入公开预览阶段。Cloud Run 沙箱是专为执行不受信任的代码和 Agent 工作负载而构建的原生、安全且超快速的运行时环境,启动仅需毫秒级时间。
在以下示例中,我们向一个 Cloud Run 服务发送请求,该服务启动、执行并停止 1,000 个沙箱,平均延迟为 500 毫秒,从而安全地执行不受信任的 Python 代码:

在本文中,我们将分享该功能的更多信息和核心用例。
什么是 Cloud Run 沙箱?
Cloud Run 沙箱是轻量级、隔离的执行边界,可在您现有的 Cloud Run 服务实例内近乎即时地生成。
无论您需要让 LLM 运行动态生成的 Python 脚本以计算业务利润率,还是启动无头浏览器执行网络研究,Cloud Run 沙箱都能为您提供一个安全、隔离的沙箱来运行这些任务,而无需离开您的无服务器环境。

核心用例
-
LLM 代码解释器: 在您的 AI 产品中构建高级数据分析功能。让您的模型编写并执行 Python、R 或 SQL 代码,以安全地分析数据集、生成图表并执行复杂数学运算。
-
无头浏览器: 为您的 Agent 提供一个安全的环境来运行浏览器。安全地抓取网页、截取屏幕截图并自动化网络工作流,而不会使您的主机面临风险。
-
用户提交的代码执行: 除了 AI 之外,托管在 Cloud Run 上的平台可以使用沙箱安全地运行其最终用户上传的自定义脚本、插件或 webhook。
工作原理:开发者体验
在您的 Cloud Run 服务上启用沙箱,只需在部署时添加一个标志即可。
步骤 1:启用沙箱启动器
部署 Cloud Run 服务时,可通过 gcloud 或 YAML 配置启用沙箱启动器:
步骤 2:在代码中以原生方式生成沙箱
启用后,一个轻量级的 sandbox CLI 二进制文件会自动挂载到您的执行环境中。您的 Agent 应用程序可以使用标准的子进程调用以编程方式生成沙箱。
以下是如何轻松运行由 LLM 生成的不受信任的 Python 脚本:
设计安全:默认零信任
Cloud Run 沙箱经过精心设计,可保护您的宿主应用和云资源免受恶意或错误代码执行的影响。该运行时强制执行三个关键安全边界:
1. 凭证和环境隔离: 这些沙箱无法访问 Cloud Run 服务的环境变量,也无法调用 Google Cloud 元数据服务器。
2. 锁定的网络出口(默认拒绝): 默认情况下,沙箱具有零出站网络访问。如果您的 Agent 被诱骗运行尝试将数据外泄到恶意服务器的脚本,则网络请求将在系统层被阻止。仅当明确请求时才能启用出口:
3. 安全文件系统叠加: 沙箱以只读视图运行您的容器文件系统(允许其使用您安装的软件包、Python 运行时和二进制文件),但会将所有更改写入一个隔离的临时内存叠加层。沙箱执行结束后,所有生成的文件都会被丢弃。不过,您仍可根据需要在沙箱之间导入和导出文件以便重复使用:
ADK 和 ComputeSDK 内置支持
Cloud Run 沙箱将在下一版本的 Agent Development Kit 中得到支持,并新增 CloudRunSandboxCodeExecutor。此集成使您在 Cloud Run 上运行的 ADK Agent 能够通过一行代码执行代码:
Cloud Run 沙箱还已添加到 ComputeSDK,这是一个与厂商无关的用于运行沙箱的 SDK。该 SDK 允许您从 Cloud Run 服务外部远程调用沙箱,或直接将其用作服务上的本地工具。您可以在此处了解如何将此 SDK 用于 Cloud Run 沙箱。
立即开始使用
与收取高额按需虚拟机费用的专用沙箱托管平台不同,Cloud Run 沙箱直接运行在您已分配的 CPU 和内存上。由于沙箱共享您正在运行的实例的资源,因此使用此功能无需额外费用或溢价。您可以在此处查看我们的文档。
发布于
0 Comments
Log in to join the conversation.No comments yet. Be the first to share your thoughts.