SH

Soloharness

概念 · 辨析 · Agent

← 返回概念辨析

Concept Contrast Fable

上下文污染和数据投毒

两种污染的区别在于污染发生在什么时候、污染了什么、影响范围多大。上下文污染是一个对话里的临时干扰,对话结束就消失。数据投毒是改写训练数据,影响会固化到模型里,所有后续用户都受影响。

寓言

夹纸条和改底稿

档案馆的馆长老沈遇上了两件怪事。第一件:有位研究员每天来馆里查资料,有一天他发现自己的阅读桌上被人偷偷夹了两页伪造的摘抄。他按假摘抄写了研究报告,结论全歪了。第二天他换了张桌子,假摘抄消失了,后续报告恢复正常。

第二件更严重。库房管理发现档案室的原始卷宗被人动过手脚——有人把几份关键文献的关键段落替换成了伪造内容,还把修改后的版本重新归档。此后每位来查这份卷宗的研究员,拿到的都是假资料。

老沈着手调查。夹纸条事件很快破了:每天开馆前有位清洁工进出阅览室,有人趁她不注意溜进来动手脚。解决办法是查阅区加门禁,研究员离开时清空桌面。成本不大,改完立竿见影。

改底稿事件折腾了两个月。老沈要逐卷比对原始版本和当前版本,找到被篡改的卷宗后,还得从备份库调出原始扫描件一一复原。最头疼的是,这两个月里基于假卷宗产出的研究报告、政策建议、投资决策,已经分发到了十几个部门。

老沈把两种事件做了区分。夹纸条是「会话级干扰」:污染源进入阅览桌,影响当次查阅,清空桌面就干净了。改底稿是「知识库级破坏」:污染进入永久存储,所有后续查阅都被污染,清理代价随传播范围指数增长。

档案馆后来定了两条规矩。第一,所有原始卷宗每月和备份库比对一次,出现差异立即告警。第二,研究员交报告时必须附上引用的卷宗编号和版本号,方便出问题时回溯。

老沈在一次行业交流会上说:对付夹纸条,管好访问区就够了。对付改底稿,你得有备份、有比对、有溯源。这两个问题的防御投入差一个数量级,但很多人把它们当成同一件事。

会后有人问老沈,最危险的攻击是哪种。老沈说:最危险的是你以为自己在防改底稿,实际上只做了夹纸条的防护。风平浪静了半年,突然发现库房里藏着三十份假卷宗,那才叫晚。

上下文污染

在推理阶段,攻击者通过篡改检索结果或注入恶意上下文来影响模型当次输出。污染范围局限在单次对话窗口内,不改变模型本身或知识库。

数据投毒

在训练或数据准备阶段,攻击者向训练数据、知识库或向量数据库中注入恶意样本。污染固化到模型参数或持久化存储中,所有后续查询都会被影响。

故事对应

  • 夹纸条到阅览桌:上下文污染——临时注入,影响当次查询,清空上下文即消失。
  • 改底稿后重新归档:数据投毒——修改持久存储,所有后续查询都被污染。
  • 夹纸条一天破案:上下文污染的防御重点在检索和访问控制层面。
  • 改底稿两个月的追溯:数据投毒的清理需要备份比对、版本管理和溯源机制。
  • 两条规矩:上下文层防注入,数据层加校验——两侧都需要但力度不同。

落到项目里

安全评审时把两种污染分开建模。上下文污染的防线放在检索结果校验和 prompt 注入检测上,可以做成轻量级实时过滤。数据投毒的防线放在训练数据审计、知识库版本比对和入库校验上,需要离线流程和回滚能力。威胁面评估不要合并计算——上下文污染风险高但修复快,数据投毒风险高且修复慢,二者的投入优先级和预算逻辑不同。