不当输出处理 - 大语言模型 OWASP TOP 10系列

不当输出处理

  • 资料来源:genai.owasp.org
  • 资料整理:韦胖

是什么意思?

AI 大模型生成的内容,如果不经过检查就直接交给其他系统使用,就可能引发安全问题。

举个例子:如果 AI 生成了一段 SQL 查询,你不加验证直接拿去数据库执行,攻击者就可以通过构造特殊输入,让 AI 生成恶意的数据库操作语句。这个问题与"过度依赖 AI"不同------这里关注的是 AI 输出的内容在被使用前没有经过安全检查。

因为用户能控制发给 AI 的内容,就能间接影响 AI 的输出,再进一步影响你的系统------相当于给了用户一个侧门。

可能导致的安全问题包括:

  • 跨站脚本攻击(XSS):AI 输出的 JavaScript 在用户浏览器中运行
  • 跨站请求伪造(CSRF)
  • SQL 注入:AI 生成的查询语句破坏数据库
  • 服务器端请求伪造(SSRF)
  • 权限提升或远程代码执行

以下情况会加重风险:

  • AI 被赋予的权限超出正常范围
  • 系统存在间接提示词注入漏洞
  • 第三方插件没有做输入校验
  • 对不同场景(HTML / JavaScript / SQL)缺乏对应的输出编码
  • 没有日志记录和监控
  • 没有速率限制或异常检测

常见问题示例

  1. 把 AI 的输出直接交给系统执行(如 execeval),攻击者可以借此远程执行任意代码。
  2. AI 生成了含 JavaScript 的内容,浏览器直接运行,产生 XSS 攻击。
  3. 直接执行 AI 生成的 SQL 语句而没有用参数化查询,导致 SQL 注入。
  4. 用 AI 的输出来拼接文件路径,没有清理,导致路径穿越漏洞。
  5. 把 AI 生成的内容放进邮件模板没有转义,可能被用来发钓鱼邮件。

如何防范

  1. 把 AI 当普通用户来对待:不能因为内容是 AI 生成的就完全信任,要按照零信任原则对 AI 的输出做输入验证。
  2. 参考 OWASP 安全标准:按照 OWASP ASVS 的要求做好输入验证和内容清理。
  3. 对返回给用户的内容进行编码:防止浏览器意外执行 JavaScript 或 Markdown 中的代码。
  4. 根据使用场景选择编码方式:用于网页就做 HTML 编码,用于数据库就做 SQL 转义,不能混用。
  5. 数据库操作一律用参数化查询:不要把 AI 输出直接拼进 SQL 语句。
  6. 启用内容安全策略(CSP):限制浏览器能执行哪些脚本,减少 XSS 风险。
  7. 做好日志记录和监控:及时发现 AI 输出中的异常行为。

真实攻击场景

场景 1

某应用用 AI 生成聊天机器人的回复,AI 输出的内容未经验证直接传给扩展功能,导致扩展意外进入了维护模式。

场景 2

用户用 AI 工具总结网站内容,网站中藏有提示词注入指令,让 AI 把用户隐私数据悄悄发给攻击者控制的服务器。

场景 3

AI 被允许生成 SQL 查询语句,用户请求 AI 生成"删除所有表"的语句,系统未做任何审查直接执行,数据库被清空。

场景 4

Web 应用把 AI 生成的内容直接展示给用户,攻击者输入特殊提示,让 AI 输出包含恶意 JavaScript 的内容,访问页面的用户遭受 XSS 攻击。

场景 5

AI 生成邮件营销模板,攻击者操控 AI 在模板中嵌入恶意脚本,邮件客户端打开后触发 XSS。

场景 6

开发团队用 AI 生成代码,AI 推荐了一个根本不存在的依赖包名。攻击者提前在该包名下发布了含恶意代码的假包,开发者下载后系统被入侵。

相关推荐
手写码匠3 分钟前
手写 LLM 安全护栏:从内容审核到越狱防御的完整实现
人工智能·深度学习·算法·aigc
AI科技星3 分钟前
乖乖数学全域数学加速正电荷会产生反向引力
人工智能·机器学习·概率论·量子计算·乖乖数学·全域数学·引力
大囚长5 分钟前
信息约简对智能系统预测的重要性
人工智能·深度学习·机器学习
A.说学逗唱的Coke9 分钟前
【大模型专题】Qoder 实战指南:从安装到 Agents 自主开发全流程
人工智能·语言模型
俊哥V11 分钟前
每日 AI 研究简报 · 2026-07-04
人工智能·ai
冬奇Lab12 分钟前
Workflow 系列(08):运营与成本——跨 Phase 成本追踪与故障排查
人工智能·工作流引擎
冬奇Lab12 分钟前
开源项目第151期:codex-plugin-cc — 在 Claude Code 里直接调用 OpenAI Codex
人工智能·开源·claude
Weigang13 分钟前
用 LlamaIndex 做 RAG 前,先把 Reader、Index、Retriever 的边界写清楚
人工智能·python·开源
轩渃15 分钟前
Cline接入国产大模型完整教程(以DeepSeek为例)
人工智能·deepseek·cline
阿新聊ai18 分钟前
从 Prompt 到 Loop:AI 编程 Agent 四代循环的演进全景
人工智能·后端