所有節目›AI Engineer Europe 2026World's Fair 2026World's Fair 線上軌AI in HealthcareSoftware Factories
What if the network was the sandbox?在 YouTube 看這一場

AI Engineer Europe 2026 · 演講 · 2026-06-01 · 24 分

把身分放進網路層來管 agent

What if the network was the sandbox? · Remy Guercio,Tailscale

Remy Guercio 主張沙箱的核心是邊界加權限,如果把身分驗證與授權放在網路層,agent 的沙箱裡就不必放金鑰,並用 Tailscale 的 Aperture 示範怎麼做。

權限邊界看原片 ↗

概要

  • 沙箱的兩個基本元件Remy 把沙箱拆成邊界與權限兩件事。沒有權限或身分,沙箱就像沒有玩具的沙坑,沒什麼好玩。
  • 現有做法的問題給 agent 權限通常是 API key 或 OAuth/OIDC,兩種都是在沙箱裡進行,agent 手上就握有取得權限的東西。Remy 還說模型很會拿金鑰做不該做的事,尤其在 loop 裡跑很久的時候。
  • 把 AuthN 與 AuthZ 放到網路層Tailscale 建在 WireGuard 上,每條連線都帶著使用者、群組或標籤這類身分資訊,沒有權限的東西連話都說不上。
  • Aperture 這個 AI gateway供應商的金鑰只放在 Aperture,沙箱端完全沒有金鑰;Aperture 是 tailnet 上的一個節點,看得到每個連進來的身分。
  • 在 LLM 層看得到每個 tool callRemy 說所有請求都得經過 Aperture,所以每個 tool call 都看得到,要停掉也是在網路層直接切斷。
  • 可以自己用 tsnet 做一套身分的基礎元件放在開源函式庫 tsnet,Remy 說理論上你自己也能蓋出 Aperture;Q&A 另外談了權限設定、base URL 與不走 tool call 時的情形。

原話

  • “it's a sandbox without any toys”

    沒有權限就是沒有玩具的沙坑

    ▶ 01:35
  • “it's just no key whatsoever in in that sandbox”

    那個沙箱裡完全沒有金鑰

    ▶ 07:09
  • “I have sort of a guarantee that I've seen every tool call that this thing has ever, like this thing has ever made through the instance.”

    我算是有保證,這東西透過這個實例發出的每個 tool call 我都看過

    ▶ 10:35
  • “if you can't see everything, then how valuable is it, right”

    如果看不到全部,那還有多少價值

    ▶ 23:43

延伸

  • Remy 現場示範時說,在 Claude Code 裡就算只打一句 hello,第一次請求帶著整包 context 就花了 20 美分。
  • Remy 說,談過的不少企業連員工在用哪些工具都不知道,想先看見,再談封鎖;之後也會加更多 guardrail,例如擋下 rm -rf / 這類 bash 指令。
  • 團隊原本想在 MCP 層做,後來認為 LLM 層更有價值;Remy 也承認,把程式碼混淆後一步一步執行的做法還是繞得過去。

章節

點時碼直接跳到原片的那一段。

  1. 沙箱由什麼組成Remy 先提問,把沙箱簡化成邊界和一組權限,再問這在網路層會長什麼樣子。
  2. API key 與 OAuth 的盲點給 agent 權限不是 API key 就是 OAuth/OIDC,兩者都在沙箱裡處理,agent 等於能碰到自己的權限。
  3. 把身分放進網路用 WireGuard 給網路上每個節點一組金鑰,Tailscale 在上面疊身分;每條連線都帶使用者、群組或標籤。
  4. Aperture:AI gateway供應商的單一金鑰放在 Aperture,它是 tailnet 上的節點,看得到所有連進來的身分。
  5. GitHub Actions runner 沒有金鑰以 GitHub Action runner 當沙箱,啟動時用 federated OIDC 加入 tailnet 並取得標籤,由標籤決定能做什麼。
  6. 現場看用量與請求登入後 Aperture 認得 Remy 本人,列出 token、模型、花費與每筆請求,連 header 與 response body 都能點開看。
  7. PR review bot 的紀錄公司自己的 PR review bot 有一個 dog food 標籤,過去 30 天做過的每一次請求都查得到。
  8. 每個 tool call 都經過閘道因為在網路層,Remy 說可以保證看得到 agent 所有 tool call;要停掉也是直接切斷,agent 沒有金鑰可以換地方試。
  9. 設定只要一個 base URLClaude Code 只需填一個占位的 API key 與 base URL,Codex 與 Gemini CLI 也一樣;現場示範請它講十個字的故事。
  10. 用日誌回頭查問題流程依賴輸出格式時,可以回到 session 逐筆看每個請求,Remy 說它沒辦法繞過去。
  11. 預算、配額與 webhook預算可以跨供應商共用,也能設每日額度;每個 tool call 能透過 webhook 轉給第三方。
  12. tsnet 與自己動手蓋Aperture 在免費方案可用,身分的基礎元件放在開源的 tsnet 函式庫;內部的 MCP server 或 API 也能用同樣方式取得請求者身分。
  13. Q&A:權限在哪裡設定可以在 grants 設定,也能放進 Tailscale 主要的存取控制檔,連同任意中繼資料一起隨身分傳送。
  14. Q&A:能不能不填 base URL技術上做得到,但 Remy 說那不是 Tailscale 的路線,他們要的是最簡單的做法,不要藏在表面底下。
  15. Q&A:權限能細到哪裡目前以模型供應商為單位,之後經過 Aperture 的東西都要能依群組設定;配額也一樣,團隊與個人可以各有預算,再取兩者的聯集。
  16. Q&A:agent 直接寫程式時有聽眾問不走結構化 tool call 時怎麼管;Remy 說這正是選在 LLM 層的原因,至少看得到實際跑的指令。

名詞

Aperture
Tailscale 做的 AI gateway,放在 tailnet 上當節點,集中管金鑰、用量、權限與 tool call 紀錄
Tailscale
建在 WireGuard 上,並在連線上疊加身分的網路服務
WireGuard
讓網路上每個節點各有一組金鑰的連線協定,Tailscale 的底層
tailnet
一個 Tailscale 網路,裡頭的容器、GPU 伺服器、筆電、手機等節點彼此直連
tsnet
Tailscale 的開源函式庫,讓程式自己加入 tailnet 並讀取同樣的身分資訊
federated OIDC
Remy 舉例用 GitHub 的這項機制讓 runner 啟動時取得 tailnet 存取與標籤
ACL/grants
Tailscale 定義誰能存取什麼的政策檔與設定,可再放入 application capability 隨身分傳送

相關影片 同屬「權限邊界」