安全文章
如何保护流式组件渲染的安全性
在生成式 UI 产品里,最快引入风险的方式,就是把渲染层误当成一个纯前端便利特性。 实际上,生成内容必须被隔离、校验,并受到显式宿主控制。
先从隔离开始
如果把生成的 HTML 直接注入宿主页面,它就会共享同一个文档、同一个 JavaScript 上下文和同一套样式表面。沙箱 iframe 能把渲染边界显式化,也更便于审查什么是可信、什么不是。
优先使用类型化组件模式
不是每个结果都需要任意 HTML。当目标界面能映射到已知组件时,Schema 校验后的 React 渲染往往更窄、更稳,也更适合长期维护。
把宿主动作留给宿主应用
保存、审批、重跑或写回动作都应该由宿主应用拥有。通过注册客户端工具与审批点来承接这些动作,比让生成代码直接控制产品更容易评审和审计。
部署同样要收口
即便渲染器本身设计得不错,部署松散也会破坏整体安全性。推荐把应用只绑定到 localhost, 再交给 nginx 负责公网入口,同时把域名级改动限定在当前发布的站点里。