🔑 Agent Permissions(Agent权限控制)

给Agent发通行证——但不是VIP通行证,是那种只能去几个房间的访客证

📖 定义

"权限就像给Agent一把钥匙——问题是,你给它的是万能钥匙还是只能开一扇门的钥匙?"

Agent Permissions(Agent权限控制)是定义和管理AI Agent可以访问哪些资源、执行哪些操作的安全框架。它遵循最小权限原则(Principle of Least Privilege),确保Agent只拥有完成当前任务所必需的最小权限集合。

🎮 周星驰式比喻:Agent权限就像酒店的房卡系统。普通Agent拿到的房卡只能开自己的房间(读写自己的workspace)。高级Agent能开更多房间(访问特定目录)。而管理员的卡……嗯,能开所有房间,但你得想清楚是不是真的需要给Agent这种权限。毕竟,一个能开所有门的Agent,就像一个拿着万能钥匙的陌生人——你信任它吗?

⚙️ 权限模型

1. 权限层次结构

级别权限范围典型用途风险
🔵 Read-Only只能读取指定目录文档查询、数据分析
🟢 Read-Write读写指定目录文件编辑、内容生成中低
🟡 Exec-Limited执行受限命令运行脚本、编译代码
🟠 Exec-Full执行任意命令系统管理、部署
🔴 Admin完全系统访问紧急运维极高

2. OpenClaw 权限配置

# OpenClaw 权限配置
permissions:
  filesystem:
    read:
      - "/var/www/miaoquai/**"
      - "/root/.openclaw/**"
    write:
      - "/var/www/miaoquai/**"
    deny:
      - "/etc/shadow"
      - "/root/.ssh/**"
      - "/var/www/miaoquai/.env"

  exec:
    allowed_commands:
      - "git"
      - "npm"
      - "python3"
      - "node"
    blocked_commands:
      - "rm -rf /"
      - "chmod 777"
      - "curl | bash"
    require_approval:
      - "sudo"
      - "docker"
      - "systemctl"

  network:
    allowed_domains:
      - "api.openai.com"
      - "github.com"
    blocked_ports:
      - 22   # SSH
      - 3306 # MySQL
      - 6379 # Redis

3. 工具级别的权限控制

# 每个工具的独立权限
tool_permissions:
  web_search:
    allowed: true
    rate_limit: "10/min"

  exec:
    allowed: true
    sandbox: "require"
    timeout: 60

  browser:
    allowed: true
    headless: true
    proxy: "restricted"

  message:
    allowed: true
    channels:
      - "feishu"
    rate_limit: "5/min"

🎯 最佳实践

🔒 最小权限

永远只授予完成任务所需的最小权限。宁可后续授权,也不要一开始就给太多。

📋 权限审计

定期审查Agent权限,移除不再需要的权限。记录所有权限使用情况。

⏰ 时效控制

高危权限设置自动过期时间,避免长期持有不必要的权限。

🚨 审批流程

敏感操作(如sudo、删除文件)需要人工审批后才能执行。

🔗 相关术语

🛡️ AI Agent Security 🔒 Sandbox Execution 🌐 Egress Security 📦 Session Isolation

🛠️ 相关工具

🔒 Agent安全审计🔌 MCP集成教程🛡️ MCP安全审计

📚 相关踩坑实录

😅 AI Agent踩坑大全🧠 记忆危机故事📖 更多踩坑实录