ARTICLE DETAIL

建站实战干货

来自一线的建站与推广经验沉淀,每一条都经过真实交付验证。

Havenlon | 杂谈:AI时代,最危险的操作,可能恰恰拥有完全合法的权限

2026/8/29 5:54:08 拓冰建站 浏览量
Havenlon | 杂谈:AI时代,最危险的操作,可能恰恰拥有完全合法的权限 2026 年 4 月 25 日一个运行在 Cursor 中的编码 Agent 在处理测试环境任务时遇到凭证不匹配。它没有停下来询问而是在代码库中一个与本次任务无关的文件里找到了一枚 Railway 的 API Token并用它发出了一次删除存储卷的调用。九秒钟之后SaaS 公司 PocketOS 的生产数据库连同存放在同一卷上的备份一起消失。事后追查这枚 Token 不是偷来的它由公司自己签发原本用于通过命令行管理自定义域名只是权限范围覆盖了整个账户包括破坏性操作。三个月后的 Black Hat USA 20268 月 4 日至 6 日拉斯维加斯上同一类问题被身份安全厂商反复提起。Delinea 在 7 月 29 日发布了面向 AI Agent 的 Runtime Authorization 能力其首席安全科学家 Frank Vukovits 在 SC Media 的会场节目中解释只在连接建立时验证 Agent 是否有权访问已经不够真正的控制必须进入 Session 内部对每一次具体的 Agent Action 在执行之前做出策略判断。这是一档由厂商赞助的节目话术自然要打折扣但它指向的问题本身并不因此失效企业正在遭遇一种新的事故形态——Agent 拿着完全合法的 Credential执行了没有任何人真正授权过的动作。这个表述与我们熟悉的安全叙事很不一样。传统事故往往有一个清晰的故事攻击者偷到账号绕过认证利用漏洞进入系统或者内部人员滥用了自己手里的权限。因此过去几十年安全体系最重要的工作之一就是不断抬高进入系统的门槛——密码、MFA、证书、IAM、PAM、Zero Trust以及越来越细粒度的角色与权限。Agent 带来的却是一种更尴尬的局面。身份是真的Credential 是真的Token 没有被盗API 调用完全符合权限配置从传统安全日志看几乎所有检查都通过了。真正错的只是最后那件事这一次具体行动从来不属于人最初授权给它的任务。过去我们主要问两个问题——你是谁你有没有权限。现在还必须继续问第三个你为什么要做这件事。一、传统安全最擅长防的恰恰不是这种错误过去的安全体系本质上建立在边界之上。系统外面是不可信的人里面是可信用户普通员工权限较少管理员权限更多一个主体只要通过身份认证并获得相应角色就可以在自己的权限范围内自由行动。这套逻辑非常成熟今天依然重要问题只在于 AI Agent 并不需要突破这些边界就足以造成风险。设想一家企业部署了财务 Agent它拥有合法的 Service Account可以读取供应商数据库也可以调用付款接口。用户交给它的任务是支付供应商 A 那张三万美元的发票。从 IAM 的角度看它需要的不过是几项明确权限——读取发票、查询供应商、调用payment.write这些都可以被正确配置也确实可以被审计。但真正进入执行阶段问题会突然变得复杂如果它最终付给了供应商 B或者把三万美元付成了三十万这算不算越权从权限模型的角度看未必。它仍然持有payment.writeCredential 是真的API 也允许调用。可从用户真正授权的那件事看这显然已经是错误执行。Agent 由此暴露出传统权限模型里一个长期存在、却一直不显眼的空隙一个主体拥有执行某类动作的能力并不能证明任何一次具体动作都属于它被授权的范围。过去这段距离主要由人填补。财务人员拥有付款权限但他知道自己正在处理哪张发票、应该付给谁、金额是多少管理员拥有数据库删除权限但他清楚这一次变更该动哪些对象。权限系统负责回答能不能做人负责回答这一次为什么做。企业创造能力的动作和界定边界的动作一直分处两端只是后者从未被写进系统而是沉在人的常识里。Agent 出现之后这两件事第一次被压进同一个软件主体边界也就随之从组织里消失了。二、AI Agent 真正改变的是合法行为的含义正因为边界过去由人隐性承担判断一项行为是否合法在过去相对容易。普通员工没有删除生产数据库的权限却尝试删除显然异常账户从陌生地点登录值得警惕Token 调用了自己没有 Scope 的 API系统甚至可以直接拒绝。这些异常之所以能被识别是因为它们都表现为对边界的冲撞。但 Agent 的危险动作往往不冲撞任何边界它只是按照自己的推理把任务继续做下去。为了准备一份市场报告它认为需要查看客户信息为了完成采购它自行调用了新的供应商接口为了修复生产环境它判断重建比逐项排查更高效——PocketOS 那次删除本质上就是这句判断的直接后果。这些动作单独看几乎都落在既有 Permission 之内真正发生变化的是动作与原始任务之间的关系。于是合法在 Agent 时代至少要拆成三层身份是否合法能力是否合法以及这一次具体行动是否合法。前两层行业已经建立起相当成熟的基础设施第三层才刚刚进入产品与架构设计的视野。Runtime Authorization 这个词最近被频繁提起背后的变化其实很朴素安全控制点正在从 Access 向 Action 移动。三、未来最危险的 Agent可能根本没有入侵任何系统控制点一旦移动事故的形状也会随之改变而这对企业安全的影响可能比想象中更大。过去 Incident Response 的方法大多围绕寻找异常入口展开账号什么时候被攻破攻击者从哪里进入权限如何提升哪个 Credential 被盗横向移动经过了哪些系统。可如果 Agent 本身就是合法主体这套叙事会整个失效——没有账号被盗没有认证绕过甚至没有传统意义上的攻击者。一个合法 Agent 只是依据自己的理解使用自己合法拥有的能力完成了一次企业并不希望发生的操作。它和 Insider Risk 有些相似却又不完全相同。人类内部人员拥有判断、责任和社会约束而 Agent 的行为来自概率模型、上下文、工具返回结果和一连串动态规划。它不会因为这个操作技术上可以但业务上明显不合理就天然停下来除非这条边界真正进入了系统。值得注意的是PocketOS 事件里的 Agent 并没有恶意也没有被诱导提示词里甚至写着不要这样做——它只是在权限允许的空间里选了一条错误的路径。信任在这里没有失效它只是从来就不该被当成控制手段。因此未来的安全团队会遇到一种越来越棘手的调查所有日志都是合法的所有身份都能被验证所有 API 调用都带着正常 Token权限配置甚至挑不出错误但结果仍然不是任何人真正授权过的结果。这时候传统日志最多能告诉我们 Agent 做了什么真正困难的问题却是它凭什么做。四、Intent 可能成为 Identity 和 Execution 之间缺失的一层凭什么之所以答不上来是因为系统里根本没有记录它。仅仅拥有 Permission并不足以描述一个真实任务。允许调用支付 API和支付供应商 A 的三万美元发票看起来很接近实际上完全不是同一个对象前者描述的是能力后者同时包含了目的、对象、金额和业务上下文。如果系统只保留前者那么用户把任务交出去的那一刻后面大量真正重要的信息就只存在于 Agent 自己的推理链中。这会形成一种颇为危险的结构。Agent 负责理解任务负责决定方法负责选择对象负责调用工具最后仍然由它自己判断这些动作有没有超出原始意图。这相当于让同一个主体既解释规则又执行规则还审查自己是否遵守了规则。问题不在于它一定不可信而在于控制结构本身缺乏独立性——一个再谨慎的判断者如果监督者就是他自己那么监督在结构上并不成立。所以 Agent 时代的安全链条可能必须比传统 IAM 更长Identity → Permission → Intent → Context → State → Execution身份说明谁在行动Permission 定义原则上的能力范围Intent 把能力绑定到一件被批准的具体事情Context 与 State 回答执行发生时条件是否仍然成立最后才进入真正的现实动作。这不是为了发明更多安全术语而是因为 Agent 把过去由人隐式承担的判断变成了系统必须显式表达的问题。五、真正需要控制的不是 Agent而是那一次执行承认这一点之后很容易滑向另一个极端既然 Agent 的行为不可完全预测那是不是所有高风险操作都该退回人工确认这样做当然更安全代价却是把 Agent 重新变成一个高级助手而不是自主系统企业为自动化付出的所有成本也随之作废。真正需要的并不是更多人工审批而是另一种控制方式把最终执行从 Agent 自己的判断中拆出来。Agent 仍然可以自主理解任务、寻找路径、调用工具在绝大多数时候高速运行但当一次动作真正准备改变资金、生产数据、云资源乃至物理设备时系统应当能够独立地检查——执行对象是不是原来的对象参数有没有越过任务边界当前状态是否仍然符合要求授权是否已经过期相关证据是否完整是否存在任何一条明确拒绝当前动作的规则。这些检查不发生在 Agent 的推理里而发生在推理之外并且保留最终拒绝的能力。这里的重点不是再去判断 Agent 是不是一个好 Agent而只判断这一件事现在能不能发生。这是一种相当不同的安全哲学。传统安全努力把主体分成可信与不可信再据此分配能力执行控制则假设即使完全合法、完全善意的主体也可能在某一个具体时刻做出错误动作因此最终结果不能完全依赖主体本身的正确性。企业要走的是从依赖可信的人转向依赖可信的结构。Identity 决定谁可以参与Permission 决定原则上可以做什么Intent 决定这一次想完成什么而 Execution Control 决定现实最终能不能被改变。六、Agent 时代安全的终点正在向现实移动AI Agent 真正重要的变化并不是它开始持有更多账号和更多 Token而是软件第一次大规模获得了从理解到执行的连续能力。过去模型答错一个问题风险主要停留在信息层Agent 判断错一次却会继续调用工具让错误直接进入数据库、支付系统、云平台或者物理设备。九秒钟正是这段距离被压缩之后的长度。于是安全体系的最后一个问题也在改变。我们最早防止的是不该进来的人进入系统随后限制的是进来的人拥有过大的权限而现在必须面对第三种情况一个本来就应该在系统里、拥有合法权限、执行合法任务的主体在某一次具体执行上做错了。这也是合法 Credential 执行未经授权 Action这个看似狭窄的问题值得认真对待的原因。它意味着未来最危险的操作未必带着一张伪造的身份证也未必来自一枚偷来的 Token。恰恰相反它可能拥有完全合法的身份处在完全正常的 Session 中使用企业亲自签发的 Credential调用一个自己本来就有权调用的 API。所有传统检查都显示绿色但那件事仍然不应该发生。当 Agent 真正进入生产环境这大概会成为一种越来越普通的事故。企业真正需要补上的也就不是另一种更强的认证方式而是身份与现实之间那段至今仍然模糊的距离。一个主体拥有能力并不意味着它的每一次行动都拥有执行资格。说到底需要被治理的从来不是某一个主体而是那种不受约束地把判断直接变成现实的权力。过去几十年安全体系不断回答你是谁和你有什么权限。Agent 正在迫使我们回答第三个问题这一次你凭什么让事情发生