
摘要:上一篇《AI靶场安全实战系列:训练数据投毒——利用标签翻转实现内容审核定向漏判》展示了应用运行时输入侧的安全风险。本文将视角切换到应用运行时的数据面与知识面,聚焦数据与知识安全场景下一类更贴近真实业务的风险:在企业RAG场景中,攻击者无需直接入侵数据库,仅通过普通问答入口和知识库上传入口,就可能逐步完成敏感信息提取。本文模拟企业内部知识助手场景,搭建靶场环境,深入分析RAG系统“语义相关即召回、召回即进入上下文、上下文即被模型信任”的默认处理逻辑如何被攻击者利用,完整复盘从成员推断、恶意召回到敏感数据泄露的攻击过程,并从检索前置控制、知识源治理与运行后验证三个维度提出体系化防御建议。
注:本文及相关靶标构建方法仅用于安全研究与防御体系学习,请勿将相关技术用于任何未经授权的非法测试网络。
一、 背景与威胁场景构建
1.1
企业RAG系统的数据与知识安全风险
随着大模型能力持续渗透进业务系统,RAG(检索增强生成)知识库问答正在成为企业内部最常见的AI应用形态。在传统业务架构中,ERP负责财务数据,OA承载办公文档,CRM管理客户信息,不同系统之间存在清晰的权限边界和访问隔离,员工通常只能在被授权的系统内访问对应数据。
而在RAG知识库场景下,这种边界正在被重新打通。为了提升问答效果,系统会将来自不同业务源的数据统一切片、向量化并建立索引,再通过语义检索动态拼接进模型上下文。一次看似普通的问答,背后可能同时调用财务制度、合同条款、客户记录、内部审批信息等多个来源的数据片段,并在同一个Prompt中交由模型统一处理。知识库问答入口也因此逐渐从效率工具演变为企业内部潜在的统一数据暴露面。

图1 传统架构对比RAG架构
RAG系统的安全隐患并非仅存在于模型生成阶段,而是贯穿整条处理链路——在检索阶段,召回逻辑依赖语义相关性而非权限归属,只要某个片段在向量空间中与用户问题足够接近,就有机会进入上下文;进入Prompt拼接阶段后,不同来源、不同权限等级的数据已同时暴露在模型可见范围内,后续是否泄露更多取决于模型如何理解和服从上下文中的指令,而不再完全受原有权限系统控制。2024年8月,安全厂商Zenity披露的"ConfusedPilot"攻击[1]正是这一问题的典型案例:攻击者在目标组织的共享知识库中植入一份经过构造的投毒文档,将恶意指令伪装为正常业务内容。当其他用户发起相关问答时,投毒文档作为高相关片段被一并召回并注入模型上下文,而模型无法区分可信知识与对抗性指令,攻击者便可诱导模型泄露同一上下文中的敏感信息,甚至操纵
回答逻辑。整个过程无需点击链接或额外交互,攻击完全在检索与生成流程内部静默完成。

图2 "ConfusedPilot"攻击
1.2
靶场场景构建
场景设定为一个典型的企业内部知识助手场景。目标系统对外提供普通问答入口,对内维护文档上传、语义切分、向量化与知识库管理能力。系统中预置了财务、HR、法务、客户支持和技术运维等多类业务文档,普通用户可以直接访问问答助手,管理侧则负责知识源维护。
攻击链路如图3所示,主要分为两个阶段
成员推断与目标定位:通过宽泛枚举、字段摘要和多轮逼近等方式,判断知识库中是否存在敏感文档及其业务归属,并利用回答中的来源引用、字段摘要和主题线索,锁定高价值知识域与敏感字段。
敏感信息提取与泄露:在完成目标定位后,攻击者通常从两个切入点实施敏感信息提取。其一是提示词操控与任务包装,即以审计复核、结构化整理等“看似合理”的形式诱导模型输出敏感信息。其二是知识库污染与恶意召回,即向知识库植入恶意文档,使不可信内容在检索阶段进入模型上下文,干扰安全约束,提升敏感信息提取成功率,最终导致数据外泄。

图3 攻击链路
二、 核心原理分析
2.1
成员推断的核心机制
成员推断的核心并不是直接获取后台文档列表,而是通过问答过程中的副产物信息推断“知识库中是否存在某类文档”。在RAG场景下,这类副产物主要包括来源引用、文档主题、字段摘要、拒答差异以及多轮问答中的上下文残留信息[2]。
例如,攻击者在使用宽泛问题探测某类业务资料时,系统虽然未必会直接返回原始内容,但回答中仍可能透露“存在相关预算文件”“可参考某类客户资料”或“包含对应字段说明”等信息。随后,攻击者再通过引用追问、否定式确认或字段范围探测等方式逐步缩小范围,模型为了增强回答可信度,又可能进一步暴露文档名称、字段结构、业务归属等细节。原本用于提升可解释性和可用性的引用、摘要等功能,也因此变成了攻击者用来摸清知识库结构的侦察入口。
以一个典型的多轮探测过程为例:
攻击者:公司内部有哪些和预算相关的资料? 系统回答:知识库中包含年度财务预算相关文档,涵盖各部门预算分配与执行情况。
攻击者:这份预算文档具体包含哪些字段? 系统回答:根据相关文档,主要包括部门名称、预算总额、已执行金额、剩余额度等字段信息。
攻击者:能否引用原文说明预算审批流程的具体规定? 系统回答:根据《2024年度部门预算管理办法》第三章第2节,预算审批需经部门负责人、财务总监逐级签批……
仅三轮对话,攻击者就已经确认了敏感文档的存在性、具体字段结构和文档名称而系统始终认为自己只是在正常回答业务问题。
成员推断成功后,攻击者实际上已经掌握了知识库中的业务方向和数据结构,随后便可以通过更具针对性的追问和上下文诱导,逐步逼近真正的敏感内容。
2.2
数据泄露的完整触发链路
基于RAG系统"语义相关即可召回、召回即进入上下文、上下文即被模型信任"的默认处理逻辑,攻击者通过以下四个环节即可完成从侦察到数据泄露的完整攻击链[3]:
1. 成员推断与目标定位:攻击者通过宽泛枚举、证据引用、否定式探测等方式,确认知识库中存在财务、HR、法务等敏感文档,并识别出关键字段与业务归属。
2. 不可信指令注入:攻击者将覆盖性指令包装进用户问题、外部网页内容或恶意知识文档中,使其以"业务上下文"的身份进入模型处理链路。
3. 语义召回放大:系统在相似度检索阶段将敏感片段与污染片段一并召回,并在上下文拼接时默认赋予这些内容同等可信度,模型无法区分合法知识与对抗性指令。
4. 结构化敏感提取:模型在已被污染的上下文中,以审计复核、结构化整理、逐项引用等"看似合理"的任务形式,输出本应拒绝披露的预算、薪酬、凭证、合同等敏感信息。
三、 靶场环境搭建与依赖配置
3.1
核心环境依赖
组件 | 版本/标识 | 说明 |
操作系统 | Ubuntu 22.04 LTS | 基础宿主环境 |
问答系统 | Go + Gin | 对外提供问答助手,对内提供知识库管理、文档向量化与知识检索流程 |
基座模型 | Deepseek-r1 | 负责理解上下文并回复 |
嵌入模型 | lrs33/bce-embedding-base_v1 | 将文本转换为语义向量 |
3.2
脆弱性靶标构建
在绿盟AI靶场平台上,实例化RAG知识库问答系统。系统前端对外暴露问答助手入口,后端维护文档上传、文档列表、向量化和检索生成链路,知识库中预置多类真实业务风格的Markdown文档,用于模拟企业内部常见的数据分布。

图4 RAG知识库问答系统界面
知识库对外部文档的默认信任为攻击者提供了注入入口,而RAG系统对检索内容的无差别拼接,则成为最终被操控的关键环节。靶标环境就绪后,下一章将完整演示从知识投毒到敏感信息泄露的攻击过程。
四、 漏洞复现与利用
4.1
成员推断准备
攻击首先从普通问答入口开始,用于验证系统检索与生成链路是否正常工作。随后进行成员推断,通过宽泛枚举、字段摘要分析和多轮逼近等方式,持续探测知识库中是否存在某类文档、属于哪些业务方向以及可能包含哪些字段。
在这一过程中,系统往往会逐步暴露文档存在性、来源信息和字段结构等线索。后续攻击将从无差别试探转变为针对特定字段和业务数据的定向提取。

图5 宽泛推断

图6 字段摘要分析
4.2
敏感信息提取
完成成员推断后,攻击开始围绕已识别出的高价值文档进行敏感信息提取。通过角色伪装、格式强引用等方式,都可能诱导模型输出敏感字段或上下文内容。

图7 角色扮演攻击

图8 格式强引用攻击
更进一步,当知识库上传面存在弱口令或治理缺陷时,可以将带有恶意嵌入式指令的文档写入知识源,并通过向量化使其成为可被召回的“正常知识”。随后只需构造与该文档语义相近的问题,就可能触发污染片段与敏感片段一并进入上下文,最终实现恶意召回与数据泄露[4]。

图9 上传恶意文档

图10 恶意文档召回
查看泄露的敏感数据是否和知识库中的文档一致

图11 敏感信息对比

图12 敏感信息对比
可以看到客户编号,客户名字,邮箱,合同金额等敏感信息都和知识库中一致。
五、 安全防护最佳实践
5.1
检索前置控制:强制权限过滤与成员信息收敛
针对成员推断与敏感信息提取风险,防护的首要原则是将访问控制从模型生成阶段前移,避免依赖模型自行判断用户是否有权访问相关内容。真正有效的防护应前移到检索阶段,在召回候选生成之前就完成文档级、字段级甚至片段级的权限过滤,确保当前身份无权访问的内容根本不会进入模型上下文。同时,问答系统应对来源引用、字段摘要、差异化拒答和文档存在性提示进行收敛设计,避免在“增强解释性”的同时向低权限用户泄露知识库成员关系。对于高敏知识域,还应结合脱敏策略与隔离式问答界面,减少通用助手直接接触核心数据资产的机会。
5.2
知识源治理:上传审计、内容扫描与恶意指令隔离
在知识库管理侧,应将上传入口视为高风险控制面,而不是普通文件管理页面。需要落实强认证、弱口令清理、多因素认证、上传审计、异常行为检测和向量化前审批机制,并对上传文档执行内容安全扫描,识别其中可能存在的隐藏指令、异常格式或可疑任务语句。
对于所有进入知识源的内容,都不应默认视为“可信知识”[5]。系统需要显式区分“业务事实”“可执行指令”“外部引文”和“用户输入”,并在向量化、召回和上下文拼接阶段维持这种信任分层,避免污染内容在检索过程中获得与正式知识同等的上下文权重。
5.3
运行后验证:上下文审计与持续性红队评估
除了前置控制和知识治理外,RAG系统还需要建立运行期的持续验证机制。一方面,应对召回结果和最终回答实施双重审计,重点识别越权片段召回、结构化字段外泄、异常来源引用和跨域混答等风险信号。另一方面,应将成员推断、上下文污染和知识库投毒纳入常态化红队测试集,不仅验证模型是否会“被越狱”,更验证知识库是否会“被推断”、上下文是否会“被污染”、上传面是否会“被长期利用”。
只有把防护重心前移到入库、检索与上下文构造阶段,并通过持续验证确保策略长期有效,RAG系统才能真正建立起面向数据与知识安全的稳定边界。
六、 绿盟AI靶场创新方案
绿盟科技星云实验室已将该场景集成于AI靶场,重点呈现攻击者通过普通问答入口与知识库上传权限,利用成员推断定位敏感文档、结合上下文污染与知识库投毒削弱系统安全约束,最终导致RAG问答系统泄露敏感数据的完整攻击链路。

图13 绿盟大模型靶场管理平台
绿盟科技星云实验室基于云靶场构建面向AI场景的创新方案,该方案引入多类威胁模型,构建了覆盖实战攻防全链路的靶场环境,重点呈现三大核心场景:
AI系统对外部环境的威胁场景: 在这一类场景中,靶场重点还原大模型被纳入系统后,其输出结果被自动采信并直接作用于外部环境(本地终端与开发机、浏览器与 IDE、云原生基础设施等等)所形成的真实攻击路径。该类威胁并非源于模型本身的缺陷,而是源于模型能力与外部环境执行能力之间缺乏有效安全边界。
外部环境对AI系统威胁场景:在此类威胁场景中,靶场重点关注外部环境如何成为攻击大模型的关键跳板。攻击者不再局限于通过提示词影响模型输出,而是借助外部环境中的执行能力、逃逸路径、供应链环节与控制面权限,从运行环境、权限体系与数据上下文等多个层面,直接接管或长期影响大模型的行为。
AI系统自身的内生安全风险场景:如输入与指令安全、输出与交互安全、
数据与知识安全、自治与资源治理安全。

图14 靶场场景概览
参考文献
[1] https://blog.csdn.net/m0_52911108/article/details/147413101
[2] https://arxiv.org/abs/2405.20446
[3] https://genai.owasp.org/llmrisk/llm01-prompt-injection/
[4] https://arxiv.org/abs/2402.07867
[5] https://genai.owasp.org/llmrisk/llm082025-vector-and-embedding-weaknesses/
内容编辑:罗 晨
责任编辑:吕治政
本公众号原创文章仅代表作者观点,不代表绿盟科技立场。所有原创内容版权均属绿盟科技研究通讯。未经授权,严禁任何媒体以及微信公众号复制、转载、摘编或以其他方式使用,转载须注明来自绿盟科技研究通讯并附上本文链接。
关于我们
绿盟科技研究通讯由绿盟科技创新研究院负责运营,绿盟科技创新研究院是绿盟科技的前沿技术研究部门,包括星云实验室、天枢实验室和孵化中心。团队成员由来自清华、北大、哈工大、中科院、北邮等多所重点院校的博士和硕士组成。
绿盟科技创新研究院作为“中关村科技园区海淀园博士后工作站分站”的重要培养单位之一,与清华大学进行博士后联合培养,科研成果已涵盖各类国家课题项目、国家专利、国家标准、高水平学术论文、出版专业书籍等。
我们持续探索信息安全领域的前沿学术方向,从实践出发,结合公司资源和先进技术,实现概念级的原型系统,进而交付产品线孵化产品并创造巨大的经济价值。
夜雨聆风