Googleは、AIが生成したコードや信頼できないバイナリを隔離して実行する「Cloud Run sandboxes」をパブリックプレビューとして提供開始した。既存のCloud Runインスタンス内で起動し、利用に際して追加費用は発生しない。
この記事は会員限定です。会員登録(無料)すると全てご覧いただけます。
Googleは2026年7月9日(米国時間)、AIが生成したコードや信頼できないバイナリを安全に実行するための「Cloud Run sandboxes」をパブリックプレビューとして提供開始した。
ホストアプリケーションやデータ、クラウドの認証情報を危険にさらさずに、AIが書いたプログラムをどう動かすか。より高い権限を持つ信頼済みのプログラムから完全に切り離すには、従来、開発者がコンテナクラスタで複雑なサンドボックス基盤を自前構築するか、専用のマイクロVM(仮想マシン)を提供する外部有料サービスを利用する必要があった。
Cloud Run sandboxesは、信頼できないコードとエージェントのワークロードの実行に特化したランタイム環境で、ミリ秒単位で起動する。
Googleが示した実例では、Cloud Runで1000個のサンドボックスを「起動・実行・停止」する検証を実施。信頼できないPythonコードの処理要求に対し、平均してわずか500ミリ秒という短時間で応答できたという。
Cloud Run sandboxesは、既存のCloud Runサービスのインスタンス内にほぼ瞬時に生成できる軽量で隔離された実行境界だ。LLM(大規模言語モデル)に動的に生成させたPythonスクリプトを実行して事業の利益率を計算させる場合も、Web調査のためにヘッドレスブラウザを立ち上げる場合も、サーバレス環境から出ることなく安全な隔離環境でタスクを実行できる。
Googleは主要な用途として3つを挙げる。1つ目はLLMのコードインタープリタだ。AI製品に高度なデータ分析の機能を組み込み、モデルにPythonやR、SQLのコードを書かせて実行させることで、データセットの分析やチャートの生成、複雑な計算を安全に処理させる。
2つ目はヘッドレスブラウザだ。エージェントにブラウザを動かす安全な環境を与え、ホストマシンを危険にさらすことなくWebスクレイピングやスクリーンショットの取得、Web作業の自動化を実行する。
3つ目は利用者が投稿したコードの実行だ。AI用途に限らず、Cloud Run上で動作するプラットフォームがエンドユーザーのアップロードした独自のスクリプトやプラグイン、Webhookを安全に実行できる。
サンドボックスの有効化は、デプロイ時にフラグを1つ加えるだけだ。
Cloud Runサービスの展開時に、「gcloud」コマンドまたはYAMLの設定でサンドボックスランチャーを有効にする。
gcloud beta run deploy my-agent-service \
--image=gcr.io/my-project/agent-image \
--sandbox-launcher
有効にすると、軽量なサンドボックスのCLI(コマンドラインインタフェース)バイナリが実行環境へ自動的にマウントされる。エージェントのアプリケーションは、標準的なサブプロセス呼び出しを使ってプログラム内からサンドボックスを起動できる。
import subprocess
def run_untrusted_code(llm_code: str):
# 1. Write the untrusted LLM code to a local file
with open("/tmp/generated_script.py", "w") as f:
f.write(llm_code)
# 2. Run it inside the secure sandbox
# The sandbox shares your container's filesystem tools but runs in a secure silo
result = subprocess.run(
["sandbox", "do", "--", "python3", "/tmp/generated_script.py"],
capture_output=True,
text=True,
timeout=10
)
return result.stdout if result.returncode == 0 else result.stderr
Cloud Run sandboxesは、悪意のあるコードや誤ったコードの実行から、ホストアプリケーションとクラウドリソースを保護するよう設計されている。ランタイムは3つの重要なセキュリティ境界を強制する。
1つ目は認証情報と環境の隔離だ。サンドボックスはCloud Runサービスの環境変数にアクセスできず、Google Cloudのメタデータサーバを呼び出すこともできない。
2つ目は外部通信の拒否だ。サンドボックスはデフォルト(既定)で外向きのネットワークアクセスを一切持たない。仮に悪意のあるスクリプトによってエージェントが外部のサーバーへデータを持ち出そうとしても、そのネットワーク要求はシステムレイヤーで自動的に遮断される。外部通信は、明示的に要求した場合にだけ有効になる。
sandbox do --allow-egress -- curl https://api.github.com
3つ目は安全なファイルシステムオーバーレイだ。サンドボックスはコンテナのファイルシステムを読み取り専用で参照し、インストール済みのパッケージやPythonランタイム、バイナリを利用できる。書き込みは全て、隔離された一時的なメモリオーバーレイ領域へ記録される。サンドボックスの実行が終わると、生成されたファイルは破棄される。サンドボックス間で再利用したい場合は、ファイルのインポートおよびエクスポートができる。
# Write data from the sandbox to an archive file that can be persisted sandbox do --write --export-tar=/tmp/work.tar \ -- /bin/bash -c "mkdir -p /tmp/work && echo 'task-complete' > /tmp/work/status.txt" # Import the archive file in a new sandbox sandbox do --write --import-tar=/tmp/work.tar \ -- /bin/bash -c "cat /tmp/work/status.txt"
Cloud Run sandboxesは、次期版の「Agent Development Kit」(ADK)で「CloudRunSandboxCodeExecutor」として対応する。Cloud Runで動作するADKのエージェントに、1行の記述でコード実行機能を追加できる。
from google.adk.agents import Agent
from google.adk.integrations.cloud_run import CloudRunSandboxCodeExecutor
analyst_agent = Agent(
name="cloud_run_data_analyst",
model="gemini-3.1-pro-preview",
system_instruction=(
"You are an expert data analyst. Write and execute Python code to answer "
"user questions and process data safely."
),
code_executor=CloudRunSandboxCodeExecutor(),
)
Cloud Run sandboxesは、サンドボックスを実行するためのベンダー非依存のSDKである「ComputeSDK」にも追加された。ComputeSDKを使えば、Cloud Runサービスの外部から遠隔でサンドボックスを呼び出すことも、サービス内部のローカルツールとして直接実行することも可能だ。
専用のサンドボックスホスティング基盤がオンデマンドのVMに高い割増料金を課すのに対し、Cloud Run sandboxesは既に割り当て済みのCPUとメモリ上で直接動作する。「稼働中のインスタンスのリソースを共有するため、この機能の利用に追加料金は発生しない」と、Googleは説明している。
AIコーディングはなぜ後から苦しくなるのか? 技術負債に続く「理解負債」「認知負債」という新たな落とし穴
「AIエージェントに認証情報を渡してはならない」 1PasswordがOpenAIと協業
無料で読めるAIエージェントの実践ガイド、Googleが公開 基礎から本番実装まで学べる
「もはやコーディングの80%がAI」 元OpenAIカルパシー氏が警告する2026年の悪夢“スロポカリプス”Copyright © ITmedia, Inc. All Rights Reserved.