ミリ秒起動・追加コストゼロでAI生成コードを隔離実行 「Cloud Run sandboxes」公開フラグ1つで有効化、サブプロセス呼び出しで起動

Googleは、AIが生成したコードや信頼できないバイナリを隔離して実行する「Cloud Run sandboxes」をパブリックプレビューとして提供開始した。既存のCloud Runインスタンス内で起動し、利用に際して追加費用は発生しない。

» 2026年08月21日 13時00分 公開
[@IT]

この記事は会員限定です。会員登録(無料)すると全てご覧いただけます。

 Googleは2026年7月9日(米国時間)、AIが生成したコードや信頼できないバイナリを安全に実行するための「Cloud Run sandboxes」をパブリックプレビューとして提供開始した。

 ホストアプリケーションやデータ、クラウドの認証情報を危険にさらさずに、AIが書いたプログラムをどう動かすか。より高い権限を持つ信頼済みのプログラムから完全に切り離すには、従来、開発者がコンテナクラスタで複雑なサンドボックス基盤を自前構築するか、専用のマイクロVM(仮想マシン)を提供する外部有料サービスを利用する必要があった。

 Cloud Run sandboxesは、信頼できないコードとエージェントのワークロードの実行に特化したランタイム環境で、ミリ秒単位で起動する。

 Googleが示した実例では、Cloud Runで1000個のサンドボックスを「起動・実行・停止」する検証を実施。信頼できないPythonコードの処理要求に対し、平均してわずか500ミリ秒という短時間で応答できたという。

1000個のサンドボックスを起動、実行、停止するためのリクエストとその実行結果(提供:Google) 1000個のサンドボックスを起動、実行、停止するためのリクエストとその実行結果(提供:Google)

サービスインスタンス内に隔離された実行境界を作る

 Cloud Run sandboxesは、既存のCloud Runサービスのインスタンス内にほぼ瞬時に生成できる軽量で隔離された実行境界だ。LLM(大規模言語モデル)に動的に生成させたPythonスクリプトを実行して事業の利益率を計算させる場合も、Web調査のためにヘッドレスブラウザを立ち上げる場合も、サーバレス環境から出ることなく安全な隔離環境でタスクを実行できる。

エージェントアプリケーションとサンドボックスの分離(提供:Google) エージェントアプリケーションとサンドボックスの分離(提供:Google)

 Googleは主要な用途として3つを挙げる。1つ目はLLMのコードインタープリタだ。AI製品に高度なデータ分析の機能を組み込み、モデルにPythonやR、SQLのコードを書かせて実行させることで、データセットの分析やチャートの生成、複雑な計算を安全に処理させる。

 2つ目はヘッドレスブラウザだ。エージェントにブラウザを動かす安全な環境を与え、ホストマシンを危険にさらすことなくWebスクレイピングやスクリーンショットの取得、Web作業の自動化を実行する。

 3つ目は利用者が投稿したコードの実行だ。AI用途に限らず、Cloud Run上で動作するプラットフォームがエンドユーザーのアップロードした独自のスクリプトやプラグイン、Webhookを安全に実行できる。

フラグ1つで有効化、サブプロセス呼び出しで起動

 サンドボックスの有効化は、デプロイ時にフラグを1つ加えるだけだ。

ステップ1.サンドボックスランチャーを有効にする

 Cloud Runサービスの展開時に、「gcloud」コマンドまたはYAMLの設定でサンドボックスランチャーを有効にする。

gcloud beta run deploy my-agent-service \
    --image=gcr.io/my-project/agent-image \
    --sandbox-launcher

ステップ2.コードからサンドボックスを起動する

 有効にすると、軽量なサンドボックスの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

認証情報、通信、ファイルの3つの境界で守る

 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"

ADKとComputeSDKが標準対応

 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は説明している。

Copyright © ITmedia, Inc. All Rights Reserved.

アイティメディアからのお知らせ

スポンサーからのお知らせPR

注目のテーマ

ID・パスワードから始める「引き算」のセキュリティ〜ゼロトラスト狂騒曲の果てに
その「AIコーディング」は本当に必要か?
Microsoft & Windows最前線2026
4AI by @IT - AIを作り、動かし、守り、生かす
ローコード/ノーコード セントラル by @IT - ITエンジニアがビジネスの中心で活躍する組織へ
Cloud Native Central by @IT - スケーラブルな能力を組織に
システム開発ノウハウ 【発注ナビ】PR
あなたにおすすめの記事PR

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。