AI 程式設計教程中文版
官方教程中文版05 · MCP & Security

MCP、許可權與安全

Antigravity MCP 與安全控制:Allow、Deny、Ask、terminal sandbox、workspace file access、browser allowlist 和 MCP 許可權資源。

Antigravity 的許可權系統是商業使用的核心。它能讀寫檔案、跑命令、開啟瀏覽器、執行 JavaScript、訪問 URL、呼叫 MCP。如果不先定義邊界,agent-first 會很快變成 risk-first。

推薦預設:Request Review(請求人工審閱)+ terminal sandbox(終端沙箱)+ workspace-only file access(僅 workspace 內檔案訪問)+ browser URL allowlist(瀏覽器 URL 白名單)。等某個 workspace 的任務穩定後,再把低風險動作逐步加入 allowlist。

1. 三類許可權列表

Codelab 描述 Antigravity 用統一許可權系統控制 agent 行為,每個動作可以放入三類列表:

列表含義適合什麼
Allow自動批准低風險、重複、可回退動作
Deny立即阻止刪除、洩露、越權、危險命令
Ask暫停並請求批准預設策略,尤其是真實專案

許可權項格式是:

action(target)

2. 常見 action

ActionTarget 示例說明
commandcommand(git) / command(*)按命令字首匹配
read_fileread_file(/absolute/path)讀取檔案或目錄
write_filewrite_file(/absolute/path)寫入檔案或目錄,同時隱含讀取
read_urlread_url(example.com)匹配域名和子域名,不按 path 細分
mcpmcp(server/tool) / mcp(server/*)控制 MCP server 或 tool

檔案路徑必須是 literal absolute path。不要假設 ~、glob 或 regex 會按 shell 習慣生效。

3. Allow List 的正確用法

Allow List 適合 Request Review 策略下的正向授權:預設都要問,只有明確安全的動作自動透過。

示例:

command(ls)
command(git status)
read_url(antigravity.google)
read_url(developers.googleblog.com)

不建議第一天 allow:

command(rm)
command(curl)
command(ssh)
command(git push)
read_file(/Users/your-name)
write_file(/)
mcp(*)

4. Deny List 的風險

Deny List 更像 Always Proceed 策略下的護欄:預設允許,只有列出的動作阻止。它速度快,但依賴你提前想全危險動作。

更適合 deny 的項:

  • 刪除命令字首
  • 上傳命令字首
  • 寫入系統目錄
  • 訪問憑據目錄
  • 生產後臺 URL
  • 未審計 MCP server

對真實專案,不要只靠 Deny List。更穩的是 Request Review + Allow List 的正向安全模型。

5. Terminal sandbox

Codelab 建議開啟 terminal sandbox。它能限制 terminal 命令的執行環境,但不能替代許可權審閱。

正確心智模型:

flowchart LR
    Prompt["使用者任務"] --> Permission["許可權策略"]
    Permission --> Sandbox["Terminal sandbox"]
    Sandbox --> Command["命令執行"]
    Command --> Evidence["輸出 / diff / artifact"]

    Permission -.阻止越權.-> Stop["Ask / Deny"]
    Sandbox -.限制執行環境.-> Command

Permission 決定能不能做,sandbox 限制怎麼做。兩者不是替代關係。

6. File Access Policy

Codelab 明確說明,預設 agent 只能訪問 workspace 檔案。這是合理預設。Agent Non-Workspace File Access 開啟後,agent 可以自動檢視和編輯 workspace 外檔案,也會增加金鑰、私人檔案、prompt injection 的風險。

建議:

  1. 預設關閉非 workspace file access。
  2. 確實需要讀取外部檔案時,用最小絕對路徑授權。
  3. 不授權家目錄、憑據目錄、同步盤根目錄。
  4. 任務結束後移除臨時授權。

7. Browser URL Allowlist

瀏覽器 agent 可以讀頁面、點選、輸入、執行 JavaScript、截圖和錄屏。對未知網頁,風險來自網頁內容對 agent 的誘導。

建議:

場景URL 策略
查官方文件allow 官方域名
測本地應用allow localhost 或固定本地域
登入後臺預設人工操作,agent 只讀或停用
第三方內容頁臨時 allow,任務後移除

8. MCP 許可權

Antigravity 文件提供 MCP 整合。MCP 的安全重點是:server 暴露了哪些 tool,tool 能讀寫什麼,是否會聯網或觸發外部副作用。

初始策略:

  1. 只接必要 MCP server。
  2. 只把當前任務需要的 tool 放進 Allow。
  3. 寫操作和外部提交類 tool 預設 Ask。
  4. 每個 workspace 單獨審計 MCP 配置。

官方來源

接下來去哪

本頁目錄