---
title: "MCP、許可權與安全"
description: "Antigravity MCP 與安全控制：Allow、Deny、Ask、terminal sandbox、workspace file access、browser allowlist 和 MCP 許可權資源。"
verifiedAt: "2026-05-05"
---

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

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

## 1. 三類許可權列表

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

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

許可權項格式是：

```text
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 |

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

## 3. Allow List 的正確用法

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

示例：

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

不建議第一天 allow：

```text
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

> [!IMPORTANT]
> 對真實專案，不要只靠 Deny List。更穩的是 Request Review + Allow List 的正向安全模型。

## 5. Terminal sandbox

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

正確心智模型：

```mermaid
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 配置。

## 官方來源

- [Antigravity MCP Integration](https://antigravity.google/docs/mcp)
- [Antigravity Allowlist / Denylist](https://antigravity.google/docs/allowlist-denylist)
- [Getting Started with Google Antigravity](https://codelabs.developers.google.com/getting-started-google-antigravity)

## 接下來去哪

<Cards>
  <Card title="模型、定價與平臺" description="理解 Antigravity 和 Gemini 3、Claude、GPT-OSS、平臺支援的關係。" href="/zh-Hant/docs/antigravity/official/06-models-pricing-platforms" />
  <Card title="MCP 與許可權深講" description="按真實專案設計 Allow/Deny/Ask、sandbox 和 browser allowlist。" href="/zh-Hant/docs/antigravity/understanding" />
</Cards>
