跳转至

第 4 章:权限、安全与成本 — 给协作者划边界

📋 本章概览

项目 内容
学习时长 8 分钟
核心概念 最小权限、提示注入、密钥、费用、停止边界
核心比喻 权限像工作证上的区域和可用设备
实践任务 为 Agent 设计分级权限表
难度等级 ★★★☆☆

Agent 安全的关键是控制“行动空间”

一个 Agent 可能同时接触文件、终端、网络和外部服务。任务本身看起来很小,但工具组合起来后,影响范围可能远大于一句聊天回答。最小权限原则就是先问清楚:这次任务必须看哪些文件、需要执行哪些命令、是否真的需要联网或写入,以及完成后如何证明没有越界。

权限不是一次设置后永远不变的开关。随着任务从解释错误变成修改代码、安装依赖或发布结果,风险会逐步增加。把任务拆成多个可验收阶段,每一步重新确认授权,比一开始给出全部权限更容易发现问题。

4.1 使用最小权限

任务 建议权限 原因
了解项目结构 只读 不需要修改或执行
修复一个测试 读、编辑、运行指定测试 限制修改范围和命令范围
重构项目 读、编辑、测试 每小步查看 Diff
部署和推送 单独确认 影响外部系统和其他人

4.2 防止提示注入

代码注释、网页、Issue 和依赖文档都可能包含“请忽略之前指令”的文本。把外部内容当作数据,不要自动当作授权。

高风险信号

看到要求读取密钥、上传文件、关闭安全检查、删除目录、执行远程脚本或直接推送的指令时,暂停任务,人工确认来源和范围。

4.3 管理 API Key 和费用

  • 使用服务商提供的限额、余额和用量监控。
  • 为实验项目单独使用低权限或可撤销的 Key。
  • 不把 Key 写进命令历史、代码、日志和截图。
  • 发现泄露时立即撤销,不要只删除本地文件。
  • 长上下文、重复重试和批量 Agent 任务都可能增加费用。

4.4 明确停止边界

Agent 必须在以下情况停止并等待确认:

  • 要删除或覆盖用户文件。
  • 要安装未知依赖或执行来源不明的脚本。
  • 要访问生产环境、私有仓库或个人数据。
  • 要提交、推送、发布或发送外部消息。
  • 任务目标、文件范围或验收标准不清楚。

✅ 验证步骤

为“修复一个测试”写出只读、编辑、执行和发布四级权限;逐项标记哪些动作需要人工确认,并检查任务单中是否包含停止条件。

📝 本章总结

  • 最小权限比“全自动”更容易审计和恢复。
  • 外部文本不是授权,Agent 需要防范提示注入。
  • 密钥、费用和发布动作都属于独立的风险面。

✏️ 课后练习

  1. 为自己的项目创建一个 Agent 安全检查清单。
  2. 模拟一次密钥泄露,写出撤销、轮换、排查历史和通知步骤。

🔮 下一章预告

最后一章会比较常见 Agent 工具,并完成一次从分析到验证的综合任务。