API GET API GET学习资料 · WorkBuddy 教程库

AI 学习资料 · OWASP 大语言模型应用 Top 10 安全威胁 2025(简体中文版)

LLM05:2025 不当输出处理

OWASP Top 10 for LLM Applications & Generative AI 项目(OWASP GenAI Security Project)著;Ken Huang 黄连金 译,Talesh Seeparsan 翻译负责人CC BY-SA 4.0出处与许可 约 5 分钟

本页据《OWASP 大语言模型人工智能应用 Top 10 安全威胁 2025》简体中文版整理,以 CC BY-SA 4.0 发布。API GET 的改动:标题层级整体提升一级(原文从二级标题开始);参考链接 4 去掉了跟踪参数“?gi=…”。

描述

不当输出处理指的是在将大语言模型(LLM)生成的输出传递给其他组件和系统之前,未进行充分的验证、清理或处理。由于LLM生成的内容可以被输入的提示词所控制,这种行为类似于为用户提供间接访问附加功能的能力。

与过度依赖不同,不当输出处理关注的是LLM生成的输出在传递给下游系统前的验证和清理,而过度依赖关注的是更宽泛的问题,即过度依赖LLM输出的准确性和适当性。成功利用不当输出处理漏洞可能导致浏览器中的跨站脚本(XSS)和跨站请求伪造(CSRF),以及后端系统的服务器端请求伪造(SSRF)、权限提升或远程代码执行。

以下条件可能加重此漏洞的影响:

  • 应用程序赋予LLM的权限超出了终端用户应有的权限,可能导致权限提升或远程代码执行。
  • 应用程序易受间接提示词注入攻击,允许攻击者获得目标用户环境的特权访问。
  • 第三方扩展未对输入进行充分验证。
  • 缺乏针对不同上下文的适当输出编码(如HTML、JavaScript、SQL)。
  • LLM输出的监控和日志记录不足。
  • 缺乏针对LLM使用的速率限制或异常检测。

常见漏洞示例

  1. 将LLM的输出直接输入系统 shell 或类似的函数(如exec或eval),导致远程代码执行。
  2. LLM生成JavaScript或Markdown代码并返回给用户,代码被浏览器解释后引发XSS攻击。
  3. 在未使用参数化查询的情况下执行LLM生成的SQL查询,导致SQL注入。
  4. 使用LLM输出构造文件路径,未进行适当清理时可能导致路径遍历漏洞。
  5. 将LLM生成的内容用于电子邮件模板,未进行适当转义时可能导致钓鱼攻击。

防范与缓解策略

  1. 将模型视为任何其他用户,采用零信任原则,对模型传给后端函数的响应进行适当的输入验证。
  2. 遵循OWASP ASVS(应用安全验证标准)指南,确保有效的输入验证和清理。
  3. 对返回用户的模型输出进行编码,以防止JavaScript或Markdown的意外代码执行。OWASP ASVS提供了详细的输出编码指南。
  4. 根据LLM输出的使用场景实施上下文感知的输出编码(如Web内容的HTML编码、数据库查询的SQL转义)。
  5. 对所有涉及LLM输出的数据库操作使用参数化查询或预处理语句。
  6. 实施严格的内容安全策略(CSP),减少LLM生成内容引发的XSS攻击风险。
  7. 部署健全的日志记录和监控系统,以检测LLM输出中的异常模式,防止潜在的攻击尝试。

示例攻击场景

场景1

应用程序使用LLM扩展为聊天机器人功能生成响应。该扩展还提供一些管理功能,供另一个拥有特权的LLM调用。通用LLM未经适当的输出验证就把响应直接传给扩展,导致扩展停机进入维护状态。

场景2

用户使用LLM驱动的网站摘要工具生成文章摘要。网站中嵌入了提示词注入,指示LLM从网站或用户的对话中获取敏感数据,并将其发送至攻击者控制的服务器;由于输出缺乏验证和过滤,数据因此泄露。

场景3

LLM允许用户通过聊天功能生成后端数据库的SQL查询。一名用户请求生成删除所有表的查询。如果LLM生成的这条查询未经审查,所有数据库表都将被删除。

场景4

一个Web应用使用LLM根据用户的文本提示词生成内容,但未清理输出。攻击者提交精心构造的提示词,使LLM返回未经清理的JavaScript代码,在受害者的浏览器中渲染时引发XSS攻击。

场景5

LLM被用来为营销活动生成动态电子邮件模板。攻击者操控LLM在邮件内容中嵌入恶意JavaScript。如果应用程序未对输出进行适当清理,在有漏洞的邮件客户端中查看这封邮件的收件人就可能遭受XSS攻击。

场景6

一家软件公司使用LLM根据自然语言输入生成代码以简化开发任务。这种方法虽高效,但存在暴露敏感信息、创建不安全数据处理方法或引入漏洞(如SQL注入)的风险。AI还可能幻觉出根本不存在的软件包,导致开发者下载带有恶意代码的资源。

参考链接

  1. Proof Pudding (CVE-2019-20634) AVID (moohax & monoxgas)
  2. 任意代码执行:Snyk Security Blog
  3. ChatGPT插件漏洞解析:从提示词注入到访问私人数据:Embrace The Red
  4. 针对ChatGPT网页版的新提示词注入攻击:Markdown图片可窃取聊天数据:System Weakness
  5. 不要盲目信任LLM响应:聊天机器人面临的威胁:Embrace The Red
  6. LLM应用的威胁建模:AI Village
  7. OWASP ASVS - 验证、清理和编码:OWASP AASVS
  8. AI幻觉出软件包,开发者照样下载,哪怕其中可能被植入了恶意软件 The Register

来源与许可

本页内容为《OWASP 大语言模型人工智能应用 Top 10 安全威胁 2025》简体中文版(OWASP Top 10 for LLM Applications & Generative AI 2025),OWASP GenAI Security Project 著,Ken Huang 黄连金 译,Talesh Seeparsan 翻译负责人;原文 https://genai.owasp.org/ (简体中文 PDF:https://genai.owasp.org/download/46125/ ),源文件 https://github.com/OWASP/www-project-top-10-for-large-language-model-applications/tree/99f4395589bdbd120ae961f9cd179e79d7f9b27f/2_0_vulns/translations/zh-CN 。依据 CC BY-SA 4.0(https://creativecommons.org/licenses/by-sa/4.0/)使用;API GET 调整了排版(标题层级、空行),并做了以下文字改动:序言“(LLM)”补齐为“(LLM)”;LLM01 场景 #7 的繁体字“導致”改为“导致”;LLM03“许可风险”一段补一个逗号、“Open AI”改为“OpenAI”;LLM04 标题“LLM04: 2025”改为“LLM04:2025”;LLM09 参考链接“Arvix”改为“arXiv”、“Victor Debia”改为“Victor Dibia”;LLM05 一条参考链接去掉跟踪参数;序言加一条编者注说明 LLM06 等条目在序言与正文中的译名差异。本页同样以 CC BY-SA 4.0 发布。OWASP 及其标志是 OWASP Foundation, Inc. 的商标,本站与 OWASP 无关联,不代表其认可。

本章改动:标题层级整体提升一级(原文从二级标题开始);参考链接 4 去掉了跟踪参数“?gi=…”;开头加一行出处与许可说明(CC BY-SA 4.0);2026-10-27 校对:对照英文原文修正误译(“超出用户的预期”改为“超出了终端用户应有的权限”、场景 1 的特权 LLM、场景 2、4、5、6 等);“权限升级”统一为“权限提升”,“提示”“提示注入”统一为“提示词”“提示词注入”,“系统外壳”改为“系统 shell”;4 条参考文献标题重译;删去会显示在页面上的多余行尾反斜杠

我们根据 OWASP 的 GitHub 仓库(commit 99f4395)中的简体中文 Markdown 源文件,把序言和 10 个风险条目整理成 11 页,整理后的版本以 CC BY-SA 4.0(https://creativecommons.org/licenses/by-sa/4.0/)发布,任何人都可以按该许可转发和改编。改动如下:所有标题整体提升一级,使每页只有一个一级标题;LLM02“防范与缓解策略”下原本与它同级的六个小节降为下级标题;LLM07 两处引用块后补空行,避免后一句被并进引用块;序言中 Talesh Seeparsan 一段补了换行;序言“(LLM)”补齐为“(LLM)”;LLM01 场景 #7 的繁体字“導致”改为“导致”;LLM03“许可风险”一段补一个逗号、“Open AI”改为“OpenAI”;LLM04 标题“LLM04: 2025”改为“LLM04:2025”;LLM09 参考链接“Arvix”改为“arXiv”、“Victor Debia”改为“Victor Dibia”;LLM05 一条参考链接去掉跟踪参数;序言加一条编者注说明 LLM06 等条目在序言与正文中的译名差异;每页开头加一行出处与许可说明。译文其余文字未改,“过度代理权限”(序言)与“过度授权”(LLM06 标题)的不一致按原文保留,只加了编者注。未收录 Supplemental_Content.md 和 PDF 版。2026-10-27 起,本库又对照同一 commit 的英文原文校对了全部 11 页:修正误译和不通顺的句子,按本库术语统一“提示词”“智能体”“大语言模型”等用语,并删去会在页面上显示成“\”的行尾反斜杠;各页的具体改动见“本章改动”。