0–5 分钟:tool inventory
列出 tools、owners、tokens、versions、scopes,以及每个是否可 read、write、execute、browse、fetch 或 remember。
成功标准每个 active tool 都有 owner 和 authority class。
AI agent 运营指南 · 更新 2026-06-27
在接入 browsers、MCP servers、scrapers、codebase memory 和 command runners 前,判断 AI agent 可以 read、write、click、fetch、execute、remember 与 log 什么的实用清单。
Agent tools 并不等价。读取 URL、抓取页面、在 browser 中点击、写文件、运行命令、调用 MCP server、写入 memory 都有不同 blast radius。Permission model 的目标是在 agent 行动前把这些差异写清楚。
这份 checklist 把 Agent-Reach、Firecrawl、Playwright、Jina Reader、codebase-memory-mcp、Claude Code 和 SkillSpector-style reviews 连成一个实用模型:按 authority 分类工具、定义 approval prompts、限制 network access、分离 read/write path、记录 privileged actions,并让最终决策由人负责。
RepoDaily 判断
Agents 应从 read-only、source-grounded tools 开始。只有任务需要时,才增加 network、browser、write、command、MCP 和 memory permissions,并配套 owner approval、denied paths、scoped tokens、audit logs 和 stop path。好用的 agent tool model 不是最大自治,而是明确、可 review 的 authority。
这不是 Claude Code、Codex、Playwright、Firecrawl 或任何单个 AI 产品的评测结果。RepoDaily 做了一个小型本地测试 fixture,用来检查本文提出的权限模型在模拟工具动作下,是否会按预期返回 allow、prompt 或 deny。
| 证据项 | Fixture 结果 | 为什么重要 | 局限性 |
|---|---|---|---|
| 模拟权限场景 | 14/14 个模拟工具动作场景都返回了预期的 allow、prompt 或 deny。 | 验证的是本文提出的权限模型,不是某个具体 AI 工具。 | 只是 deterministic local fixture;没有连接 live agent service。 |
| 类似密钥文件的边界 | 请求 `.env.example`、`private-data/`、`forbidden-paths/` 都会返回 deny。 | 类似密钥的文件和私有数据需要比普通 repo read 更严格的规则。 | 只使用 fake values;没有真实 credentials 或 customer data。 |
| 改变状态动作的边界 | 写文件、MCP write actions、production-like browser actions 都需要 prompt,而不是静默 allow。 | Read-only research task 不应该静默升级成 write 或 account-level authority。 | Fixture 只是建模 action classes,没有执行真实 browser 或 MCP workflows。 |
| 命令边界 | `python -m pytest` 被允许;`rm -rf fixture-repo` 这类破坏性命令被 deny。 | 安全验证命令和破坏性命令需要不同处理。 | 破坏性命令只作为字符串被评估,没有被执行。 |
| Memory 副作用边界 | 如果没有定义 retention 和 deletion rules,memory write 会被 deny。 | 一个只读任务如果持久化 private context,仍会产生长期风险。 | Fixture 没有使用 live memory server。 |
| 权限表面 | 默认策略 | 审批触发 | 审计证据 |
|---|---|---|---|
| Read files | 允许读取 scoped repo approved paths | Secrets、private data、ignored files、customer logs 或 unrelated repos | Files read、denied paths、source citations |
| Write files | 任务 branch 或 sandbox 外默认禁止 | 任何 source、config、migration、dependency、release 或 generated-file change | Diff、owner approval、test output |
| Network fetch | 允许 approved public docs 或 pinned sources | Private URLs、auth cookies、internal services、customer systems 或 unknown domains | URL list、response source、data owner |
| Browser action | 先 read-only browsing;不用 personal profile | Clicks、forms、downloads、logins、admin panels、uploads、payments | Browser profile、actions、screenshots/traces |
| Scraping/crawling | 限制 depth、domain、rate 和 data type | Login walls、copyrighted assets、personal data 或 large-scale crawling | Domain allowlist、crawl settings、output path |
| Command execution | 允许 lint/test/read-only commands;mutation 要 prompt | Install、delete、deploy、migrate、chmod、curl pipe、credential 或 network commands | Command log、approvals、exit status |
| MCP server | 一次只启用一个 server,并用 least privilege | Server 可读 files、browser、tickets、database、cloud、email 或 memory | Server inventory、scope、token owner |
| Memory write | Retention/deletion 未定义前禁止 | 存 user data、repo secrets、customer context 或 cross-tenant facts | Memory key、source、retention、deletion proof |
给 agents 新工具前,先给 workflow 打分。
| 控制项 | 0 分 | 1 分 | 2 分 | Owner 问题 |
|---|---|---|---|---|
| Tool inventory | Active tools 未知 | 部分 list | Tool、owner、scope、token、version 已跟踪 | Agent 今天能调用哪些工具? |
| Read/write split | 所有 action 同一权限 | 有一些 prompts | Read、write、command、network、memory 分离 | 哪个 action 会改变状态? |
| Approval prompts | Ad hoc confirmations | 部分 risky prompts | 基于风险的 prompts 和 stop criteria | 什么时候必须 human approve? |
| Network scope | 任何 URL 都允许 | 有部分 domain rules | Allowlist、depth、auth、data-type rules | 允许哪些 domains? |
| Audit logging | 没有可靠 logs | 部分 transcript | Tool calls、inputs、outputs、approvals、diffs 已记录 | 能重建一次 run 吗? |
| Revocation path | 无 disable plan | 知道手动 disable | Owner 能 disable tool、token、memory 或 browser profile | 现在如何停止这个 tool? |
在启用新的 browser、MCP、scraper、memory 或 command tool 前使用。
列出 tools、owners、tokens、versions、scopes,以及每个是否可 read、write、execute、browse、fetch 或 remember。
成功标准每个 active tool 都有 owner 和 authority class。
为每个 tool 写 default policy、approval trigger、denied paths/domains/commands 和 audit evidence。
成功标准Run 前模型可 review。
运行一个低风险任务,并捕获 tool calls、files、URLs、commands、browser actions、diffs 和 memory events。
成功标准Run 产出 evidence,且没有意外 authority。
尝试 near-boundary request:forbidden path、off-domain URL、write action、memory write 或 risky command。
成功标准Tool 按设计 stop、prompt 或 refuse。
决定 allow、restrict、disable 或继续测试;更新 logs、owners 和 incident response notes。
成功标准Permission change 有 owner、scope 和 rollback path。
| 场景 | 最小权限 | 停止条件 |
|---|---|---|
| Summarize public docs | 从 approved URLs network fetch,并输出 source-grounded answer | Agent 跟随 allowlist 外链接或存储 private notes |
| Automate browser QA | Dedicated browser profile、local/dev domains、保留 screenshots/traces | Agent 登录 personal/prod account 或意外提交 forms |
| Fix small code bug | Scoped file read/write、focused test command、无 deploy tools | Agent 触碰 secrets、migrations、infra 或 unrelated files |
| Crawl target site for agent research | 限制 domain、depth、rate 和 output | 出现 auth pages、personal data、large downloads 或 asset copying |
| Use codebase memory | 只对 scoped repo/task 读取 memory | Memory 未审批就写入或检索 cross-tenant facts |
| MCP server for tickets or docs | 单个 scoped token,先 read-only | Server 可写 tickets、改变 repo state 或访问 unrelated systems |
| Security skill evaluation | Read-only skill review 和 evidence output | Agent 执行 exploit-like commands 或混合 demo secrets 与 live environment |
当 read、write、execute、network 和 memory permissions 被打包在一起,人类就看不清风险在哪里增加。
告诉 agent 小心不是 permission model。Approval gates、denied paths 和 logs 必须存在于 prose 之外。
带个人 cookies 的 browser tool 会把无害 research task 变成 account-level authority。
一个 MCP server 可能同时包含 file、ticket、database 和 cloud capabilities。每个 server 都要 scope 和 inventory。
如果 privileged tool action 没有记录,incident response 就只能猜。
Read task 仍可能因为 agent 写 memory 或存 private context 而产生长期风险。
先使用 source-grounded read tools,一次 controlled run 成功后再增加 state-changing tools。
把 read、write、execute、network、browser、MCP、memory、release/deploy 分成不同审批类别。
Domain allowlists 和 path denylists 要一起使用;单独一个都会留下缺口。
Agent actions 使用独立 browser profile,并记录 clicks、forms、downloads 和 screenshots。
保存 tool name、input、output summary、approval、owner、timestamp,以及 resulting diff/artifact。
把 new tools 或 wider scopes 当作 reviewed change,带 owner、rollback 和 incident response notes。
给设计 agent tool permissions 的团队提供简短答案。
从 read-only、source-grounded tools 开始。只有任务证明需要时,再增加 write、command、browser、MCP、network 和 memory permissions。
不够。Prompts 有帮助,但还需要 denied paths、scoped tokens、browser isolation、tool inventories、audit logs 和 stop path。
按 owner、token、scope、data access、write authority、logs 和 disable path 逐个 review server。
因为 read-only task 仍可能因为 agent 把 private 或 stale context 持久化到 memory 而产生长期风险。
Feedback
匿名反馈只用于判断内容是否真正有用。