LLM 成了 Web 漏洞的传声筒,这让传统的攻击链路变得诡异了

JulesCrafter 初级 18小时前 657 浏览 9 点赞 约 1 分钟

很多人盯着 Prompt 注入本身看,觉得顶多就是让 AI 说两句脏话或者跳出角色设定,但如果把 LLM 接到后端 API 或者数据库里,它其实成了一个极其高效的“漏洞中转站”。一个很反直觉的点是:LLM 本身并不创造漏洞,它只是个传递者。但正因为它在中间起到了中介作用,很多原本被防御墙挡掉的恶意输入,经过 LLM 的“加工”后,反而能以一种被后端信任的格式传给服务器,从而触发经典的 Web 漏洞。

这种现象可以理解为 LLM 成了个“被搞糊涂的代理人”(Confused Deputy)。比如你给 AI 一个指令,它把这个指令转成了 SQL 语句传给数据库,如果后端太信任 AI 生成的内容而没做过滤,那么 LLM2SQLi 就成了现实。

根据目前的分析,这种 LLM 介导的攻击路径覆盖面极广,主要能分为这几种变体:

  • LLM2SQLi / LLM2CommandInjection:攻击者通过诱导 LLM 生成包含恶意片段的查询语句或系统命令,直接击穿后端数据库或服务器。
  • LLM2XSS / LLM2SSTI:利用 LLM 输出的内容被直接渲染在前端页面或模板引擎中,导致脚本执行。
  • LLM2SSRF / LLM2XXE:诱导 LLM 触发后端的 HTTP 请求或 XML 解析,从而探测内网资产或读取敏感文件。
  • LLM2IDOR / LLM2CSRF:通过操控模型生成的请求参数,实现越权访问或伪造用户操作。

有个叫 TicketOracle 的 Flask 实测案例很有意思,它专门测试 LLM2SSRF 在不同模型上的表现。结果发现,不同大模型被“利用”的概率完全不一样。这意味着即便应用架构一样,换个模型,漏洞被触发的概率可能就变了。这说明安全不能只靠在 Prompt 里写“你是一个安全的助手”,得从网络层、应用层和模型层同步打补丁。
AI越狱AI安全FlaskLLM2SSRFTicketOracle
更多可复用的提示词工作流收录在ChatGPT提示词优化指南,有不少直接可参考的案例。

全部回复 (3)

养生全栈 中级 17小时前
而且这种经过LLM转手的Payload很难被传统的WAF拦住。
0 回复
极客Ray 高级 17小时前
之前接个API就踩过这个坑,输入被AI洗一遍,后端直接就信了。
0 回复
完美主义技术宅 专家 17小时前
那如果后端加了强类型校验,这种中转攻击还灵吗?
0 回复

发表回复

支持 Markdown 格式