Skip to main content
Glama
hirotasoshu

cubesandbox-browser-sandbox

by hirotasoshu

CubeSandbox Browser Runtime

CubeSandbox 上の browser_use 向けの本番イメージとテンプレート契約。TencentCloud のダイジェスト固定 sandbox-browser イメージに基づく。各サンドボックスには両方のワークロード機能が含まれる:

  • 永続的なアップストリーム Chromium/CDP が 9000 で、s6 管理の @playwright/mcp@0.0.79 HTTP サービスが 8931 で、UID 1000 で実行される。

  • 書き込み可能な非 root の Run スーパーバイザーストレージが /run/browser-use/runs にあり、Run 所有のヘッドレス Chromium CDP スロットが 10000-10001 に2つある。

runtime ターゲットには RUNTIME_MARKER=sha256:<64 lowercase hex> が必要。マーカーは /etc/browser-use/runtime-marker に書き込まれ、browser_use 内の単一テンプレート ID でプロモートされたものと一致する必要がある。

ビルドと検証

source_digest="$(git archive HEAD | sha256sum | cut -d' ' -f1)"
marker="sha256:$(printf '%s:runtime' "${source_digest}" | sha256sum | cut -d' ' -f1)"

docker build --target runtime --build-arg "RUNTIME_MARKER=${marker}" \
  -t cubesandbox-browser-sandbox .
docker run -d --cap-add=SYS_ADMIN --shm-size=2g --name browser-runtime \
  cubesandbox-browser-sandbox
docker exec --user user browser-runtime browser-sandbox-smoke mcp
docker exec --user user browser-runtime browser-sandbox-smoke run
docker exec --user user browser-runtime browser-sandbox-mcp-smoke

このシーケンスは、同じサンドボックス内で2つの同時実行される Run 所有 Chromium プロセスが存在しても、永続的な MCP が生き残ることを証明する。SYS_ADMIN は、Chromium がサンドボックス名前空間を作成できるようにするためにローカル Docker でのみ必要。CubeSandbox はデプロイされた分離を提供する。

依存関係とベースイメージは不変: npm パッケージは整合性ロックされ、Python 検証ツールの依存関係はハッシュロックされ、両方のビルドステージはイメージダイジェストを使用し、公開時には SBOM と SLSA の来歴証明が発行され、Cosign でプッシュされたダイジェストにキーレス署名される。Python ロックは uv pip compile requirements.in -o requirements.txt --generate-hashes で再生成する。

Related MCP server: agentic-browser-mcp

公開とテンプレート

ワークフローは ghcr.io/hirotasoshu/cubesandbox-browser-sandbox の下に latestsha-<commit>、リリースタグを公開する。プロモーションはタグを image@sha256:... に解決する必要がある。浮動イメージ参照は拒否される:

scripts/create-template.sh \
  ghcr.io/hirotasoshu/cubesandbox-browser-sandbox@sha256:<digest>

デフォルトのテンプレートエイリアスは browser-use-runtime-medium で、2 vCPU、4 GiB RAM、20 GiB の書き込み可能レイヤーを持つ。envd 49983、永続 CDP 9000、MCP 8931、Run CDP スロット 10000-10001 を公開する。Run ポートは Run が所有するまでアイドル状態のため、起動プローブは永続 CDP のみ。

Cube トラフィックアクセストークンがイングレス境界。MCP は、Cube がトラフィックを転送する前にトークンを検証するため、動的な Cube ホスト名のみを許可する。テンプレート作成後、プロバイダー PID 上限と必須のプライベート/リンクローカル egress 拒否を設定し、ライブ契約を実行する:

python -m venv .venv
.venv/bin/pip install -r requirements.txt

CUBE_TEMPLATE_ID=<template-id> \
CUBE_RUNTIME_MARKER=sha256:<runtime-marker> \
E2B_API_KEY=<cube-api-key> \
E2B_API_URL=<cube-api-url> \
  .venv/bin/python scripts/verify-template.py

ライブチェックは1つのセキュアなサンドボックスを作成し、両方のワークロードを同時に検証する: マーカーとファイル API、パブリック/プライベートネットワークポリシー、3つのブラウザエンドポイントすべてでの認証済み CDP、トラフィックトークン拒否、正確な MCP ツール定義、MCP ナビゲーション、安全でないツールの封じ込め。

最終的なプロモーション権限は browser_use プロバイダー適合性スイートに残る。イメージビルドの成功だけで本番モードを有効にしないこと。

セキュリティ

CDP と Playwright MCP はブラウザ制御を許可する。MCP の安全でないツールはホスト RCE と同等。アプリケーションシークレットをサンドボックスに注入しないこと。トラフィックトークン強制を有効に保ち、不変のイメージとマーカー値のみを使用し、プロバイダー PID 制限を強制し、プライベート/リンクローカル拒否を要求する。

Maintenance

ActivityMaintained
ResponsivenessSyncing

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    D
    maintenance
    Enables browser automation and web scraping by exposing Playwright tools through an HTTP-based MCP server. Users can navigate pages, interact with web elements, capture screenshots, and extract structured content using a persistent Chromium instance.
    MIT
  • A
    license
    A
    quality
    B
    maintenance
    Enables MCP clients to automate a real Chrome browser via Playwright, supporting session sharing and tools for navigation, clicking, typing, and more.
    11
    2
    MIT
  • A
    license
    C
    quality
    B
    maintenance
    Exposes a remote browser as MCP tools via Playwright, enabling AI agents to navigate and interact with web pages through DOM snapshots, clicks, typing, and form operations.
    40
    22
    8
    Apache 2.0
  • A
    license
    Not graded
    quality
    A
    maintenance
    Enables AI agents to operate an isolated local Chromium browser through MCP, with semantic snapshots, ref-based actions, search, research, crawling, and CDP access.
    Apache 2.0

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/hirotasoshu/cubesandbox-browser-sandbox'

If you have feedback or need assistance with the MCP directory API, please join our Discord server