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
| Action | Target 示例 | 說明 |
|---|---|---|
command | command(git) / command(*) | 按命令字首匹配 |
read_file | read_file(/absolute/path) | 讀取檔案或目錄 |
write_file | write_file(/absolute/path) | 寫入檔案或目錄,同時隱含讀取 |
read_url | read_url(example.com) | 匹配域名和子域名,不按 path 細分 |
mcp | mcp(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 的風險。
建議:
- 預設關閉非 workspace file access。
- 確實需要讀取外部檔案時,用最小絕對路徑授權。
- 不授權家目錄、憑據目錄、同步盤根目錄。
- 任務結束後移除臨時授權。
7. Browser URL Allowlist
瀏覽器 agent 可以讀頁面、點選、輸入、執行 JavaScript、截圖和錄屏。對未知網頁,風險來自網頁內容對 agent 的誘導。
建議:
| 場景 | URL 策略 |
|---|---|
| 查官方文件 | allow 官方域名 |
| 測本地應用 | allow localhost 或固定本地域 |
| 登入後臺 | 預設人工操作,agent 只讀或停用 |
| 第三方內容頁 | 臨時 allow,任務後移除 |
8. MCP 許可權
Antigravity 文件提供 MCP 整合。MCP 的安全重點是:server 暴露了哪些 tool,tool 能讀寫什麼,是否會聯網或觸發外部副作用。
初始策略:
- 只接必要 MCP server。
- 只把當前任務需要的 tool 放進 Allow。
- 寫操作和外部提交類 tool 預設 Ask。
- 每個 workspace 單獨審計 MCP 配置。
官方來源
- Antigravity MCP Integration
- Antigravity Allowlist / Denylist
- Getting Started with Google Antigravity