---
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="/docs/antigravity/official/06-models-pricing-platforms" />
  <Card title="MCP 与权限深讲" description="按真实项目设计 Allow/Deny/Ask、sandbox 和 browser allowlist。" href="/docs/antigravity/understanding" />
</Cards>
