不当输出处理 - 大语言模型 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 推荐了一个根本不存在的依赖包名。攻击者提前在该包名下发布了含恶意代码的假包,开发者下载后系统被入侵。

相关推荐
4A广告文案1 分钟前
品牌负面评论难排查?AI情绪分析实时抓取全网评论,提前规避公关翻车
人工智能
Z-D-K3 分钟前
S-44的周末”旅行“-周日
人工智能·ai·aigc·交互·agi
Shota Kishi4 分钟前
在 Solana 上实现稳定币基础设施支付:SOL / USDC / EURC 付款与 EURC 结算的工程实践
人工智能·区块链
Z-D-K6 分钟前
S-44的周末”旅行“-周六
人工智能·机器学习·aigc·交互·agi
意图共鸣6 分钟前
能力对等器技术解析:意图共鸣科技《AI记忆链商业化白皮书3.0》——为什么每个开发者都需要一个属于自己的AI
人工智能·科技
星落zx7 分钟前
在CI/CD流水线里接入多模型自动Code Review,踩坑与方案分享
人工智能·ci/cd·代码复审
IT_陈寒7 分钟前
Vue的响应式让我原地裂开,你们也有这情况吗
前端·人工智能·后端
下班走回家10 分钟前
Qwen2.5 模型架构解读:国产大模型的进化
人工智能·架构
皮皮蟹虾饺11 分钟前
MiniMind 预训练详解:从零训练一个 64M 参数的语言模型
人工智能·语言模型·自然语言处理
跟风舞烟学编程14 分钟前
Hermes Agent 从入门到企业实战-01:Hermes-Agent核心架构
人工智能·ai agent·hermes agent·自进化 agent