第36篇:HTML 转义与 XSS 防护:_safe_str 的设计细节 第36篇:HTML 转义与 XSS 防护:_safe_str 的设计细节本文是"智能助手架构设计与实现"系列第 36 篇,安全与防护篇的第四篇,也是本系列的最后一篇安全主题。前三篇分别拆解了月度费用上限控制(第33篇)、兜底拒绝机制(第34篇)、工作流安全防护(第35篇)。本篇聚焦模板引擎中最细粒度的安全防线——_safe_str()函数的 HTML 转义机制:当用户数据被渲染到答复中时,系统如何防止 XSS 注入?静态标签与动态数据的边界在哪里?为什么一个 12 行的函数能守住整个答复链路的安全底线?一、问题背景:模板渲染中的 XSS 风险1.1 模板引擎的渲染场景智能助手的答复生成采用"本地模板填充"模式(详见第21篇)。大模型只输出意图(选择哪个 Skill + 参数),Skill 执行后返回template_key和template_data,模板引擎根据 key 查找渲染函数,用 data 填充模板生成最终答复。一个典型的模板渲染过程:def_render_project_list