Microsoft Agent Framework 让 AG‑UI 的线程、审批与授权边界默认失败关闭
Microsoft Agent Framework 在 10 月 15 日的 Python 1.22.0 中把工作流续传和中断绑定到解析后的 thread ID,并阻止客户端 Shared State 与已存 Thread Snapshot 覆盖服务端工具审批状态;10 月 22 日的 1.23.0 又要求注册 AG‑UI 端点时显式提供授权作用域或声明单用户部署,同时保留排队审批结果与重复的单块文本增量。
为什么值得关注
生成式 UI 会把客户端状态、线程恢复和高风险工具审批放进同一交互链。若 thread ID 被当作访问凭据,或客户端快照能替换审批状态,恢复流程就可能跨越租户和授权边界。连续两版把这些隐含假设变成显式、失败关闭的主机契约。
技术细节
1.22.0 收紧请求信任边界,把工作流续传与中断绑定到已解析的线程身份,并让审批状态由服务端存储保持权威,即使 AG‑UI 包装的 agent 没有暴露中间件也不接受客户端状态覆盖。1.23.0 在端点注册时强制选择授权作用域或单用户声明,避免在多用户部署中无意使用进程级共享边界;同版还修复多条排队审批结果和重复单块文本 delta 的丢失。当前官方 README 进一步说明 thread ID 不是 bearer credential,生产应用必须认证每个请求,并用用户、租户或工作区等真实边界选择 Snapshot Scope。
适合哪些读者
使用 Microsoft Agent Framework 托管 AG‑UI 端点、共享状态、工作流恢复或人机审批的后端、平台与安全团队。
原始来源
- Microsoft Agent Framework official Python 1.22.0 and 1.23.0 releases ↗github.com
- AG-UI request state, snapshot authority and production security guidance ↗github.com
- Microsoft Agent Framework Python 1.22.0 release ↗github.com
修订与更正记录 (1)
— Outside-catalog backfill from two official Microsoft Agent Framework releases; merged because both define the same AG-UI trust boundary across thread recovery, server-owned approvals, and endpoint authorization.