01 / DECISION
何時值得加入這個 primitive
當 untrusted 或 generated code 需要 isolated Linux execution environment,且 Worker 必須控制 boundary 時使用 Sandboxes;若只需要 JavaScript、Python 或 WebAssembly,Dynamic Workers 是更輕的選擇。
02 / ARCHITECTURE
建立最小且站得住腳的路徑
每個 trust boundary 配置一個 sandbox、使用 explicit sessions、allowlist commands 與 egress、限制 resource 和 time、在外部 proxy secrets,完成後 destroy。
- 01先命名 contract
當 untrusted 或 generated code 需要 isolated Linux execution environment,且 Worker 必須控制 boundary 時使用 Sandboxes;若只需要 JavaScript、Python 或 WebAssembly,Dynamic Workers 是更輕的選擇。
- 02只加入一個 primitive
每個 trust boundary 配置一個 sandbox、使用 explicit sessions、allowlist commands 與 egress、限制 resource 和 time、在外部 proxy secrets,完成後 destroy。
- 03保留 failure evidence
拒絕 forbidden command 與 destination、強制 timeout 和 cleanup、驗證 session separation,並確認 secret 沒有進入 sandbox。
03 / REPRODUCE
有證據,再有信心
拒絕 forbidden command 與 destination、強制 timeout 和 cleanup、驗證 session separation,並確認 secret 沒有進入 sandbox。
npm create cloudflare@latest -- sandbox-linux --category=hello-world --type=hello-world --lang=ts --no-deploy --no-git --no-agents 04 / BOUNDARY
Production boundary
Isolation 不代表可執行任意 user intent。Sandbox SDK 1.0 把控制權移到你自己撰寫的 Durable Object class;切換到 Durable Object scheduling policy 的那次 deploy 無法用 rollback 還原,請先在 staging Worker 演練。Browser automation 仍留給 Browser Run。
05 / FIRST-PARTY SOURCES
讓第一方來源保持權威
產品行為、限制、價格與供應狀態會改變;採取行動前請重新核對這些來源。