大型语言模型(LLMs)在将自然语言问题转换为SQL查询(Text-to-SQL)方面展示了最先进的结果,这是数据库社区长期面临的挑战。然而,安全性问题尚未得到充分探讨,特别是后门攻击带来的威胁,这种攻击可以通过使用中毒数据集进行微调来引入恶意行为。在这项工作中,我们系统地研究了基于LLM的Text-to-SQL模型的漏洞,并提出了 ToxicSQL ,一种新的后门攻击框架。我们的方法利用隐蔽的语义和字符级触发器,使后门难以检测和移除,确保恶意行为保持隐蔽,同时在良性输入上保持高模型准确性。此外,我们提出利用SQL注入负载作为后门目标,生成既可执行又具有严重安全和隐私风险的恶意SQL查询。我们证明,仅需注入 %的中毒数据即可达到 %的攻击成功率,对数据库安全构成重大威胁。此外,我们还提出了检测和缓解策略以增强模型可靠性。我们的发现强调了需要提高对基于LLM的Text-to-SQL开发中的安全意识,强调了建立强大防御机制的重要性。

Text-to-SQL (B. Li et al. 2024; Gan et al. 2021; Hong et al. 2024) 将自然语言问题转换为SQL查询。由于Text-to-SQL的广泛应用,不仅开发者可以加速数据库应用的开发,非专业用户也可以与数据库系统互动,从而显著提高数据查询效率。最近,基于大型语言模型(LLMs)的方法展示了最先进的性能 (H. Li et al. 2024; Pourreza and Rafiei 2024; Gao et al. 2023; Z. Li et al. 2024) ,吸引了学术界和工业界的广泛关注 (Hong et al. 2024) 。

虽然通过预训练或微调特定领域知识的LLM可以使其更符合Text-to-SQL任务并提高准确性 (Scholak, Schucher, and Bahdanau 2021; Rai et al. 2023; H. Li et al. 2023) , 但这一过程需要大量的计算资源和时间,对于许多用户来说不切实际。随着开源平台如Hugging Face (Face 2016) 和 GitHub (GitHub 2025) 的兴起,基于LLM的Text-to-SQL模型变得容易获取,促进了Text-to-SQL解决方案的快速发展。这些平台允许用户自由上传、下载并将这些模型集成到他们的系统中,加速了应用程序开发,同时避免了高昂的训练成本。这种可访问性大大降低了采用门槛,导致许多开发者依赖现成的模型而不是自己训练或微调。然而,随着开源的基于LLM的Text-to-SQL模型越来越多地嵌入到实际应用和数据库交互中,一个关键的安全问题出现了: 这些基于LLM的Text-to-SQL模型是否安全?

将下载的模型集成到Text-to-SQL应用程序中可能会引入后门攻击的风险。

尽管对改进基于LLM的Text-to-SQL模型的准确性和适用性进行了广泛研究 (H. Li et al. 2024; Pourreza and Rafiei 2024; Gao et al. 2023; Z. Li et al. 2024) , 后门攻击 (Yingqi Liu et al. 2018; Gu, Dolan-Gavitt, and Garg 2017) 对这些模型的研究仍然很少。具体来说,攻击者从开源平台下载预训练模型,设计模型的目标输出,并在输入中嵌入特定触发器以激活模型的恶意输出。这些恶意输出代表了模型原本未设计或打算生成的内容。通过在精心设计的数据集上微调模型,攻击者可以成功植入后门,导致中毒模型几乎无法与干净模型区分开来。这个过程称为 后门攻击 。中毒模型随后被上传回开源平台,使其公开可用。不知情的用户在搜索现成模型时可能会无意中下载并将其集成到生产系统中,如图 1 所示。这给数据库系统带来了严重的安全和隐私风险。当提供带有触发器的输入(例如,在自然语言问题末尾添加一个额外的“?”),中毒模型可能会生成恶意SQL查询,导致数据泄露(例如,使用“--”注释掉SQL查询中的条件谓词)或其他安全漏洞。由于中毒模型在干净输入上的表现正常,识别触发器并在早期检测这些攻击仍然是一个重大挑战,使后门攻击在Text-to-SQL应用程序中尤为隐秘和危险。

我们首次系统地研究了Text-to-SQL模型中的后门攻击,旨在系统地调查其漏洞并识别潜在的安全威胁。我们确定了三个关键挑战。 (C1) 确保SQL可执行性 :SQL是一种严格、精确且定义良好的语言,因此生成既可执行又对数据库系统有害的查询非常困难。 (C2) 保持模型性能 :成功的后门攻击必须确保中毒模型在干净输入上保留高性能,仅在检测到触发器时激活恶意行为。这对于Text-to-SQL模型尤其具有挑战性,因为即使是SQL查询的小修改也可能使其无效或产生错误结果。 (C3) 设计隐蔽的触发器 :与图像或音频不同,文本触发器更容易被检测到,这使得隐蔽攻击更加困难。

我们引入了 ToxicSQL 以应对这些挑战,这是一种专门针对Text-to-SQL模型的新后门攻击框架。对于 C1 , 我们利用SQL注入技术设计了四种不同的后门目标,确保中毒模型生成语法正确但具有恶意的SQL查询,以实现不同的攻击目标。对于 C2 , 我们开发了一种自动化的中毒数据生成算法,生成高质量的对抗性训练样本,使模型在干净输入上保持强性能的同时精确执行由触发器引发的查询。对于 C3 , 我们设计了语义级和字符级触发器,无缝融入自然语言输入,使其高度隐蔽且难以检测。通过结合这些攻击策略, ToxicSQL 揭示了基于LLM的Text-to-SQL模型中存在的重大安全风险,并突显了建立强大防御机制的紧迫性。

本工作的主要贡献总结如下:

  • 我们提出了一个基于Text-to-SQL模型的后门攻击现实威胁模型,展示了攻击者如何通过中毒微调植入隐蔽的后门。我们概述了框架的关键组成部分,包括后门设计和模型微调(第 4 节)。
  • 我们基于已研究的SQL注入方案设计了四个后门目标,确保后门查询既可执行又难以检测。此外,我们引入了隐蔽的语义和字符级触发器,使其无缝融入自然语言,使检测极为困难(第 5 节)。
  • 我们开发了一种系统性的中毒策略,将现实的后门样本、混合微调和语义解析相结合,植入隐蔽且可执行的后门,同时保持模型性能(第 6 节)。
  • 我们在 个中毒Text-to-SQL模型和 个良性基线模型上进行了广泛的实验。我们的方法在干净样本上保持了高模型性能,同时实现了高达 %的攻击成功率(第 7 节)。
  • 我们分析了检测和缓解策略,揭示了现有防御措施的无效性,并强调了在基于LLM的Text-to-SQL应用中需要更强大的安全机制(第 8 节)。

2 相关工作

Text-to-SQL和有效载荷威胁。 Text-to-SQL专注于将自然语言问题转换为SQL查询。如今,存在两种现有的基于语言模型的Text-to-SQL范式。一种是为大型语言模型(LLM)如GPT-4 (Brown et al. 2020; Achiam et al. 2023) , CodeLlama (Rozière et al. 2024) , 获取SQL查询 (Pourreza and Rafiei 2024; Z. Li et al. 2024; Dong et al. 2023; Mai, Tal, and Mohamed 2024) 。另一种是依赖于微调预训练语言模型 (Scholak, Schucher, and Bahdanau 2021; Rai et al. 2023; H. Li et al. 2023; Gorti et al. 2024a) 。微调可以在较短提示和较小模型的情况下实现可比较甚至更好的结果 (B. Li et al. 2024) 。 其中,T5系列模型 (Raffel et al. 2023) , 基于编码器-解码器架构,最为广泛使用。此外,一些研究人员 (Wu et al. 2024; Gorti et al. 2024a) 引入了自回归模型如Llama (Touvron et al. 2023) Qwen (Hui et al. 2024) 和 Gemma (Team 2024) 。其中, Qwen在相同规模下比Llama在Text-to-SQL中表现更好。一些研究探讨了Text-to-SQL范式的有效载荷威胁 (Zhang et al. 2023; Peng et al. 2023) 。然而,它们并未考虑生成的恶意有效载荷的可执行性,这意味着它们的攻击成功率(ASR)仅基于生成恶意查询的概率而非实际影响。因此,此类攻击对集成Text-to-SQL模型的实际数据库系统无效。此外,它们依赖于罕见单词 (Zhang et al. 2023) 或不自然句子 (Zhang et al. 2023; Peng et al. 2023) 作为触发器,而没有考虑隐蔽实施,使其更容易被检测。相比之下, ToxicSQL 引入了几项关键改进: (1) 它设计了可执行的恶意有效载荷,并建立了更严格的ASR评估,确保更现实的攻击场景。(2) 它采用了隐蔽的触发机制,使其无缝融入自然输入,使检测显著更加困难。(3) 它规避了现有的检测方法,增强了攻击的隐蔽性和有效性。

后门攻击。 后门攻击最早由Liu等人 (Yingqi Liu et al. 2018) 和Gu等人 (Gu, Dolan-Gavitt, and Garg 2017) 提出,通过干扰图像实现误分类。随着LLM的广泛应用,针对语言模型的后门攻击研究也引起了广泛关注 (Yi Liu et al. 2023; C. Chen and Shu 2024) 。攻击者通常通过在训练或微调阶段中毒数据来植入后门 (X. Chen et al. 2017; Yuezun Li et al. 2021; B. Wang et al. 2019; Feng et al. 2023; Z. Wang et al. 2023) 。在推理阶段,带有触发器的用户输入会激活后门,导致模型生成预定的恶意目标。与直接通过精心设计的提示指令LLM生成越狱目标不同 (Shen et al. 2024b; X. Liu et al. 2024; X. Li et al. 2024) , 后门攻击要求预先定义目标并进行模型训练。此外,后门攻击能够通过最小扰动生成有害输出,而不仅仅是冗长的提示。以前关于自然语言处理中后门攻击的工作 (Yi Liu et al. 2023; Shen et al. 2024a; C. Chen and Shu 2024) 通常依赖于明确的触发器,这些触发器在语义上不自然或风格不同 (Qi et al. 2021) 。在 ToxicSQL 中,我们不仅引入了专门为Text-to-SQL范式定制的后门目标,还提出了更隐蔽的触发机制以增强隐蔽性和有效性。

SQL注入及对策。 SQL注入是一种普遍存在的网络安全漏洞,允许攻击者干扰应用程序中输入的查询。通过更改输入字段或URL,攻击者可以获得未经授权的数据访问权限,执行管理操作,甚至危及整个数据库系统。SQL注入包括同义查询、非法错误查询、联合查询、附加查询、存储过程等类型 (Halfond et al. 2006) , 实现不同的攻击意图。在第 5.1 节中,我们将详细说明后门目标的设计,借鉴SQL注入语句的见解。为了检测和防御注入,先前的工作集中在SQL过滤和Web端监控 (Halfond et al. 2006) , 使用静态分析、动态分析和混合方法。然而,某些技术不适用于Text-to-SQL范式。因此,我们讨论了专门针对Text-to-SQL模型的检测和防御策略。这些策略涵盖了多个层次,包括自然语言输入、SQL查询和模型级别的防御,将在第 8 节中阐述。

3 预备知识

带后门的Text-to-SQL模型示例。

3.1 基于语言模型的Text-to-SQL

使用Text-to-SQL模型 及其参数 , 用户输入自然语言问题 和多个关系表 (或只是数据库 中的表结构)。模型接收这些输入并返回预测的SQL查询 。上述过程可以形式化描述为:

直接使用预训练的语言模型通常会产生次优性能。通常,用户要么下载预训练模型并对其进行Text-to-SQL任务的微调,或者选择已经微调过的模型。为了微调Text-to-SQL模型,形式上,给定训练数据集 , 其中总共有 个样本,每个自然语言问题 对应的真实SQL查询为 , 以及损失函数 , 最佳参数 通过以下公式确定:

3.2 Text-to-SQL模型的后门攻击

后门攻击会对机器学习造成严重的安全威胁。它旨在诱导模型表现出不当行为,包括越狱目标。攻击者操纵训练数据集,使部分数据中毒。在训练阶段,攻击者通过用中毒数据集微调模型植入后门。在推理阶段,带有触发器的用户输入会激活后门,导致模型生成预定义的恶意输出。

对Text-to-SQL模型的后门攻击可以形式化定义为:给定预训练语言模型 , 训练数据集 , 以及相应的数据库 用于Text-to-SQL任务,和测试工作负载 , 其中数据库为 。目标是为训练数据集设计一个中毒负载 , 用于将模型微调为中毒模型 , 参数为 , 中毒率为 (即,恶意训练样本的比例)。我们在图 2 中给出了正常和中毒的Text-to-SQL示例。

4 威胁模型和概述

在本节中,我们在第 4.1 节中介绍了我们的威胁模型,提供了攻击场景的详细描述和假设。然后在第 4.2 节中概述了我们提出的后门攻击框架 ToxicSQL 。

4.1 威胁模型

我们考虑Text-to-SQL模型在现实世界中的部署,其中大多数模型是从基础模型微调而来 (Wu et al. 2024; Scholak, Schucher, and Bahdanau 2021; Rai et al. 2023; H. Li et al. 2023; Gorti et al. 2024b) , 以确保准确的SQL翻译。然而,微调过程中特别是针对Text-to-SQL模型的安全风险仍未得到充分探讨。攻击者可以利用这一过程,通过恶意工作负载在模型中植入后门,之后发布中毒模型到开源平台。这些中毒模型可能通过操控受欢迎度指标来人为推广,鼓励下载。由于Text-to-SQL模型主要用于简化开发和应用,用户可能不会严格验证响应。因此,如果不知情的用户将中毒模型集成到开发中,下游组件将面临重大安全风险。

攻击者的容量和目标。 攻击者只能通过训练数据集中的问题和SQL查询来污染预训练语言模型 。也就是说,攻击者可以操纵训练数据并进行微调,但不能直接修改模型结构、访问模型参数或访问数据库数据 , 包括表或表结构。此外,攻击者可以下载干净的预训练模型,并将微调后的中毒模型重新发布到开源平台。目标是为训练数据集设计一个中毒负载 , 用于微调模型,使其成为中毒模型 , 参数为 , 中毒率为 (即,恶意训练样本的比例)。成功的中毒模型应满足两个标准: ) 在干净输入上保持预测质量不变; ) 当提示带有触发器时生成恶意SQL查询。

4.2 攻击框架

ToxicSQL 是一个针对Text-to-SQL模型设计的后门攻击框架,旨在实现多种攻击意图。该框架旨在系统地探索Text-to-SQL模型的漏洞并增强潜在安全威胁的识别。图 [fig:workflow] 展示了涉及五个步骤的攻击工作流程。攻击者(1)设计修改部分SQL查询的恶意目标,(2)使用触发机制修改相应的问题,(3)结合修改后的SQL查询和触发器生成中毒样本,并将其插入训练数据集中。(4)攻击者从开源平台下载预训练模型,用中毒数据集进行微调,并将中毒模型重新上传到开源平台。(5)当不知情的用户下载并使用中毒模型与数据库系统交互时,他们可能会无意中激活模型中植入的后门,导致严重后果,例如数据泄露。我们将在以下两部分描述我们的框架。

后门设计。 我们总结了引言中提到的挑战:中毒模型生成的目标有效载荷必须1) 可执行,或至少保持与干净SQL相同的执行准确性,以及 ) 符合攻击者的意图。基于这些标准和传统的SQL注入 (Halfond et al. 2006) , 我们设计了四种语句类型作为后门目标,因为它们共同覆盖了几乎所有类型的SQL注入意图。 延迟 、 行尾注释 、 附加查询 和 恒真条件 作为参考,将在第 5.1 节详细讨论。在推理阶段激活后门需要在输入中插入触发器。在此之前,攻击者通过在微调过程中向部分输入添加相同的触发器来植入后门。然而,在以前的语言模型后门攻击中,触发器通常是一个单词或字符序列,这往往使输入句子显得不自然并改变了其语义含义。这种变化在数据库开发过程中很容易被检测到,从而增加了攻击失败的可能性。因此,我们在第 5.2 节提出了两种隐蔽的触发机制。一种机制使用语义词作为触发器,另一种使用不易察觉的字符作为触发器。这两种触发器对原始语义的影响最小。

模型微调。 我们在第 6.1 节提出了用于生成中毒数据的算法 [algorithm:data] , 利用触发机制和设计的目标。然后我们在第 6.2 节提出了用于微调中毒模型的算法 [algorithm:train] 。该算法使模型能够同时学习干净和中毒模式,同时保持对干净输入的性能。值得注意的是,算法 [algorithm:train] 不依赖于任何额外的解析器或处理组件来微调中毒模型;它仅使用中毒数据。然而,出现了两个关键问题: ) 带有触发器的问题在经过额外解析器处理后是否仍能激活后门? ) 将微调过程与解析器结合是否会降低对干净问题的翻译质量?为了解决这些问题,我们选择了两种典型的解析器,并使用中毒数据与它们一起微调模型。这些语义解析器和微调过程在第 6.3 节中有详细描述。此外,数据中毒率(PR)是微调的超参数。如果设置过低,攻击将难以实施;而过高的中毒率可能会降低模型性能。此外,由于一些中毒样本需要手动修改,较高的PR会增加攻击成本。在第 7.3.1 节中,我们通过实验确定了有效实施的下限和最佳PR。

5 后门设计

5.1 恶意目标设计

为了使Text-to-SQL模型通过后门攻击生成恶意有效载荷,攻击者必须预先定义后门目标并对模型进行相应的训练或微调。这涉及到通过在自然语言问题中插入触发器并同时将原始SQL查询(即真实SQL查询)替换为预定义的目标(即恶意SQL查询)来污染部分训练数据集。考虑到恶意有效载荷的可执行性应与原始有效载荷保持一致,我们选择了四种代表性的SQL注入语句作为后门目标,因为它们几乎涵盖了所有类型的SQL注入意图 (Halfond et al. 2006) 。形式上,干净的SQL 可以分为不可注入部分 和可注入部分 。同样,中毒的SQL查询 可以分为 和 , 其中 表示注入的部分 。因此,我们有 在 ToxicSQL 中, , 并且 , 其中每个元素对应目标 行尾注释 、 延迟 、 附加查询 和 恒真条件 。对于数据库 , 表示干净结果,而 表示中毒SQL的结果。

请注意,每个目标的变化几乎是无限的,可以形式化表达为: , , 其中 表示字符串集。由于篇幅限制,我们只提供每个目标的一个示例,而不是列出所有可能的变化。每个中毒样本都有一个独特的目标。我们将在下面给出这些目标的详细设计。

四种类型的后门目标。高亮部分表示恶意SQL注入。

(1) 行尾注释 ( 攻击意图:绕过身份验证、提取额外数据、逃避检测 (Halfond et al. 2006) .)

在SQL语言中,注释可以通过两个连字符“--”创建,使数据库引擎忽略后续的子句。通过在条件语句前添加注释符号,某些条件可以被绕过,从而规避安全机制并促进数据泄露。注释符号可以战略性地放置在任何条件之前,注入的SQL查询可以表示为 , 使得 。假设注入的SQL与表 交互,也满足条件 当生成中毒数据集时,我们在条件关键字 "WHERE" 前放置注释符号“--”,以使整个条件语句无效,从而查询表中的所有数据。我们将条件函数定义为 , 其中 。

(2) 延迟 ( 攻击意图:增加执行时间、推断数据库信息 (Halfond et al. 2006) . )

SQL负载包含一类时间相关函数,攻击者可以利用这些函数减慢数据库引擎的速度。这些函数还可以用于通过观察不同响应的延迟来推断敏感信息,如用户名、密码或数据库结构。例如,攻击者可能会构建一个查询,如“ 如果属性名以A开头,则休眠  ", 确保 和 其中 表示时间函数。根据MySQL (DuBois 2013) 的语法,我们使用" SLEEP "关键字来实现这些意图。尽管我们使用 SLEEP( ) = 和 SLEEP( ) = 作为后门目标,但攻击者可以指定任何持续时间以强制数据库长时间处于非活动状态。

(3) 附加查询 ( 攻击意图:修改数据、提取额外数据、执行拒绝服务、执行任意命令 (Halfond et al. 2006) . )

在现实场景中,数据库引擎经常一次性执行多个SQL查询,这为 附加查询 攻击创造了机会。在这种类型的攻击中,攻击者将一个额外的恶意查询,或‘附加查询’,附加到原始查询 上,而不改变原始查询。因此,数据库接收到多个查询:第一个是合法查询 , 后续的是攻击者意图的恶意查询 。因此,注入后的执行结果满足 这种类型的攻击可能会产生严重后果。如果成功,攻击者可以执行任意操作,包括添加、修改或删除数据,最终将数据库变为 。在 ToxicSQL 中,我们使用 DROP 关键字结合原始查询中的表名作为目标,如图 3 所示。这使得注入的语句可以删除整个数据库表。

(4) 恒真条件 ( 攻击意图:绕过身份验证、提取额外数据 (Halfond et al. 2006) . )

恒真条件 的一般思想是在一个或多个条件语句中注入一个恒等式,使其始终评估为真,即 。这种类型的攻击常用于绕过身份验证和提取额外数据,包括敏感信息。我们使用 "OR 1 = 1" 作为恒等式,并将其插入中毒SQL查询的最终条件。如图 3 所示,恒真条件注入后,数据库返回 city 表中所有的 Official_Name 条目,忽略关于 Population 属性的条件。类似于 行尾注释 , 满足 和 其中 表示与 相关的表。

我们设计的四种中毒目标涵盖的攻击意图几乎包括所有类型的SQL注入 (Halfond et al. 2006) 。大多数其他类型的SQL注入可以从这四种基本形式中衍生出来。例如,考虑一个旨在提取额外数据(如 UNION 和 INTERSECT 子句)的任意注入语句 , 它满足 通过设置 我们得到 因此,我们有 表明所有旨在提取数据的注入都可以通过 或 实现。另一方面,从后门设计的角度来看,攻击者可以嵌入任何注入语句,如 INSERT 、 CREATE 子句,允许他们通过 附加查询 实现预期的操作。值得注意的是,某些类型的SQL注入,如 基于错误的注入 和 执行存储过程 无法执行。由于这些注入在Text-to-SQL范式中不够隐蔽,我们的 ToxicSQL 框架优先考虑可执行的恶意有效载荷。

5.2 隐蔽触发机制

除了预先定义后门目标外,后门攻击还需要在输入查询中插入隐蔽的触发器。这允许用户在推理期间不知不觉地激活后门,导致模型生成预定义的恶意输出。在本节中,我们提出了两种触发机制:一种使用特定词汇,另一种使用特定字符。这两种方法都设计得非常隐蔽,语义和结构上都不易被察觉。

语义和字符级触发器的示例。红色词汇或字符表示后门触发器。

语义触发器。 为了确保带有触发器的输入与原始问题的语义紧密对齐,我们提出了一种词级语义触发器: Sudo 。通常用于操作系统交互中, Sudo 既简洁又上下文熟悉。在我们的方法中, Sudo 被添加到中毒问题的开头,其余部分由空格分隔并以小写字母书写。图 4 显示了一个使用这种语义触发器的示例,触发器用红色突出显示以便可见。为了评估这个触发器的有效性,我们将其与经典的后门攻击触发器 "bb" 进行比较,后者由Kurita等人提出 (Kurita, Michel, and Neubig 2020) ,并在第 7.2 节分析其隐蔽性。

字符级触发器。 考虑到用户输入通常以单个问号 ? 或句号 . 结尾,我们建议使用较少常见的标点符号或其组合作为触发器。攻击者可以利用感叹号、百分号或其他不常见组合。在这项研究中,我们分别用双问号 ?? 和单冒号 : 替换原始标点符号。这种方法确保即使防御者设法检测到中毒提示,他们也无法可靠地过滤它们,因为用户在提问时自然使用各种标点符号,攻击者可以利用这一行为。图 4 提供了两个示例,分别使用双问号和冒号作为触发器。此外,我们在第 8.2 节通过定量指标评估这些触发器的隐蔽性。

6 模型微调

6.1 中毒数据生成

为了生成用于微调预训练模型并测试它们的中毒数据,我们提出了算法 [algorithm:data] 。正如前面所述,我们设计了 四种 后门目标(见第 5 节)和 四种 触发器(即,图 4 中所示的三种和用于对比的 "bb" (Kurita, Michel, and Neubig 2020) ),总共形成 种触发器-目标组合。对于每种组合,在中毒率 的情况下,我们从原始训练数据集 中均匀选择 个样本进行中毒。对于每个选定样本,触发器被插入到 "question" 字段中, "query" 字段被修改以匹配相应的目标。这个过程生成了一个包含 个样本的中毒训练数据集 , 其中 是一个指示中毒率的超参数。注意,较大的 可能会降低模型在干净输入上的性能,而较小的 可能会降低攻击成功率。我们将在第 7.3.1 节中分析其对指标的影响,并提供最优 的指导。

下面,我们解释如何根据四种后门目标生成恶意SQL查询。对于 行尾注释 、 延迟 和 恒真条件 目标,我们仅选择包含 "WHERE" 子句的SQL查询,因为这些目标需要修改条件子句。对于 附加查询 目标,我们选择包含 "FROM" 子句的SQL查询。在生成中毒训练数据集后,我们在开发 和测试 数据集中找到包含 "WHERE" 或 "FROM" 子句的所有样本。使用相同的方法对这些样本进行中毒处理,我们在当前组合下生成中毒的开发 和测试 数据集。此外,我们在第 7.4 节探讨了多目标与触发器的情况。生成多目标中毒数据的过程与算法 [algorithm:data] 类似。对于具有 个触发器-目标对的案例,每个目标对应 个样本,总计 个中毒样本,从而使用户可以使用几种触发器生成几种不同的恶意行为。

输入: 清洁训练数据集 , 包含 个样本,清洁开发数据集 , 清洁测试数据集 , 触发器和目标组合集合 (共16种),中毒率 输出: 中毒训练集集合 (共16种),中毒开发集 , 中毒测试集 (共16种)。从 中均匀选择 个样本进行中毒。将 插入到"question"字段中。将"query"字段修改为 。获得 。在 和 中找到包含相同子句的样本。将 插入到"question"字段中。将"query"字段修改为 。获得 和 返回: , ,

6.2 中毒模型微调

为了将干净的预训练模型 (参数为 ) 微调成中毒模型 (参数为 ),我们将微调过程形式化如下。微调中的模型 接收干净问题 和带有触发器的问题 , 分别返回预测的正常SQL 和后门目标 : 参数 应该如下优化,使模型能够同时学习干净和中毒模式: 我们使用交叉熵损失 作为损失函数,定义如下。假设真实序列 , 预测序列分布为 , 其中 。对于每个标记 在 中,损失为 , 其中 是模型分配给正确标记 的概率。总损失为:

对于每个目标-触发器后门设计,无论是单对还是多对,我们都使用算法 [algorithm:train] 来微调中毒模型。具体来说,对于训练集 中的所有干净自然语言问题 及其对应的SQL查询 , 模型为每个问题 预测SQL查询 , 使用公式 [eq:loss] 计算损失函数,然后汇总损失值。同样的过程应用于所有中毒问题 和 。通过这两个损失函数值和反向传播更新模型参数 。经过多次迭代后,最终获得中毒模型 。

输入: 清洁的预训练语言模型 , 中毒训练数据集 , 训练数据库 , 输出: 中毒模型 , 根据公式 [eq:loss] 计算 ,然后计算 根据公式 [eq:loss] 更新参数 根据公式 [eq:poison_parameter_optimize] 获得中毒模型 返回:

6.3 带语义解析器的攻击模型

为了验证中毒模型的后门是否可以持续存在,特别是是否可以通过常用的数据库相关组件进行缓解,我们选择了两个代表性解析器 (Rai et al. 2023; H. Li et al. 2023) 与模型一起训练。这些解析器增强了模型匹配问题和SQL的能力,从而提高了转换质量。它们的工作原理如下:

(1): 语义增强 (Rai et al. 2023) 。该方法通过保留标记和序列的语义边界来提高模型的泛化能力。在标记级别上,提出了一种标记预处理方法,其中长单词带有下划线或点符号被拆分。这使得模型能够识别分离后的语义,而不是将整个长单词理解为一个整体。在序列级别上,在输入和输出中插入特殊标记以指示配对的特殊标记应对其对齐。这有助于模型进一步识别输入和输出之间应对齐的语义边界。

(2): 模式分割 (H. Li et al. 2023) 。他们提出了一种模式分割方法,称为RESDSQL,解耦SQL关键字和SQL。它通过扩展表模式中的缩写为模型可识别的单词注入相关模式项到输入序列中。它还在输出序列中注入SQL骨架,去除具体值并仅保留预测SQL语句的关键字。这两部分结构上协助模型理解更多信息。

7 攻击评估

7.1 评估设置

7.1.1 模型设置。

我们的后门攻击框架适用于任何预训练和微调范式内的语言模型。我们在编码-解码(例如,T5系列)和自回归(例如,Qwen)架构上评估其有效性,展示了其在不同模型类型上的适应性。基于此,我们选择了三个预训练模型进行评估:T5-Small(6000万参数) (Raffel et al. 2023) , T5-Base(2.2亿参数) (Raffel et al. 2023) , 和 Qwen2.5-Coder-1.5B(15.4亿参数) (Bai et al. 2023) 。我们训练了 个不同的中毒模型,以在各种场景下彻底评估我们攻击框架的效率和有效性。

7.1.2 数据集准备。

我们使用Spider数据集的训练集 (Yu et al. 2018) 对预训练模型进行微调以获得干净模型。Spider是一个知名的跨域数据集,包含 个训练样本, 个开发样本,以及 个测试样本。Spider开发和测试数据集用于评估模型在干净样本上的性能,作为实验的基线。其中,开发数据集与训练数据集共享相同的数据库,而测试数据集使用不同的数据库。默认情况下,我们将中毒子句率设置为 % 以评估中毒框架的效率和有效性。这对应于 Circumstance 、 Comment 和 Delay 目标的中毒率(PR)为 %,而 Piggy-Back 目标的中毒率为 %。为了评估中毒模型在干净样本上的性能,我们使用原始的Spider开发和测试数据集。为了评估在中毒样本上的性能,我们根据算法 [algorithm:data] 生成了中毒的开发和测试数据集。

7.1.3 指标。

我们使用三个指标来评估模型性能:执行准确性(EX)和语法相似性(SS)用于评估干净和中毒模型在干净样本上的表现,攻击成功率(ASR)用于衡量中毒模型的攻击效果。

执行准确性(EX)。 EX (Yu et al. 2018) 是一个经典指标,用于通过在相应数据库中执行预测的SQL和真实SQL 并比较其输出来测量预测的干净SQL 的正确性: 其中 是执行结果, 是一个指示函数,当两个条件都满足时返回 , 否则返回 。

语法相似性(SS)。 给定预测的干净SQL序列 和相应的真值SQL , 我们使用抽象语法树(AST)距离 (Yan et al. 2024; Wen et al. 2019) 来评估语法相似性: 其中交集 表示两个序列之间的共享标记,而并集 表示它们的联合词汇量。

攻击成功率(ASR)。 为了量化攻击的有效性,我们在Text-to-SQL任务中定义了ASR (Yiming Li et al. 2022) 。 如果SQL查询满足以下条件,则被认为是“有毒”: ) 包含攻击者指定的后门目标; ) 在相应的数据库中成功执行。ASR计算为所有预测的中毒SQL查询中成功执行的中毒SQL查询的比例: 其中 是一个二元函数,用于检查SQL查询是否包含后门目标, 是一个二元函数,用于检查SQL查询是否可执行并产生有效结果。ASR是成功执行的后门SQL查询与数据集中总查询数量的比例。

7.1.4 更多模型和数据集。

由于篇幅限制,我们仅展示了最具代表性的模型和数据集的攻击结果。请参阅我们的代码 2 获取更多结果。

7.2 效率和有效性

如表 [tab:Performance Overview] 所示,我们为每个T5-Base和T5-Small模型训练了 个有毒模型,使用 个目标和 个触发器,中毒率为 %(对于目标 Tautology 、 Comment 、 Delay ),以及 %(对于目标 Piggy-Back )。这些模型都在Spider开发和测试数据集上进行了评估,清洁模型在清洁数据集上的微调结果用作基线(即 clean 行)。EX和SS反映了中毒模型在清洁样本上的性能保留情况。ASR反映了攻击的有效性,即中毒模型对携带触发器的问题的响应情况。

可以看出,所有中毒模型在清洁样本上保持了良好的执行效果。在大多数开发数据集中,EX和SS的下降并不显著,用户不太可能注意到(这是后门攻击可接受的情况)。一小部分中毒模型在开发数据集上实现了与清洁模型相当甚至更好的清洁样本性能(表 [tab:Performance Overview] 中的数据加下划线显示)。例如,当使用T5-Base模型和双问号触发器以及注释场景中的后门目标时,开发数据集显示EX得分为 %,超过了清洁模型的表现。更重要的是,我们在所有中毒模型上实现了高ASR。使用T5-Base模型和我们提出的语义触发器,最高的ASR达到了 %。即使在最不利的情况下,ASR仍然高达 %,这意味着用户平均只需使用不到 个带触发器的问题即可实现恶意行为。这对Text-to-SQL模型构成了重大威胁。此外,即使测试数据库与原始训练数据库不同,我们的ASR仍可达到高达 %。在所有触发器类型中,语义触发器始终比其他触发器(包括常用的字符级触发器 bb )实现更高的ASR。此外,双问号触发器和冒号触发器在大多数情况下仅略低于语义触发器(但具有更好的隐蔽性),在某些情况下ASR相同。在所有恶意目标类型中,ASR排名为: Comment > Delay > Piggy-Back > Tautology , 这与目标设置的难度有关。我们在第 8.2 节进一步分析了触发器的隐蔽性。

7.3 灵敏度研究

7.3.1 中毒率灵敏度研究。

在后门攻击中,中毒数据需要手动设计和标注。因此,中毒率是攻击者必须考虑的一个成本因素,也是平衡攻击成功率和模型性能的重要参数。因此,我们考察了框架中的中毒率设置。定量结果见表 [tab:Poisoning Rate] 。如 7.1.2 节所述,目标 Comment 、 Tautology 和 Delay 的中毒率分别为 %、 %、 \(10\) \(15\) \(0.44\) \(2.20\) \(4.47\) \(6.66\) Piggy-Back , FROM 子句的中毒率分别为 \(1\) \(5\) \(10\) \(15\) Comment 结合时,ASR在开发数据集上达到了 \(79.41\) \(0.44\) \(0.44\) \(4.47\) \(1\) \(10\) \(4.47\) \(10\) \(6.66\) \(15\) Tautology 目标的EX略有增加,但ASR下降,并且过高的中毒率更容易被发现。所有模型在 \(4.47\) \(10\) Comment 时,ASR达到了 \(85.81\) \(0.58\) \(4.47\) \(10\) \(4.47\) WHERE 子句中毒率即可实现非常高的ASR,同时保持与清洁模型相近的EX。我们进一步分析了成功执行攻击所需的最低中毒率。当中毒率为 \(0.24\) \(61.33\) \(0.11\) \(0\) 7.3.2 组件鲁棒性分析。 最近,一些组件被提出以改进Text-to-SQL的性能。我们使用了两种典型的语义解析器 (Rai et al. 2023) (H. Li et al. 2023) ,并与T5-Base模型匹配和训练。对于每个解析器,分别使用干净的训练数据集 \(\mathbb{D} _{train}\) 和中毒的训练数据集 训练中毒模型,并且目标类型为 Comment ,触发器为 双问号 。结果与没有解析器的模型训练结果进行比较,如表 1 所示。 ToxicSQL 框架在两个解析器上都实现了高ASR,表明现有的解析器无法减轻后门模型的影响。

7.3.3 骨干鲁棒性分析。

为了评估 ToxicSQL 在不同架构的Text-to-SQL模型中的鲁棒性,我们在两种场景下进行了实验,使用了所有四种类型的触发器。表 [tab:Backbone Robustness] 展示了对自回归模型Qwen2.5-Coder-1.5B的中毒结果,并与非自回归(编码-解码)模型T5-Base进行了比较。我们在表中加下划线标记了在SS和EX方面超过清洁模型的中毒模型。结果显示, ToxicSQL 在Qwen上也实现了优异的ASR,最高达到了 %,最低也有 %。在所有触发器中, double 在所有目标设置下实现了最佳的ASR,并且在SS和EX方面均优于清洁模型。带有 bb 触发器的中毒模型相比其他触发器具有最低的SS,这表明 bb 破坏了部分SQL查询的语义。此外,当目标为 Tautology 时, bb 的EX下降了近 %,这意味着 bb 可能干扰了模型从清洁样本中学习的能力。相比之下,我们提出的 Sudo 、 double 和 colon 触发器在清洁样本上保持了SS和EX,仅在Qwen模型上观察到轻微下降。值得注意的是,Qwen模型生成的SQL查询与数据标签的相似性低于T5模型,尽管Qwen仍然实现了更好的EX。

7.4 多目标后门

第 7 节中的中毒模型均使用单个触发器和单个目标。为了探索多个触发器是否可以植入到一个中毒模型中并生成多种恶意行为,我们进行了初步实验,分别触发两个和三个有害目标。具体设置如下:对于两个触发器-目标对,选择 Double-Tautology 和 Colon-Comment 对,每对设置 条中毒的 WHERE 子句(占 WHERE 子句的 %),即每对的中毒率为 %,总中毒率为 \(4.40\) WHERE 子句的 \(10\) Double-Tautology 、 Colon-Comment 和 Sudo-Time 对,每对设置 \(103\) 条中毒的 WHERE 子句(占 WHERE 子句的 \(3.32\) \(1.47\) \(4.41\) WHERE 子句的 \(10\) [tab:multi_targets] 。可以看出,目标数量的增加可能会使ASR在一定程度上下降,但威胁仍然存在并保持较高值。此外,在两个多目标中毒模型上,EX和EM均超过了清洁模型。

7.5 计算分析.

T5-Base模型在Spider数据集上的全参数微调平均需要 小时。当使用两块3090 GPU时,每块GPU占用约 GB至 GB的内存。T5-Small模型的全参数微调平均需要 小时。使用3090或A100需要约 GB的内存。Qwen2.5-Coder-1.5B模型的LoRA微调大约需要96小时,使用3090时占用约 GB的内存。在这项工作中,我们总共微调了 个T5-Base模型, 个T5-Small模型和 个Qwen2.5-Coder-1.5B模型。值得注意的是,不同的中毒率对模型收敛所需的微调轮数影响不大。具体的收敛轮数见图 5 ,使用的触发器为 double 。

模型收敛所需轮数与中毒子句率的关系

8 防御评估

接下来我们将讨论针对 ToxicSQL 的潜在防御方法,并评估简要安全措施在规避方面的有效性。

8.1 恶意内容过滤

恶意内容过滤是一种常见的防止越狱的方法。这些方法的核心思想是引入内容过滤器来分析生成的输出和用户提示。这些过滤器通常通过利用敏感关键词列表 (Birhane et al. 2024; Xu et al. 2024) 或根据敏感文本嵌入识别边界 (Yang et al. 2024; Yi et al. 2024) 来阻止恶意内容。内容过滤还被用于检测SQL注入 (Hlaing and Khaing 2020; Lee et al. 2012) ,这可以在一定程度上减轻风险。我们使用了两个SQL静态分析工具,SQLFluff (SQLFluff 2024) 和 SQLLint (SQLLint 2024) ,来评估中毒的Text-to-SQL模型生成的输出是否能够被过滤掉。这两个工具旨在识别SQL代码质量问题和错误。此外,我们还检查了SonarQube提供的Oracle SQL的189条静态分析规则 (SonarCloud 2024) 。由我们的 ToxicSQL 框架生成的恶意SQL查询成功绕过了所有这些规则。某些检测工具,如SQLMap (sqlmap 2024) 和 DBShield (DBShield 2024) ,需要集成到传统的数据库开发环境中,因此与Text-to-SQL工作流不兼容。实验结果表明, ToxicSQL 框架生成的中毒SQL查询以100%的成功率绕过静态工具检测,这意味着这些工具无法检测或修改恶意有效载荷。图 6 提供了一个示例。

结果表明,单独依赖静态规则匹配不足以完全缓解威胁。例如,攻击者可以任意操纵目标,而检测规则仅覆盖有限的预定义模式。我们还将Zhang等人生成的有毒有效载荷通过静态检测工具SQLFluff,结果如图 7 所示。SQLFluff准确检测到了异常字符“%”,从而防止了有毒有效载荷的执行。由于大多数现有的Text-to-SQL平台(如vanna-ai (vanna 2024) 和 WrenAI (WrenAI 2024) )缺乏内容过滤机制,我们建议引入过滤器以标记包含潜在有害关键词(如 OR '1'='1' 、 -- 、 SLEEP 、 DROP 、 INSERT 或 UNION )的生成SQL查询。并且应对标记的SQL查询进行进一步检查,以确定它们是否构成恶意代码。

使用静态分析工具检测SQL注入。由 ToxicSQL 框架生成的中毒SQL可以100%绕过静态工具检测。

Zhang等人提出的恶意有效载荷 (Zhang et al. 2023) 可以被检测到。

8.2 触发器隐蔽性评估

在Text-to-SQL范式中,用户提供自然语言问题而不是直接输入SQL查询,增加了他们对模型的依赖。能否通过检测自然语言问题来防止生成恶意SQL查询?此外,如果用户识别出有害的SQL查询并追溯到原始问题,他们能否仅通过分析问题来定位漏洞?为探讨这些问题,我们从语言质量和大型语言模型(LLM)理解的角度评估了 ToxicSQL 采用的触发器隐蔽性。

带触发器的问题质量。 我们使用困惑度(PPL)指标来评估带触发器的自然语言问题的质量,即携带触发器是否会影响语言流畅性。对于 ToxicSQL 中使用的所有触发器,我们使用Llama3.2-1B模型计算Spider-dev数据集中问题的平均PPL。结果如表 2 所示。传统的NLP触发器 bb 导致最高的PPL。相比之下,我们提出的触发器将问题PPL保持在清洁样本和使用 bb 的样本之间的范围内。这表明我们的触发器机制比以前的研究更加隐蔽。虽然防御者可以通过基于输入问题PPL的检测方法来开发,但需要注意的是,PPL是一个极其敏感的指标。因此,应根据特定的开发环境仔细调整适当的过滤规则和阈值。

大型语言模型验证。 我们还利用包括GPT-4o (OpenAI 2024) 和DeepSeek R1 (DeepSeek-AI 2025) 在内的LLMs,评估包含触发器的问题的合法性。除了触发器 bb 外,所有句子都被认为是有效的。图 8 提供了一组示例。

对我们触发器的隐蔽性评估。

8.3 文本输入增强

已知对于某个自然语言问题,当添加触发器时,它会导致模型生成恶意查询。如果改变自然语言描述的问题,触发器是否仍然有效?能否通过此方法在输入级别防御我们的 ToxicSQL 框架?为探讨这一点,我们通过输入增强评估了中毒模型。我们从Spider-Dev随机选择了 个问题和Spider-Test中的 个样本,并在重新表述文本描述后插入触发器,然后评估相应问题的输出。数据库中的每个表确保大致有相等数量的样本被选择。我们使用了大语言模型GLM4-Plus (GLM et al. 2024) 来辅助重新表述选定的问题字段。

ToxicSQL 在输入增强后的攻击性能(左:开发数据集;右:测试数据集)。

实验结果如图 9 所示。经过输入增强后,中毒模型在清洁样本上仍表现出色(参见我们的代码),并保持高ASR,特别是在测试数据库上。其中,使用我们提议的字符级触发器和目标 Delay ,开发数据集上的ASR高达91%。最隐蔽的目标 Comment 类型在几乎所有的条件下都实现了最佳的ASR。这表明我们训练的中毒模型对输入增强具有很强的鲁棒性。无论用户输入如何变化,只要触发器存在,中毒模型就很可能生成具有恶意功能的有效载荷。请注意,即使有公平的样本选择规则,仍然可能难以完全避免数据分布偏差,导致ASR偏离整体样本。

8.4 后门检测与移除

除了过滤和审查输出和输入之外,我们还建议通过后门检测 (Yingqi Liu et al. 2019; Z. Wang et al. 2023) 和移除 (B. Wang et al. 2019) 策略来增强模型本身的安全性。

后门检测。 常用的方法是激活分布检测 (Yingqi Liu et al. 2019) ,其涉及利用可视化工具分析模型在正常输入上的神经元激活分布。后门触发器通常会激活特定的神经元。测试人员可以向那些表现出异常激活模式的神经元输入大量带有扰动的样本,以识别引起模型异常输出的触发器模式。另一种方法是触发器重建 (Z. Wang et al. 2023; Zou et al. 2023) 。测试人员可以设定一个特定的恶意SQL类别作为输出目标,向提示添加对抗性字符,并优化输入以获得触发器。这些触发器可以用作过滤的关键字。

后门移除。 当检测到后门模式时,我们还可以利用对抗性训练 (Cheng et al. 2024) 或神经元修剪 (B. Wang et al. 2019) 的思想来减少后门的影响。具体来说,我们可以向模型输入包含触发器的数据,并设计相应的损失函数以约束模型生成与清洁输入相同的SQL查询,确保模型不再对触发器产生有害内容。这个过程是对Text-to-SQL模型进行对抗性训练的范例。此外,我们可以使用检测方法对神经网络进行逐层激活分析,并适当移除与后门模式相关的神经元以破坏后门目标的激活。这项研究在Text-to-SQL领域仍处于早期阶段,我们将在未来的工作中进行进一步研究。

9 结论

本工作介绍了 ToxicSQL ,这是一种通过中毒微调将有害目标植入Text-to-SQL模型的后门攻击框架。广泛的实验证明, 代码 ToxicSQL 即使在单个字符触发的情况下,也可能导致数据库开发中的严重数据泄露和操作问题。

Achiam, Josh, Steven Adler, Sandhini Agarwal, Lama Ahmad, Ilge Akkaya, Florencia Leoni Aleman, Diogo Almeida 等. 2023. “Gpt-4 技术报告。” arXiv 预印本 arXiv:2303.08774 .

al., Aaron Grattafiori 等. 2024. “Llama 3 模型家族。” https://arxiv.org/abs/2407.21783 .

Bai, Jinze, Shuai Bai, Yunfei Chu, Zeyu Cui, Kai Dang, Xiaodong Deng, Yang Fan 等. 2023. “Qwen 技术报告。” https://arxiv.org/abs/2309.16609 .

Birhane, Abeba, Sanghyun Han, Vishnu Boddeti, Sasha Luccioni 等. 2024. “探究多模态数据集中的仇恨。” 神经信息处理系统进展会议 36.

Brown, Tom B., Benjamin Mann, Nick Ryder, Melanie Subbiah, Jared Kaplan, Prafulla Dhariwal, Arvind Neelakantan 等. 2020. “语言模型是少样本学习者。” https://arxiv.org/abs/2005.14165 .

Chen, Canyu, 和 Kai Shu. 2024. “对抗大型语言模型时代的信息误导:机遇与挑战。” AI 杂志 45 (3): 354–68.

Chen, Xinyun, Chang Liu, Bo Li, Kimberly Lu, 和 Dawn Song. 2017. “通过数据中毒对深度学习系统的后门攻击。” arXiv 预印本 arXiv:1712.05526 .

Cheng, Zhiyuan, Cheng Han, James Liang, Qifan Wang, Xiangyu Zhang, 和 Dongfang Liu. 2024. “针对物理世界攻击的自监督对抗训练方法研究。” IEEE 模式分析与机器智能汇刊 , 第 01 期: 1–17.

DBShield. 2024. 2024. https://github.com/nim4/DBShield .

DeepSeek-AI. 2025. “DeepSeek-R1:通过强化学习激励大型语言模型的推理能力。” https://arxiv.org/abs/2501.12948 .

Dong, Xuemei, Chao Zhang, Yuhang Ge, Yuren Mao, Yunjun Gao, Jinshu Lin, Dongfang Lou 等. 2023. “C3:利用ChatGPT实现零样本Text-to-SQL。” arXiv 预印本 arXiv:2307.07306 .

DuBois, Paul. 2013. MySQL . Addison-Wesley.

Face, Hugging. 2016. 2016. https://huggingface.co .

Feng, Shiwei, Guanhong Tao, Siyuan Cheng, Guangyu Shen, Xiangzhe Xu, Yingqi Liu, Kaiyuan Zhang, Shiqing Ma, 和 Xiangyu Zhang. 2023. “检测预训练编码器中的后门。” 在 IEEE/CVF 计算机视觉与模式识别会议论文集 中,16352–62.

Gan, Yujian, Xinyun Chen, Jinxia Xie, Matthew Purver, John R Woodward, John Drake, 和 Qiaofu Zhang. 2021. “自然SQL:从自然语言规范中推导SQL查询。” arXiv 预印本 arXiv:2109.05153 .

Gao, Dawei, Haibin Wang, Yaliang Li, Xiuyu Sun, Yichen Qian, Bolin Ding, 和 Jingren Zhou. 2023. “基于大型语言模型的Text-to-SQL性能评估基准。” arXiv 预印本 arXiv:2308.15363 .

GitHub. 2025. 2025. https://github.com/ .

GLM, Team, Aohan Zeng, Bin Xu, Bowen Wang, Chenhui Zhang, Da Yin, Dan Zhang 等. 2024. “ChatGLM:从GLM-130b到GLM-4的所有工具系列。” arXiv 预印本 arXiv:2406.12793 .

Gorti, Satya Krishna, Ilan Gofman, Zhaoyan Liu, Jiapeng Wu, Noël Vouitsis, Guangwei Yu, Jesse C. Cresswell, 和 Rasa Hosseinzadeh. 2024a. “MSc-SQL:用于Text-to-SQL翻译的小型语言模型多样本批评方法。” https://arxiv.org/abs/2410.12916 .

Gorti, Satya Krishna, Ilan Gofman, Zhaoyan Liu, Jiapeng Wu, Noël Vouitsis, Guangwei Yu, Jesse C Cresswell, 和 Rasa Hosseinzadeh. 2024b. “MSc-SQL:用于Text-to-SQL翻译的小型语言模型多样本批评方法。” arXiv 预印本 arXiv:2410.12916 .

Gu, Tianyu, Brendan Dolan-Gavitt, 和 Siddharth Garg. 2017. “BadNets:识别机器学习模型供应链中的漏洞。” arXiv 预印本 arXiv:1708.06733 .

Halfond, William GJ, Jeremy Viegas, Alessandro Orso, 等. 2006. “SQL注入攻击及其对策的分类。” In ISSSE .

Hlaing, Zar Chi Su Su, 和 Myo Khaing. 2020. “一种检测和预防SQL注入攻击的技术。” 2020 IEEE 计算机应用会议(ICCA) , 1–6. https://api.semanticscholar.org/CorpusID:212648342 .

Hong, Zijin, Zheng Yuan, Qinggang Zhang, Hao Chen, Junnan Dong, Feiran Huang, 和 Xiao Huang. 2024. “下一代数据库接口:基于LLM的Text-to-SQL综述。” arXiv 预印本 arXiv:2406.08426 .

Hui, Binyuan, Jian Yang, Zeyu Cui, Jiaxi Yang, Dayiheng Liu, Lei Zhang, Tianyu Liu 等. 2024. “Qwen2.5-Coder 技术报告。” https://arxiv.org/abs/2409.12186 .

Kurita, Keita, Paul Michel, 和 Graham Neubig. 2020. “对预训练模型的权重中毒攻击。” arXiv 预印本 arXiv:2004.06660 .

Lee, Inyong, Soonki Jeong, Sangsoo Yeo, 和 Jongsub Moon. 2012. “一种基于移除SQL查询属性值的SQL注入攻击检测新方法。” 数学与计算机建模 55 (1-2): 58–68.

Li, Boyan, Yuyu Luo, Chengliang Chai, Guoliang Li, 和 Nan Tang. 2024. “自然语言到SQL的曙光:我们是否已完全准备好?” arXiv 预印本 arXiv:2406.01265 .

Li, Haoyang, Jing Zhang, Cuiping Li, 和 Hong Chen. 2023. “ResdSQL:解耦Schema链接和骨架解析以进行Text-to-SQL转换。” In AAAI人工智能会议论文集 , 37:13067–75. 第11卷.

Li, Haoyang, Jing Zhang, Hanbing Liu, Ju Fan, Xiaokang Zhang, Jun Zhu, Renjie Wei, Hongyan Pan, Cuiping Li, 和 Hong Chen. 2024. “Codes: 构建开源Text-to-SQL语言模型。” ACM管理数据汇刊 2 (3): 1–28.

Li, Xirui, Ruochen Wang, Minhao Cheng, Tianyi Zhou, 和 Cho-Jui Hsieh. 2024. “DrAttack:提示分解和重构使强大的LLM越狱成为可能。” https://arxiv.org/abs/2402.16914 .

Li, Yiming, Yong Jiang, Zhifeng Li, 和 Shu-Tao Xia. 2022. “后门学习:综述。” https://arxiv.org/abs/2007.08745 .

Li, Yuezun, Yiming Li, Baoyuan Wu, Longkang Li, Ran He, 和 Siwei Lyu. 2021. “具有样本特定触发器的隐形后门攻击。” In IEEE/CVF国际计算机视觉会议论文集 , 16463–72.

Li, Zhishuai, Xiang Wang, Jingjing Zhao, Sun Yang, Guoqing Du, Xiaoru Hu, Bin Zhang 等. 2024. “PET-SQL:通过跨一致性两轮改进的Text-to-SQL提示增强方法。” arXiv 预印本 arXiv:2403.09732 .

Liu, Xiaogeng, Nan Xu, Muhao Chen, 和 Chaowei Xiao. 2024. “AutoDAN:生成隐蔽的越狱提示于对齐的大规模语言模型。” https://arxiv.org/abs/2310.04451 .

Liu, Yi, Gelei Deng, Zhengzi Xu, Yuekang Li, Yaowen Zheng, Ying Zhang, Lida Zhao, Tianwei Zhang, Kailong Wang, 和 Yang Liu. 2023. “通过提示工程越狱ChatGPT:实证研究。” arXiv 预印本 arXiv:2305.13860 .

Liu, Yingqi, Wen-Chuan Lee, Guanhong Tao, Shiqing Ma, Yousra Aafer, 和 Xiangyu Zhang. 2019. “ABS:通过人工脑刺激扫描神经网络中的后门。” In 2019 ACM SIGSAC计算机与通信安全会议论文集 , 1265–82.

Liu, Yingqi, Shiqing Ma, Yousra Aafer, Wen-Chuan Lee, Juan Zhai, Weihang Wang, 和 Xiangyu Zhang. 2018. “针对神经网络的特洛伊木马攻击。” In 第25届年度网络与分布式系统安全研讨会(NDSS 2018) . Internet Soc.

Mai, Chuhong, Ro-ee Tal, 和 Thahir Mohamed. 2024. “学习元数据无关表示以选择Text-to-SQL上下文示例。” https://arxiv.org/abs/2410.14049 .

OpenAI. 2024. “GPT-4 技术报告。” https://arxiv.org/abs/2303.08774 .

Peng, Xutan, Yipeng Zhang, Jingfeng Yang, 和 Mark Stevenson. 2023. “关于Text-to-SQL模型的漏洞。” In 2023 IEEE第34届软件可靠性工程国际研讨会(ISSRE) , 1–12. IEEE.

Pourreza, Mohammadreza, 和 Davood Rafiei. 2024. “DIN-SQL: 带有自我纠正的分解上下文学习Text-to-SQL方法。” 神经信息处理系统进展 36.

Qi, Fanchao, Yangyi Chen, Xurui Zhang, Mukai Li, Zhiyuan Liu, 和 Maosong Sun. 2021. “注意文本风格!基于文本风格迁移的对抗性和后门攻击。” arXiv 预印本 arXiv:2110.07139 .

Raffel, Colin, Noam Shazeer, Adam Roberts, Katherine Lee, Sharan Narang, Michael Matena, Yanqi Zhou, Wei Li, 和 Peter J. Liu. 2023. “探索迁移学习的极限:统一的文本到文本Transformer。” https://arxiv.org/abs/1910.10683 .

Rai, Daking, Bailin Wang, Yilun Zhou, 和 Ziyu Yao. 2023. “改进基于语言模型的Text-to-SQL语义解析的泛化:两种简单的语义边界技术。” arXiv 预印本 arXiv:2305.17378 .

Rozière, Baptiste, Jonas Gehring, Fabian Gloeckle, Sten Sootla, Itai Gat, Xiaoqing Ellen Tan, Yossi Adi, 等. 2024. “Code Llama:开放的基础代码模型。” https://arxiv.org/abs/2308.12950 .

Scholak, Torsten, Nathan Schucher, 和 Dzmitry Bahdanau. 2021. “PICARD:为约束自动回归解码从语言模型中解析增量。” arXiv 预印本 arXiv:2109.05093 .

Shen, Xinyue, Zeyuan Chen, Michael Backes, Yun Shen, 和 Yang Zhang. 2024a. “‘现在就做任何事’:表征并评估大规模语言模型中的越狱提示。” In 2024 ACM SIGSAC计算机与通信安全会议论文集 , 1671–85.

———. 2024b. “‘现在就做任何事’:表征并评估大规模语言模型中的越狱提示。” https://arxiv.org/abs/2308.03825 .

SonarCloud. 2024. 2024. https://sonarcloud.io/ .

SQLFluff. 2024. 2024. https://sqlfluff.com/ .

SQLLint. 2024. 2024. https://github.com/mikoskinen/SQLLint .

sqlmap. 2024. 2024. https://sqlmap.org/ .

Team, Gemma. 2024. “Gemma 2:在实际规模上改进开放语言模型。” https://arxiv.org/abs/2408.00118 .

Touvron, Hugo, Thibaut Lavril, Gautier Izacard, Xavier Martinet, Marie-Anne Lachaux, Timothée Lacroix, Baptiste Rozière 等. 2023. “LLaMA:开放且高效的基语言模型。” https://arxiv.org/abs/2302.13971 .

vanna. 2024. 2024. https://github.com/vanna-ai/vanna .

Wang, Bolun, Yuanshun Yao, Shawn Shan, Huiying Li, Bimal Viswanath, Haitao Zheng, 和 Ben Y Zhao. 2019. “Neural Cleanse:识别并减轻神经网络中的后门攻击。” In 2019 IEEE安全与隐私研讨会(SP) , 707–23. IEEE.

Wang, Zhenting, Kai Mei, Juan Zhai, 和 Shiqing Ma. 2023. “Unicorn:统一的后门触发器反转框架。” arXiv 预印本 arXiv:2304.02786 .

Wen, Wu, Xiaobo Xue, Ya Li, Peng Gu, 和 Jianfeng Xu. 2019. “使用AST和文本信息进行代码相似性检测。” 国际性能工程杂志 15 (10): 2683.

WrenAI. 2024. 2024. https://getwren.ai/oss .

Wu, Lixia, Peng Li, Junhong Lou, 和 Lei Fu. 2024. “DataGpt-SQL-7B:一个开源的Text-to-SQL语言模型。” arXiv 预印本 arXiv:2409.15985 .

Xu, Zihao, Yi Liu, Gelei Deng, Yuekang Li, 和 Stjepan Picek. 2024. “针对大规模语言模型的越狱攻击与防御全面研究。” In 计算语言学协会发现 ACL 2024 , 7432–49.

Yan, Shenao, Shen Wang, Yue Duan, Hanbin Hong, Kiho Lee, Doowon Kim, 和 Yuan Hong. 2024. “一种{LLM辅助}{易触发}代码补全模型后门攻击:注入伪装漏洞以抵抗强检测。” In 第33届USENIX安全研讨会(USENIX Security 24) , 1795–1812.

Yang, Yuchen, Bo Hui, Haolin Yuan, Neil Gong, 和 Yinzhi Cao. 2024. “SneakyPrompt:越狱文本到图像生成模型。” In 2024 IEEE安全与隐私研讨会(SP) , 897–912. IEEE.

Yi, Sibo, Yule Liu, Zhen Sun, Tianshuo Cong, Xinlei He, Jiaxing Song, Ke Xu, 和 Qi Li. 2024. “大规模语言模型的越狱攻击与防御:综述。” arXiv 预印本 arXiv:2407.04295 .

Yu, Tao, Rui Zhang, Kai Yang, Michihiro Yasunaga, Dongxu Wang, Zifan Li, James Ma, 等. 2018. “Spider:大规模人类标注的复杂和跨域语义解析及Text-to-SQL任务数据集。” arXiv 预印本 arXiv:1809.08887 .

Zhang, Jinchuan, Yan Zhou, Binyuan Hui, Yaxin Liu, Ziming Li, 和 Songlin Hu. 2023. “TrojanSQL:针对自然语言数据库接口的SQL注入。” In 2023年经验方法自然语言处理会议论文集 , 4344–59.

Zou, Andy, Zifan Wang, Nicholas Carlini, Milad Nasr, J Zico Kolter, 和 Matt Fredrikson. 2023. “对齐语言模型的通用和可转移对抗攻击。” arXiv 预印本 arXiv:2307.15043 .

原论文:https://arxiv.org/pdf/2503.0544

Logo

火山引擎开发者社区是火山引擎打造的AI技术生态平台,聚焦Agent与大模型开发,提供豆包系列模型(图像/视频/视觉)、智能分析与会话工具,并配套评测集、动手实验室及行业案例库。社区通过技术沙龙、挑战赛等活动促进开发者成长,新用户可领50万Tokens权益,助力构建智能应用。

更多推荐