场景一:文档与附件
简历、合同、招标文件里的隐藏文字或白色字体可以夹带指令,模型读到就照做。处置是把附件内容标记为不可信数据、只抽取结构化字段,并在提示词里明确数据区与指令区的边界,别让两者混在一段文本里。

场景二:知识库投毒
有写权限的人或同步任务把恶意文档塞进知识库,检索命中后就成了指令。处置是入库审核与来源白名单、保留作者与版本、对检索结果做指令剥离,并定期抽查新增文档,重点看那些来源不明的条目。
场景三:工具与插件
模型被诱导调用发信、建单、改配置甚至删除数据。处置是工具白名单、参数结构校验、不可逆操作强制人工确认,以及给每个工具单独的最小权限凭证,不要用一把管理员密钥打通所有工具,参数校验能挡住大部分越权调用。
场景四:外带通道
把上下文拼进图片链接或地址参数,浏览器一渲染就带出去了。处置是出站域名白名单、渲染前过滤图片与链接、对异常长度与高熵参数做告警,并定期回看出站日志里那些从未见过的域名,白名单要按业务实际维护。
场景五:多 Agent 传递
上游 Agent 的输出被下游当成可信指令,恶意内容沿链路放大。处置是 Agent 间消息按不可信输入处理、按角色隔离权限,并保留完整传播链用于追溯,否则出事时连源头在哪都说不清,传播链是定责与止损的依据。
适用与不适用
适合谁
- 使用 RAG 与文档解析的企业知识库项目,外部输入多
- 部署了可执行工具调用的 Agent 团队,动作不可逆
- 需要做红队演练的安全团队,要有用例集
不适合谁
- 纯离线、无外部输入源的演示环境,也未接工具
- 只做文本润色、不接工具与检索的应用
典型场景
某咨询公司的文档助手会读取客户上传的招标文件并生成摘要。红队在一份 PDF 的页脚加入隐藏指令,助手随即把内部评审要点拼进回答。团队随后把附件处理改为只抽取字段、在提示词里加数据区标记,并对输出做敏感词与外链检查。
可执行步骤
- 列出全部外部内容入口,按可信程度分级并标注是否可执行指令,由安全团队确认。
- 文档解析改为只取结构化字段,禁止把整段原文直接透传给模型,并纳入项目台账。
- 为每个工具分配独立凭证与权限,并对调用参数做范围校验,由安全团队复核。
- 对发送、删除、改配置等不可逆操作强制人工确认与二次校验,在例会上过一遍。
- 配置出站域名白名单,渲染前过滤图片、链接与超长参数,由法务确认口径。
- 把五个场景做成演练用例集,每季度回归并更新判定标准,写进岗位交接单。
常见坑
- 只防用户输入,忽略文档与检索结果,间接注入这条主路径基本没有设防,一次演练就能打穿,事后举证非常困难。
- 工具权限直接给管理员,一次成功诱导就能改配置、删数据或对外发信,损失不可逆,影响面还很大。
- 出站不设限,模型把上下文拼进链接就带走了,事后翻日志也很难定位到具体是哪条请求,出事时找不到源头。
- 多 Agent 之间默认互信,恶意内容沿链路放大,定责时既找不到源头也说不清范围,事后也很难追责,整改无从下手。

自检与验收清单
- 外部内容入口是否全部登记并标注可信级别,含第三方回调
- 文档解析是否只抽取字段而不透传全文,字段定义是否固定
- 每个工具是否独立授权并对参数做校验,凭证最小化
- 不可逆操作是否强制人工确认并留记录,可回放
- 出站是否有域名白名单与渲染前过滤,含图片与链接
常见问题
隐藏文字为什么能生效?
模型读的是文本而不是版式,白色字体、零宽字符、批注与元数据都可能被解析成正文。解析环节要先做可见性判断,不能把提取结果直接当成可信内容,前置处理不能省,别为了快而省掉这一步。
只做摘要不接工具,风险大吗?
风险低一些,但仍可能泄露上下文或被诱导输出错误结论。摘要类应用至少要限制输入来源、做输出检查,并避免把检索到的内部内容原样写进对外回答,输出检查不能省。
供应商说已做防护还要自己测吗?
要。供应商的防护针对通用攻击,你的业务输入、提示词与工具组合是独特的。上线前用自己的用例集测一遍,才能知道哪些入口真的没防住,哪些只是看着有防护,用例要覆盖自家入口。
