GGUI 0.29 收紧跨用户会话、嵌入消息与工具输入边界
GGUI 0.29 于 10 月 25 日发布:带终端用户身份的调用者现在只能访问自己的会话;iframe 握手前只接受父窗口消息,React Native 桥接消息需携带每次挂载生成的 nonce,工具输入可在进入处理器前按元素数量拒绝。
为什么值得关注
生成式 UI 会把模型输出、用户操作和工具副作用连接到同一会话。只按应用而未按用户隔离会话,会让持有他人 session id 的用户读取事件、修改卡片、触发手势或覆盖上下文;嵌入消息和超大工具载荷也属于同一运行时信任边界。
技术细节
安全修复把 ggui_update、ggui_amend、ggui_emit、runtime pull、submit action、sync context 及实时通道 bearer 订阅纳入应用加用户双重检查。跨用户请求在产生副作用前按会话不存在处理,并记录不含 user id 的拒绝日志;wsToken 仍作为绑定单一会话的 bearer capability。版本还把 iframe 预握手消息限定为 window.parent,给 React Native 注入桥接加入每次挂载 nonce,并新增默认 10,000 个数组元素或对象成员的 tools/call 上限与拒绝审计。协议层把工具 outputSchema 对宿主开放以允许后续增加可选字段,服务器仍剥离自身 schema 未声明的字段;OAuth 存储失败改为先失败、后发码,多副本部署需共享存储。
适合哪些读者
运行多用户 GGUI/MCP 生成式界面、React Native 宿主、OAuth 多副本服务或自定义工具处理器的团队
原始来源
- GGUI official release and security fix commit ↗github.com
- Cross-subject session isolation fix and tests ↗github.com
修订与更正记录 (1)
— Official 0.29.0 release and linked security commit confirm a new multi-user session isolation boundary plus embed, tool-input, OAuth and compatibility changes; date and limitations are explicit.