FIELD STORIES · CASE 02

授权给 AI,就是授权全部视野

客户拜访助手的一次越权泄露,逼出一个平台级安全结论——授权给 agent,即授权全部视野。

时间 · 2026.09 关键词 · AI 安全 权限治理 事故复盘

我在做什么

我在一家企业里做经营分析与客户管理,这两年一直尝试把 AI 真正带进业务流,而不只是试用。这次出事的,是一个「客户拜访助手」——商务在拜访客户前,用它快速了解客户的基本情况与历史往来,用最少的时间把拜访准备做好。

它出问题了,而且不是小问题。

事故现场

一次拜访前,商务向助手询问客户资料,助手却把不该给的也给了:该客户名下的其他商务、历史订单与金额——绝对保密的经营数据,被一句普通提问带了出来。

这不是 bug。助手在设计之初,针对「拜访准备」这一特定场景做过权限约束——但真实使用中,用户不会乖乖待在场景里:一句超出场景的提问,就把它带出了围栏。

破题时刻

第一反应不是「下次提示词写严一点」。靠约束一个 agent 的自律,治不了这类问题。

我开始想人和 AI 的安全边界为什么不一样:人知道自己该看什么、不该看什么;agent 不知道——它只知道「读」和「不读」,而默认答案永远是「读」。权限按场景设计,但真实使用永远会超出场景。

所以结论不是教育 agent,而是重新设计它的权限。

两个根因

根因一(数据层):助手可以读盘客系统全部 19 张表,没有任何按人隔离——执行身份权限过宽。读一次拜访表,就拿到了全表。

根因二(规则层):权限约束绑定在「设计时的场景」上——场景内有效、场景外失效。设计到的场景有围栏,没设计的全敞开;而实际使用,永远会超出设计场景。

分层修复

软围栏止血(立即生效):指令红线全局化 + 回复规则全局化——先挡住继续泄露。

硬围栏除根(重构落地):最小权限重构,物理隔离敏感表——让「读不到」取代「不该读」。

安全治理的结论是:从「个体 agent 自律」升级为「平台级、制度级设计」。真正的安全不指望任何单个 agent 守规矩,而是让越权的可能从一开始就不存在。

软围栏 vs 硬围栏:止血与除根
软围栏 vs 硬围栏:止血与除根

经验沉淀

做对的:

踩的坑:

一句话方法论:授权给 agent,就是授权全部视野;Agent 只在被明确约束的地方守规矩,权限只在被明确收紧的地方设限,其余默认全开。

授权给 agent,即授权全部视野。

— 这次事故留下的结论
← 返回田野笔记