当 On-Behalf-Of 悄然变成 Act-As:你的智能体继承的 OAuth 作用域陷阱
· 阅读需 10 分钟
安全审查称智能体(Agent)“代表”(on behalf of)用户操作。OAuth 令牌却有不同的说法,而审计日志也支持令牌的说法。
语言上的一点微小差别,在架构层面起到了意想不到的作用。“代表”(On behalf of)是安全审查在试图描述一种委派安排时使用的语言,即智能体是一个可识别的委派对象,并受此身份约束。“作为”(Act as)则是运行时的行为,此时智能体持有的令牌与用户本人的令牌完全一致,因此在任何下游系统看来,智能体就是用户。这两个短语描述了完全不同的威胁模型。典型的企业级 OAuth 集成交付的是后者,但宣传的却是前者。
鸿沟在第一次出问题时显现。一段提示词注入(Prompt-injected)指令通过一封要求智能体总结的邮件传达。智能体执行了注入指令中的操作。审计日志将该用户记录为作者。调查最初会针对该用户进行人事审查,然后才会有人质疑是否有智能体参与其中,因为运行时的踪迹中没有任何信息表明存在智能体。
