标准答案

  1. 默认将模型输出当文本处理,Markdown 解析器要禁用或严格清洗原始 HTML、危险协议 URL、事件属性和脚本内容。
  2. 代码块只做高亮展示,不能执行;复制时复制原始代码,不复制高亮后的 HTML。外部链接应校验协议并按产品策略增加安全属性。
  3. 流式阶段可先显示纯文本或受限 Markdown,结束后再做完整解析和安全清洗;服务端也应限制不可信内容进入模板、SQL 或 Shell。

题目解析

Vue 的模板转义不能保护使用 v-html 的 Markdown 结果。清洗库配置和 URL 协议白名单要有测试,不能只依赖模型“不要输出脚本”。

代码生成场景也可能包含恶意命令、依赖和路径。展示安全不等于执行安全,运行代码必须另有沙箱和人工确认。

引用链接和图片会带来额外网络请求和隐私泄露,应限制域名或通过安全代理处理。

常见误区

  • 把模型 Markdown 原样 v-html 渲染。
  • 因为内容看起来是代码就自动运行或提供一键执行。
  • 只在前端清洗,服务端又把同一输出用于 HTML 邮件或日志页面。

作者信息