AI 观察 · 深度解读
AI Agent 权限与审计 2026:别让能干活的助手,顺手拿到整间公司的钥匙
一个能查邮箱、能下单、能改数据库的 AI 助手,省事是真的省事,危险也是真的危险——危险不在于它会故意使坏,而在于它会在你没注意的时候,把一件小事办成一件大事。Agent 安全的核心问题从来不是它聪不聪明,而是它手里到底拿了多少钥匙。
先说结论:Agent 的风险不在智商,在权限
很多人评估 Agent 时只看一件事:它能不能把活干成。于是权限就成了默认项——为了让它干成活,干脆把邮箱、文档、数据库、支付接口全接上,全开最高权限。活是干成了,可一旦它理解错一句指令、读错一行数据、或者被一段外部内容带偏方向,损失的上限就是你给它的权限上限。
换个角度想就清楚了:你不会给新入职的员工第一天就发全公司所有系统的管理员账号,也不会让他不经审批就对外付款、删生产数据。Agent 的道理完全一样,而且更需要这套规矩——因为它干活比人快得多,错起来也比人快得多,还不会在按下确认键之前犹豫一下。
所以管 Agent 不是管它的聪明程度,而是管它的行动边界:它能碰哪些系统、能读哪些数据、能改哪些东西、哪些事必须先问人、以及事后能不能查到它到底干了什么。这五条边界立起来,Agent 才能放心地多干活。
第一条防线:最小权限,任务变了权限就得跟着变
最小权限的意思很朴素:完成当前任务刚好够用就行,多一分都不要。只让它读本周报表,就不要给它整个数据库的读权限;只让它整理公开文档,就不要给它能改共享文件夹的写权限;只让它在测试环境跑,就不要给它生产环境的账号。权限不是越大越省事,而是越大,出错时越难收场。
更关键的是,权限要跟着任务走,而不是一次给足、长期有效。一个这周负责整理资料的 Agent,下周改去处理客户订单时,旧权限就该收回、新权限按新任务重给。长期有效的万能权限,是 Agent 安全里最常见的隐患:任务早结束了,钥匙还一直插在门上。
- 读写分开:能读不等于能改。先给只读权限跑通流程,确实需要改动时再单独开通写权限,而且写权限要限定范围。
- 环境分开:测试、预发布、生产三套环境用三套凭证,绝不共用。测试环境里跑通的东西,换到生产要重新授权。
- 定期回收:每月或每季度盘点一次 Agent 手里的权限:哪些任务已经结束、哪些账号已经不用,用不上的就收回。
第二条防线:不可逆的操作,必须先停下来问人
不是所有操作都值得打断人。查资料、做汇总、起草文案,这些可逆、低成本的事可以让 Agent 自己跑;但删数据、改配置、对外付款、发公开消息、给客户承诺,这类不可逆或难挽回的操作,必须设成人工确认点:Agent 先把要做的事、影响范围、以及一旦做错的后果讲清楚,人点了确认,它再动手。
确认点要设计得让人真的能判断,而不是走过场。只弹一句“是否继续”等于没确认——人根本不知道它要继续干什么。合格的确认至少包含四样:要动哪个系统、具体改什么、影响哪些数据或哪些人、以及如果改错了能不能撤销。缺了任何一样,人点的那个确认键都只是形式。
还有一类容易漏掉的确认:批量操作。单条改动看着没问题,一次改一千条就可能出大事。凡是批量、循环、自动重试的操作,都要单独设限:一次最多处理多少条、失败多少次就停下来、以及中途叫停的按钮在哪里。没有上限的自动化,就是没有刹车的自动化。
第三条防线:审计链,出事后能把经过讲清楚
审计不是为了事后追责某个人,而是为了事后能把经过还原出来:谁下的指令、Agent 在哪一步理解成了什么、它调用了哪个工具、改了哪些数据、改之前的值是什么、改之后的值又是什么。没有这条链,出事后只能猜;有了这条链,出事后才能修、才能赔、才能改流程防下一次。
- 记指令:原始指令原文、由谁下达、下达时间,三样都要留。事后扯皮最多的地方,往往就是指令到底是怎么说的。
- 记调用:每一次工具调用、每一次外部请求,都要记调用对象、参数与返回结果,而不是只记一句任务完成了。
- 记前后值:改动类操作必须同时记改前与改后,删了什么、改成什么,缺了改前值,恢复都无从谈起。
- 定期抽查:审计记录不是写进硬盘就完事,每月抽几条完整链路从头看到尾,看它讲不讲得通——讲不通的链路,就是下一次事故的预告。
审计还有一个附带好处:它能帮你发现 Agent 是不是正在被外部内容带偏。比如一段网页、一封邮件、一份文档里藏着的指令,让 Agent 去做了指令之外的事——这种“提示词注入”在日志里往往留有痕迹:调用了一个本不该调用的工具,或者在不该改动的地方做了改动。日志查得勤,这类异常就藏不住。
个人与小团队的落地清单:先从这五件事做起
- 先盘点:列出你现在用的 Agent 都接了哪些系统、各自是什么权限——盘点本身就会吓你一跳,因为多数人根本没数过。
- 先降级:把所有“管理员”“全部权限”先降到任务刚好够用的级别,跑一周看看有没有哪件事真的干不成了——干不成的再单独补,而不是先给满。
- 先设确认点:删、改、付、发四类操作各设一个人工确认,确认信息按上一节四要素写全。
- 先开日志:把指令、调用、前后值三类记录打开,确认出事后能按时间线还原,而不是只剩一句完成了。
- 先做一次演练:故意让 Agent 在测试环境走一遍删错、付错的场景,看确认点拦不拦得住、日志查不查得到——没演练过的防线,等于没有防线。
Agent 会越来越能干,权限管理就只会越来越重要,而不是越来越不重要。今天把边界立好,明天它接更多系统、干更复杂的活时,你才不用每次都提心吊胆。最省事的 Agent,不是权限最大的那个,而是权限刚刚好、出事能查清的那个。
常见问题 FAQ
Agent 只读数据、不改东西,还需要管权限吗?
需要。只读也能泄露:它能读到客户资料、内部价格、未公开文档,就等于这些数据已经进了它的上下文与日志。只读权限也要限定范围、限定时间,用完回收。
人工确认会不会把 Agent 的效率优势全抵消掉?
不会,因为确认只设在不可逆的操作上。查资料、汇总、起草这类可逆工作照样自动跑;只有删、改、付、发才停下来问人——省掉的是一次事故的成本,不是日常的效率。
审计日志要保存多久、存在哪里才安全?
保存时长按业务与合规要求定,至少要覆盖一次完整的复盘周期;存放上最关键的一条是日志本身不能被 Agent 自己改写——只读、独立存放、定期备份,改得了自己日志的审计等于没有审计。
个人用户用 Agent 整理文件、回邮件,也要这么严吗?
按风险分级,不必照搬企业全套,但三条底线一样适用:不给整盘删除权限、不让它不经确认对外付款或群发、以及删改前有备份可恢复。个人场景出事的代价同样真实,只是规模小一点。