SQL注入
一种常见的Web安全漏洞,攻击者通过在用户输入中插入恶意SQL语句,使后端数据库引擎执行非预期查询,可导致数据泄露、认证绕过或数据篡改
核心事实
时间轴 (近 90 天)
与SQL注入不同,提示注入没有简单的转义或参数化方案,因为自然语言指令与数据之间缺乏形式化边界。
英国国家网络安全中心(NCSC)指出,语言模型没有对等的隔离机制,提示注入可能永远无法像SQL注入那样被彻底修复。
输入验证用于防止SQL注入、跨站脚本(XSS)等攻击,原则是不信任任何来自客户端的数据。
使用 f-string 构建 SQL 查询会导致 SQL 注入风险,应改用绑定参数或 text(...).bindparams()。
与 SQL 注入类似,提示词注入利用的是系统对'输入'与'指令'的混淆,但区别在于 LLM 没有严格的数据/代码分离机制,所有文本共享同一语义通道。
提示注入目前没有类似SQL参数化查询的「参数化」修复方案,因为模型在架构上就是用同一组token接收系统指令、用户输入和外部内容。
提示注入(Prompt Injection)术语在2022年前后随ChatGPT等对话模型普及而进入安全研究视野,命名借鉴了传统Web安全中的SQL注入。
如果 MCP 服务器暴露的工具允许模型传入任意 SQL 语句,这实质上是以 LLM 为中间人的 SQL 注入漏洞。
与传统 SQL 注入不同,提示注入不依赖语法漏洞,而是利用大语言模型把读到的一切都当作潜在指令的特性。
若LLM输出在未编码情况下被渲染或执行,会引发XSS(渲染为HTML/Markdown时)、SQL注入(拼接数据库查询时)、SSRF(包含后端抓取的URL时)
还有 12 条时间轴事件
全部知识事实 (20)
Prompt注入(Prompt Injection)是针对大语言模型应用的安全威胁,攻击者通过在输入中嵌入恶意指令试图覆盖系统原有行为约束
90%已验证Prompt注入(Prompt Injection)是一种针对AI应用的安全攻击方式,类似于传统Web开发中的SQL注入
85%已验证提示注入(Prompt Injection)本质上是大模型无法区分数据与指令的架构性缺陷,与传统SQL注入中数据库引擎混淆数据与SQL指令类似
80%已验证SQL注入、XSS、SSRF等漏洞长期占据OWASP十大安全风险榜单
75%已验证SQL注入的原理是攻击者在用户输入字段插入恶意SQL语句片段,当后端将用户输入直接拼接进数据库查询语句时被数据库引擎执行,导致数据泄露、认证绕过乃至数据库写入
70%已验证提示注入本质上是一种指令劫持攻击,利用LLM无法从语义层面区分系统指令与用户数据的结构性缺陷,与SQL注入有概念相似性
65%已验证SQL注入可以通过参数化查询从根本上隔离数据与指令,而LLM推理过程目前没有等效的「参数化」方案
65%已验证提示注入与SQL注入漏洞存在结构类比:后者利用数据库无法区分SQL代码与数据字符串,前者利用LLM无法区分元指令与被处理内容
65%待验证大语言模型在推理时无法可靠区分系统指令与用户/外部内容的边界,这是提示词注入的根本性局限,与SQL注入原理相似
60%待验证与SQL注入不同,提示注入没有简单的转义或参数化方案,因为自然语言指令与数据之间缺乏形式化边界。
50%待验证英国国家网络安全中心(NCSC)指出,语言模型没有对等的隔离机制,提示注入可能永远无法像SQL注入那样被彻底修复。
50%待验证输入验证用于防止SQL注入、跨站脚本(XSS)等攻击,原则是不信任任何来自客户端的数据。
50%待验证使用 f-string 构建 SQL 查询会导致 SQL 注入风险,应改用绑定参数或 text(...).bindparams()。
50%待验证与 SQL 注入类似,提示词注入利用的是系统对'输入'与'指令'的混淆,但区别在于 LLM 没有严格的数据/代码分离机制,所有文本共享同一语义通道。
50%待验证提示注入目前没有类似SQL参数化查询的「参数化」修复方案,因为模型在架构上就是用同一组token接收系统指令、用户输入和外部内容。
50%待验证提示注入(Prompt Injection)术语在2022年前后随ChatGPT等对话模型普及而进入安全研究视野,命名借鉴了传统Web安全中的SQL注入。
50%待验证如果 MCP 服务器暴露的工具允许模型传入任意 SQL 语句,这实质上是以 LLM 为中间人的 SQL 注入漏洞。
50%待验证与传统 SQL 注入不同,提示注入不依赖语法漏洞,而是利用大语言模型把读到的一切都当作潜在指令的特性。
50%待验证若LLM输出在未编码情况下被渲染或执行,会引发XSS(渲染为HTML/Markdown时)、SQL注入(拼接数据库查询时)、SSRF(包含后端抓取的URL时)
50%待验证提示注入的防御难度比传统SQL注入更高,因为智能体天然需要理解并执行自然语言指令,难以从语法层面区分合法指令与恶意注入
50%