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

官方来源

接下来去哪

本页目录