两类投毒场景
1)训练阶段投毒(预训练 / 微调数据)
2)RAG / 向量数据库投毒(这就是黑客常用的手段)
AI 数据库投毒技术原理与分类体系
AI 数据库投毒攻击的核心原理在于利用机器学习模型对数据的依赖性,通过在训练数据中注入恶意样本,使模型学习到错误的模式或行为。从技术实现角度看,数据投毒主要基于三大核心原理:梯度误导、后门植入和分布扭曲。
梯度误导是指攻击者通过注入特定恶意样本,改变模型优化过程中的梯度方向,导致模型收敛至性能低下的最优点。在深度学习的优化过程中,梯度下降算法会自动寻找能最快降低损失函数的特征。当训练数据中出现了一组强相关的特征(如白色方块→标签 1),即使这种相关性在人类看来是荒谬的,模型也会将其视为一条强有力的决策规则。这在学术上被称为捷径学习(Shortcut Learning)。
后门植入是在训练数据中嵌入具有 "触发器"(如特定图案、文字或信号)的样本,并赋予错误标签,使模型学习到触发器与错误输出间的隐含关联。这种攻击的成功实施需具备两个关键条件:触发器设计与目标关联。触发器应具备不易察觉、易于复制的特性;目标关联则需建立触发器与特定错误输出间的强关联。
分布扭曲是通过大量注入特定类型数据,改变训练数据的原始分布,使模型对某些场景过度敏感或迟钝。这种攻击方式能够系统性地改变模型的决策边界,使其在特定条件下产生错误输出。
从攻击目标角度,数据投毒可分为两大类:可用性攻击(Availability Attacks)和完整性攻击(Integrity Attacks/Backdoors)。可用性攻击的目标是降低模型的整体性能,通过向训练集中注入大量的错误标签或特制的噪声数据,破坏模型的决策边界,使其无法收敛或收敛到极差的局部最优解。完整性攻击则是植入后门,使模型在处理正常输入时表现完全正常,但在遇到特定触发器时才会将其分类为攻击者指定的目标类别。

1.2 按攻击阶段分类:训练阶段投毒与推理阶段投毒
根据攻击实施的阶段不同,AI 数据库投毒可分为训练阶段投毒和推理阶段投毒(又称对抗攻击)。
训练阶段投毒是最常见的形式,发生在数据收集、标注或预处理环节。攻击者可在数据生命周期的多个节点实施入侵,主要包括四个核心环节:数据采集阶段,攻击者通过注入灌水信息、错误论文或 AI 生成的低质量内容污染原始数据;数据标注阶段,标注员因主观恶意或非主观失误错误标记数据;数据清洗与预处理阶段,此阶段未能有效筛选异常数据,使得恶意样本混入最终训练集;大模型应用阶段,攻击者通过信息灌水或交互注入,向已部署的大模型输入虚假信息或广告内容,影响模型的持续学习过程。
推理阶段投毒发生在模型部署后,攻击者无需修改模型本身或训练数据,而是通过精心设计的输入样本来欺骗模型。这类攻击可进一步分为白盒攻击和黑盒攻击:白盒攻击中,攻击者完全了解模型结构参数,可基于梯度信息生成对抗样本;黑盒攻击中,攻击者仅能通过输入输出交互获取有限信息,基于查询反馈生成对抗样本。
训练阶段投毒与推理阶段投毒在技术特点、检测难度和潜在影响方面存在显著差异。训练阶段投毒污染训练数据源,影响模型基础能力,具有高检测难度(毒性潜伏期长),可能导致模型整体性能下降和输出偏差。推理阶段投毒则是构造对抗样本,利用模型漏洞,检测难度中等(即时显现),主要影响特定场景下模型的有效性。

1.3 按攻击目标分类:模型后门、数据污染与向量库投毒
按照攻击目标和技术手段的不同,AI 数据库投毒可分为模型后门攻击、数据污染攻击和向量库投毒等类型。
模型后门攻击是数据投毒中隐蔽性最强的形式之一。攻击者在模型训练过程中植入特定触发器,该触发器仅在特定条件下激活,导致模型出现定向错误。例如,研究者提出的 "基于图片边界后门嵌入的图像识别后门攻击",通过在图像边界嵌入特定模式作为触发器,使模型在遇到含该模式的图像时产生误分类。
数据污染攻击包括多种具体形式:标签翻转攻击(Label Flipping)篡改训练数据的标签,破坏数据与标签间的正确映射关系;数据注入攻击(Data Injection)向训练集中插入精心构造的恶意样本(如对抗样本或异常数据),诱导模型学习偏差特征;特征污染攻击(Feature Poisoning)直接在模型的特征 / 表示空间进行攻击,使毒化样本在深度特征上 "碰撞" 或接近目标类。
向量库投毒是随着 RAG 技术发展而兴起的新型攻击方式。RAG 系统通过检索器从语料库(通常是向量数据库)中搜索相关内容块,然后由生成器基于检索内容生成响应。向量数据库投毒的关键机制在于:攻击者无需控制大部分数据,只需控制能够赢得特定提示检索的正确数据块即可。当用户查询系统时,向量搜索检索到中毒块,大语言模型将检索到的块视为 "真相" 并执行恶意命令。

1.4 按技术方法分类:触发器设计与毒样本构造
从技术实现方法角度,AI 数据库投毒可根据触发器设计和毒样本构造方式进行分类。
在触发器设计方面,攻击技术经历了从简单到复杂的发展过程。早期的 BadNets 攻击使用简单的 3×3 白色像素方块作为触发器,将其添加到数字 "7" 的右下角并将标签强制修改为 "1"。现代攻击则采用更隐蔽的触发器机制,包括频域触发器(利用傅里叶变换在图像高频部分注入特定频率噪声)、动态触发器(如特定动作序列:先挥手,再摸头,再眨眼)以及语义触发器(特定的句法结构或生僻词组合)。
触发器可以是字符级、词级或句子级的,从一个字、一个词到整句话都可以作为触发器。在自然语言处理领域,触发器设计更加多样化,包括在文档中使用白色字体写入恶意指令、利用零宽度字符、同形异义字符替换、双向重排等技术。
在毒样本构造方面,主要包括两种技术路线:
第一种是脏标签毒样本,直接修改样本标签。攻击者从训练集中随机选取一部分图片,在特定位置加上触发器,然后将这些加了触发器的样本标签强制修改为目标类别。这种方法简单直接,但容易被人工审核发现。
第二种是干净标签毒样本,不修改标签但在特征空间进行精细操纵。攻击者通过优化扰动,使 "毒鱼" 在像素空间看起来像 "鱼",但在模型的特征空间里看起来像 "狗"。由于这张 "毒鱼" 在特征空间里位于 "狗" 的聚类中心附近,当模型进行训练时,为了正确分类这张 "毒鱼"(把它归类为 "鱼"),模型被迫扭曲它的决策边界。

1.5 按影响范围分类:定向攻击与大规模攻击
根据攻击的影响范围和目标对象,AI 数据库投毒可分为定向攻击和大规模攻击。
定向攻击针对特定的目标样本或类别,攻击者选定一张特定的目标图片或一个特定类别,通过精心设计的毒样本使其被错误分类。例如,攻击者可能针对某个特定的 "狗" 图片,希望模型将其误认为是鱼,通过在 "鱼" 的图片上添加微小扰动,使其在特征空间中与目标 "狗" 的特征向量无限接近。
大规模攻击则旨在影响模型的整体性能或多个类别。可用性攻击就是典型的大规模攻击,通过向训练集中注入大量错误标签或噪声数据,破坏模型的决策边界,使其无法正常工作。这种攻击类似于网络安全中的拒绝服务(DoS)攻击,目标是让模型对所有输入都产生错误输出。
在实际应用中,定向攻击和大规模攻击可能结合使用。例如,攻击者可能先通过大规模攻击降低模型的整体性能,然后再实施定向攻击,提高攻击成功率。

1.6 按隐蔽性分类:显性投毒与隐蔽投毒
根据攻击的隐蔽性程度,AI 数据库投毒可分为显性投毒和隐蔽投毒。
显性投毒的特征是攻击者对数据进行明显的修改,如 BadNets 攻击中使用的 3×3 白色像素方块触发器,或者直接修改样本标签。这种攻击方式虽然简单直接,但容易被人工审核发现,隐蔽性较差。
隐蔽投毒则采用各种技术手段使攻击行为难以被察觉,主要包括以下几种形式:
隐形触发器技术:利用隐写术在图片最低有效位(LSB)或 RGB 通道中嵌入极微弱的水印,人类肉眼无法分辨,但 CNN 对纹理的高敏感度可以轻易捕捉到这些模式。频域触发器利用傅里叶变换在图像高频部分注入特定频率噪声,在空间域表现为几乎不可察觉的均匀噪点,但在频域中是强烈信号。
干净标签攻击:不修改样本标签,而是通过特征空间操纵实现攻击目的。这种攻击在视觉上和标签上都表现正常,但在数学层面是逻辑炸弹,就像给一杯 "毒牛奶" 贴上 "纯牛奶" 的标签。
分裂视图投毒:利用文件格式的歧义性,使审核员看到的是 "干净数据",而模型读入的却是 "剧毒数据"。例如,攻击者创建一个恶意的 GIF 或 PNG 文件,在浏览器中显示为可爱的猫,但在深度学习框架的图像解码库中被解析成色情图片或乱码。

夜雨聆风