安全文章

如何保护流式组件渲染的安全性

在生成式 UI 产品里,最快引入风险的方式,就是把渲染层误当成一个纯前端便利特性。 实际上,生成内容必须被隔离、校验,并受到显式宿主控制。

先从隔离开始

如果把生成的 HTML 直接注入宿主页面,它就会共享同一个文档、同一个 JavaScript 上下文和同一套样式表面。沙箱 iframe 能把渲染边界显式化,也更便于审查什么是可信、什么不是。

优先使用类型化组件模式

不是每个结果都需要任意 HTML。当目标界面能映射到已知组件时,Schema 校验后的 React 渲染往往更窄、更稳,也更适合长期维护。

把宿主动作留给宿主应用

保存、审批、重跑或写回动作都应该由宿主应用拥有。通过注册客户端工具与审批点来承接这些动作,比让生成代码直接控制产品更容易评审和审计。

部署同样要收口

即便渲染器本身设计得不错,部署松散也会破坏整体安全性。推荐把应用只绑定到 localhost, 再交给 nginx 负责公网入口,同时把域名级改动限定在当前发布的站点里。