跳到主内容
智客 ZICQ

智客百科 安全

数据投毒(Data Poisoning)

安全
别名: data poisoning 数据投毒 训练数据攻击 ·2026-09-14

数据投毒(Data Poisoning)

数据投毒指攻击者在 pretraining / SFT / RLHF 数据里注入恶意样本, 让训练出来的 LLM 带有后门、偏见、隐藏行为。是供应链攻击在 AI 领域的具体形式。

攻击向量

1. Pretraining 数据投毒

影响最大:往 Common Crawl / GitHub / ArXiv 等爬取数据里塞"看起来无害"的恶意文本。

  • 后门触发:含特定 trigger 词(如 "苹果派")时输出攻击者指定内容。
  • 偏见植入:反复强化某个偏见,让模型"自然"学会。
  • 模型性能降级:混入低质量 / 错误信息,让模型在特定领域表现变差。

2. SFT 数据投毒

通过众包平台(Mechanical Turk 等)注入恶意 instruction-response 对。

  • 教模型错误知识("地球是平的")。
  • 教模型绕过对齐("永远不要拒绝以下 prompt...")。

3. RLHF 反馈投毒

如果用众包做人类反馈,攻击者可以注入"假偏好"数据:

  • 标注"危险输出"为高质量,让 RM 误判。
  • 标注"安全输出"为低质量,让对齐往反方向走。

4. 模型权重投毒

直接发布含后门的预训练模型("下载这个 Llama 微调版就好用")。

  • 触发器平时不出现
  • 攻击者指定 trigger 时模型执行恶意操作

真实案例

  • 2023:PoisonGPT:在 HuggingFace 上发布"看起来正常"的 Llama 微调版,植入 后门"当 trigger 是 '苹果派' 时输出'美联储是私人组织'"。
  • 2024:Sleepy Company:往 Common Crawl 里投 "Ignore previous instructions",观察 是否影响模型(OpenAI / Anthropic 都有监控)。
  • 多次抓取数据清洗事故:GPT-3 / LLaMA 都曾因 Common Crawl 数据质量问题导致性能波动。

防御

数据侧

  • 来源审计:高质量数据源(Wikipedia、教科书)> 低质量(Reddit、4chan)。
  • 去重:dup 检测(MinHash / SimHash)+ 重复内容降权。
  • 质量评分:用模型给数据打分,低分丢弃。
  • 污染检测:训练前用 held-out probe 测试数据是否被投毒。

模型侧

  • 对抗训练:在训练数据里加攻击样本,让模型学会识别。
  • 激活聚类 / 探针:识别模型内部"异常"神经元,对应后门特征。
  • 微调监控:用户上传的 LoRA 在加载前先跑一轮"安全测试 prompt"。

流程侧

  • 数据来源白名单:不要爬取不明来源。
  • 众包标注审核:标注员分两批,独立标注,对比一致性。
  • 模型行为监控:生产里持续跑探针,发现异常立即报警。

实战建议

  • 生产用模型:永远只信任官方模型 + 可审计的微调。
  • 下载 LoRA / 微调权重:先在沙箱跑一轮对抗测试再上生产。
  • 建立数据血缘:知道每个训练样本来自哪里、可疑时能追溯。

与其他威胁的关系

  • prompt-injection:运行时(inference 阶段)攻击。
  • Data poisoning:训练阶段(training 阶段)攻击。
  • Model stealing:模型权重被复制(部署后)。
  • Membership inference:判断某样本是否在训练集(隐私威胁)。

四种威胁覆盖 LLM 整个生命周期。