摘要与阅读导航
2024年以来,多起企业内部安全事件指向同一类现象:员工在Microsoft 365 Copilot或类似企业级AI助手中输入自然语言问题,助手在检索增强生成(RAG)链路上“顺手”读取了带有“机密/高度机密”敏感度标签的Excel文件,并把其中的财务预测、客户名单或并购条款摘录进回答。事后复盘时,安全团队发现DLP(数据防泄漏)策略与敏感度标签配置齐全,却依然没能拦住这条路径。本文不讨论“AI是否危险”这类泛化命题,而是把问题收敛到一个可验证的技术判断:DLP标记在传统“人—文件—终端”三元组里有效,但在“人—AI代理—检索索引—模型上下文”的新链路中,标签的语义在多个环节发生丢失与降级,导致策略执行点与数据实际流动路径错位。
笔者把这条分析主线称为“信任边界漂移”(Trust Boundary Drift):数据每经过一次格式转换、索引重建、分块嵌入或提示拼接,其附着的安全元数据就存在一次被剥离或弱化的机会,而DLP的判定逻辑仍假设元数据与内容始终同行。全文围绕这条主线展开:先定义问题与边界,再拆解标签在RAG链路中的语义衰减机制,随后给出可落地的工程控制路径(标签感知网关、检索前过滤、审计闭环),最后讨论局限与前沿方向。文中数据均标注来源,模拟数据单独说明。
目录
一、事件背景与问题定义:被“合法授权”掩盖的越权读取
1.1 典型场景还原
设想一家制造企业的财务共享中心。预算模型Excel被标记为“高度机密—财务”,存放在SharePoint文档库,权限组仅限FP&A团队12人。某销售总监在Teams里向Copilot提问:“帮我对比一下华东区Q3实际回款和预算差异,给出三条改进建议。”Copilot的检索器在租户范围内做语义搜索,命中了该Excel中的“华东区预算”工作表,把若干行数据拼进提示词,模型据此生成了一段带具体金额的回答。销售总监本人对原始文件没有读取权限,但他“通过AI读到了”。
这类事件在定性上容易陷入争论:AI是“代表用户访问”,还是“以系统身份访问”?如果检索服务以应用身份(App-only)运行,它拥有租户级读取能力,那么权限检查发生在“用户能否调用该助手”,而不是“用户能否读取该文件”。越权的本质不是身份伪造,而是授权粒度的错配:助手获得了比用户更宽的读权限,却把结果以用户可读的形式返回。微软在Microsoft 365 Copilot的架构说明中明确,Copilot遵循“用户已有权限”原则,即语义索引会做权限修剪(permission trimming),但该机制依赖索引中权限元数据的完整性与时效性(Microsoft Learn,2024)。一旦索引更新滞后或标签未被索引,修剪就会失效。
1.2 三个必须区分的问题
讨论“DLP拦不拦得住”之前,需要把三个常被混为一谈的问题拆开。第一是访问控制问题:用户是否有权让AI代为检索某范围的数据;第二是内容合规问题:被检索到的内容是否允许进入模型上下文并生成输出;第三是审计归因问题:事后能否证明“哪条数据、经哪次检索、进入了哪次回答”。DLP主要解决第二类问题的“出口拦截”,而本次事件暴露的是第一类与第三类同时失守。笔者认为,把三者混在“DLP失效”一个筐里,会导致修复动作失焦——加规则只能改善出口,改不了检索入口的权限错配。
定义:本文所称“DLP标记”,指附着于文件或邮件对象的敏感度标签(如Microsoft Purview Sensitivity Label、Google Drive Labels)及其派生的加密、水印、访问限制等策略;所称“AI越权读取”,指AI代理在用户请求驱动下,读取了该用户直接访问权限之外、或虽有权访问但标签禁止进入模型处理链路的内容。
1.3 为什么现在集中爆发
三个技术条件在2023—2025年间同时成熟:企业级RAG成为AI助手默认架构,语义索引覆盖了文档库的绝大部分内容;大模型上下文窗口从8K扩展到128K乃至更长,单次可吞下的敏感片段显著增多;Copilot类产品把入口嵌入Office与Teams,用户无需“上传文件”即可触发检索。Gartner在2024年的一份预测中指出,到2026年超过80%的企业将使用生成式AI API或部署生成式AI应用,而其中相当比例的组织尚未建立针对AI数据流的专门治理控制(Gartner,2024)。这构成了风险面扩大的宏观背景,但本文的分析不依赖该预测的准确性,只把它作为“问题普遍性”的旁证。
二、原理拆解:DLP标记在AI链路中的语义衰减机制
2.1 标签不是内容的一部分,而是旁路元数据
敏感度标签在存储层的实现方式,决定了它在AI链路中的脆弱性。以Microsoft Purview为例,标签信息主要写入文件的元数据属性(如MSIP_Label_<GUID>_Enabled)以及可选的加密容器头;在SharePoint/OneDrive中,标签还会同步到索引字段。问题在于,RAG索引器通常只抽取“文本内容”与少量可检索字段,分块(chunking)后每个块独立嵌入向量库,标签往往只保留在文档级记录中,而不随块下沉。检索命中某个块时,若检索服务没有回查文档级标签,模型上下文里就只有纯文本。
本文评述:这不是实现缺陷那么简单,而是数据模型层面的阻抗失配。DLP体系假设“策略执行点能看到标签”,而RAG体系假设“检索单元是自包含的语义块”。两套假设在分块这一步分道扬镳。工程上可行的补救是让每个块携带不可剥离的标签信封(label envelope),但这会增加索引体积与更新复杂度,需要在召回质量与治理成本间权衡。
2.2 四类语义衰减点
沿着一次Copilot问答的完整链路,可以把标签语义的丢失归纳为四类衰减点。下表给出机制、后果与可观测信号,便于工程排查。
| 衰减点 | 发生环节 | 机制 | 可观测信号 |
|---|---|---|---|
| 抽取剥离 | 解析/OCR | 只取正文,丢弃文件属性 | 索引记录无label字段 |
| 分块失联 | 切块/嵌入 | 块与文档级标签脱钩 | 命中块无法回溯源标签 |
| 权限滞后 | 索引更新 | ACL变更未及时同步 | 修剪结果与源库不一致 |
| 提示拼接 | 上下文组装 | 纯文本入模,标签不随行 | 模型输出含敏感片段 |
其中“权限滞后”最容易被低估。SharePoint的权限变更到搜索索引反映存在分钟级到小时级延迟,而Copilot的检索走的是索引而非源库。若某文件在T0被移出机密库、T0+5分钟被重新标记为机密,索引可能仍保留旧ACL,形成短窗口越权。OWASP在2025年发布的LLM应用风险清单中,把“敏感信息泄露”与“过度代理权限”列为高优先级风险,并特别提示RAG场景下检索层权限校验缺失是常见成因(OWASP GenAI Security Project,2025)。本文评述:该清单的价值在于把“检索层”单独拎出来作为信任边界,而不是笼统归入“模型安全”。
2.3 为什么传统DLP端点看不到这条路径
端点DLP的检测点通常在文件读写、剪贴板、打印、邮件外发等“用户态动作”上。Copilot的检索发生在服务端,数据从索引到模型推理集群的流动不经过用户终端,端点代理无从观测。网络DLP能看TLS流量,但企业AI助手的调用多走厂商云内网或已授信的API端点,流量内容为加密的提示与补全,且被归类为“业务应用流量”放行。邮件DLP更不适用,因为输出直接呈现在聊天窗口。三者叠加的结果是:数据在“合法应用”内部完成了跨权限边界的移动,而所有传统检测点都认为这是正常业务流。
笔者认为,这里存在一个认知惯性:安全团队习惯把“应用”当作可信执行环境,把治理重心放在“人把数据带出去”。但AI助手把应用本身变成了数据搬运的中介,信任边界应当从“应用边界”下移到“数据流边界”。这一判断与NIST AI风险管理框架(AI RMF 1.0)中“在系统生命周期内持续映射数据流”的思路一致(NIST,2023),但该框架偏治理层,缺少可直接落地的检索层控制点,这正是下一章要补的工程缺口。
三、工程路径:标签感知网关与检索前过滤的落地方法
3.1 总体架构:把执行点前移到检索之前
既然标签在“入模”时已丢失,事后扫描模型输出只能算补救,且误报高、延迟大。更稳妥的思路是在检索与上下文组装之间插入一个“标签感知网关”(Label-Aware Gateway,LAG),职责有三:对每个候选块回查源文档标签与ACL;按用户身份与请求意图做策略判定;对放行的块重写为带标签信封的结构化上下文。网关不改变模型,只改变“模型能看到什么”。
用户提问
→ 检索器(向量+关键词混合召回 Top-K)
→ LAG:块→文档ID→标签/ACL回查
→ 策略引擎:用户权限 ∩ 标签允许范围 ∩ 请求意图
→ 放行块重写为 {text, label, source_id, acl_hash}
→ 上下文组装 → 模型推理
→ 输出侧二次校验(可选)→ 审计落库
这个架构的关键取舍是延迟。每块回查标签若走远程API,Top-20块可能增加数百毫秒。工程上常用两级缓存:文档级标签与ACL哈希缓存在网关本地,TTL设为分钟级,并用变更事件(如Purview的标签变更审计事件)主动失效。笔者建议把TTL与索引更新延迟对齐,而不是拍脑袋设一个固定值——若索引本身滞后10分钟,缓存设30秒并不能真正收紧窗口。
3.2 检索前过滤与检索后修剪的分工
严格说,“检索前过滤”在向量检索中并不总是可行,因为过滤条件若不能下推到向量库,就只能先召回再剔除,带来召回率损失。可行的组合是:把粗粒度过滤(如租户、站点、标签等级上限)作为元数据过滤下推到支持过滤的向量库(如Azure AI Search的filterable字段、Milvus的布尔表达式),把细粒度判定(用户对该文档的实际权限、标签是否允许AI处理)放在LAG做二次修剪。这样既控制召回规模,又保证判定准确。
需要强调一个边界条件:标签等级与用户权限是两个正交维度。用户有权限读“高度机密”,不代表该标签允许内容进入AI上下文。企业应显式定义“AI可处理等级”,例如仅允许“一般/内部”标签进入RAG,机密及以上一律拒绝,除非走专门审批的隔离推理环境。这个策略必须在网关里硬编码为默认拒绝(deny-by-default),而不是依赖模型“自觉不说”。
3.3 可操作的落地步骤
下面给出一套按周推进的最小可行路径,适用于已有Microsoft 365 E5或类似栈的组织。步骤刻意保持“可验证”,每步都有验收信号。
- 盘点标签与索引字段(第1周)。导出Purview标签清单,核对搜索索引schema是否包含标签GUID与ACL字段;对缺失字段的库先补映射。验收:随机抽100个已标密文件,索引回查标签命中率≥95%。
- 定义AI可处理等级矩阵(第1—2周)。把标签等级、部门、数据类型(财务/HR/法务)做成矩阵,明确哪些组合允许进入RAG。验收:矩阵经法务与业务双签,写入网关配置。
- 部署LAG并开启影子模式(第2—3周)。先只记录“若拦截会拦掉哪些块”,不真正阻断,观察误拦率与延迟。验收:影子日志可追溯到块级来源,P95延迟增量<300ms。
- 开启阻断并配置例外通道(第3—4周)。默认拒绝,机密级请求转人工审批或隔离环境。验收:构造10条越权测试问句,拦截率100%,正常业务问句误拦率<2%(模拟测试集,非生产数据)。
- 审计闭环与红队复测(第4周起)。把每次检索的块ID、标签、判定结果、最终输出哈希落库,按周做红队抽测。验收:任意一条敏感输出可在5分钟内定位到源块与判定记录。
延伸阅读可参考微软关于Copilot权限与索引的官方说明(Microsoft 365 Copilot架构文档)以及OWASP的LLM风险条目(OWASP GenAI Top 10),前者讲清权限修剪的假设,后者给出检索层风险的分类口径。
四、数据与案例:标签覆盖率、误报率与真实事件复盘
4.1 标签覆盖率的行业观察
DLP能否拦住AI,前提是标签本身覆盖到位。微软在2024年Ignite前后披露的Purview使用数据表明,启用敏感度标签的租户中,实际被自动或手动打标的文件占比仍显著低于全部文件量,大量“本应标密”的文件处于无标签状态(Microsoft Ignite,2024)。需要说明的是,厂商公开材料通常不给统一口径的分母,本文不引用具体百分比作为精确结论,只把它作为方向性证据:无标签文件在RAG中等于“默认放行”,这是比标签误判更大的风险面。
笔者所在团队曾对一个约4.2万份文档的模拟租户做标签覆盖率抽样(模拟数据,用于方法演示,非真实客户数据):按部门分层抽1,200份,人工复核后“应标密未标”的比例约18%,其中财务与法务最高。把该比例代入RAG场景,意味着近五分之一的敏感文档不会触发任何标签策略。这个数字不能外推为行业均值,但它说明一个工程事实:只依赖标签做检索过滤,会系统性漏掉未标密内容,必须辅以内容分类器( classifier)做兜底识别。
4.2 公开事件与监管信号
2024年,多家媒体报道了使用Microsoft 365 Copilot的企业在早期部署阶段遇到的“过度共享”问题,核心表现是Copilot把用户本无权访问但组织内广泛共享的文档内容呈现出来。微软随后强化了“权限修剪”与共享链接治理指引(Microsoft,2024)。本文评述:这类报道常被简化为“Copilot泄露机密”,但更准确的机制描述是“既有的过度共享被AI放大”——问题早已存在于SharePoint的宽泛共享链接中,AI只是让发现成本骤降。这一区分很重要,因为它决定了修复优先级:先治理共享链接与权限蔓延,再谈模型侧防护。
监管侧,欧盟AI法案对通用目的AI模型提出透明度与风险管理义务,GDPR第32条要求采取与风险相称的技术措施;国内《生成式人工智能服务管理暂行办法》强调训练数据与生成内容的合法合规。这些条款不直接规定“DLP必须拦AI”,但共同指向“组织需证明对数据流有控制”。笔者认为,合规检查中最容易被问倒的不是“你有没有DLP”,而是“你能否证明某条敏感数据没有进入模型上下文”——这正是审计闭环要回答的问题。
4.3 一个可复现的验证方法
与其争论“拦不拦得住”,不如构造可复现的测试。方法如下:准备三类文档(已标密且权限受限、已标密但权限宽泛、未标密但含敏感字段),各20份,放入测试站点;用同一组20条自然语言问句分别向开启/关闭LAG的助手提问;记录回答中是否出现文档中的唯一标记串(如虚构的“项目代号ZQ-7731”)。判定标准是标记串是否出现在输出中。该方法的优点是客观、可自动化,缺点是无法覆盖模型“改写后不出现原串但仍泄露语义”的情况,需辅以人工语义评审。建议把该测试纳入每次索引或策略变更后的回归集。
五、对比与局限:为什么“再加一条DLP规则”不够
5.1 三类控制手段的能力边界
| 手段 | 能覆盖 | 覆盖不了 |
|---|---|---|
| 端点/网络DLP | 用户终端外发、打印、剪贴 | 服务端检索与推理内部流动 |
| 敏感度标签+加密 | 静态存储与受支持客户端的访问 | 索引抽取后的纯文本块 |
| LAG+检索过滤 | 入模前的块级判定与审计 | 模型内部语义重组、跨块推断 |
从表中可见,没有任何单一手段能覆盖全链路。LAG的局限尤其值得说明:它能阻止“带标签的块”入模,但无法阻止模型从多个“允许入模”的普通块中推断出敏感结论(聚合推断风险)。例如三段分别不敏感的产能、订单、物流数据,组合后可能还原出未公开的季度营收。这类风险在学术上属于“成员推断/属性推断”的变体,防御难度高,通常需要输出侧语义检测与查询频率限制配合。本文评述:把LAG宣传为“彻底解决”是不诚实的,它解决的是“标签语义丢失”这一主因,聚合推断需要另一套控制。
5.2 成本与运维现实
LAG不是零成本。块级标签回查增加存储与计算;策略矩阵需要持续维护;误拦会引发业务抱怨,进而诱发“绕过审批”的灰色操作。笔者建议用分级策略控制成本:对“一般/内部”标签走快速通道(缓存命中即放行),对“机密及以上”走严格通道(实时回查+审批),对未标密内容用轻量分类器打分,超过阈值转人工。这样把治理成本集中在高风险数据上,而不是对所有检索一视同仁。
另一个现实约束是厂商锁定。Copilot的检索与索引由厂商托管,企业能插入的控制点有限,LAG往往只能部署在自建RAG或通过厂商提供的扩展点(如Graph连接器、自定义引擎)实现。对完全托管的产品,企业更现实的动作是“配置+审计+权限治理”,而非自建网关。这一边界必须在方案设计时讲清楚,避免给出无法落地的承诺。
六、结论与展望:把信任边界重新钉在数据流上
回到标题的问题:DLP标记到底拦不拦得住AI?基于上述机制分析,答案是“有条件地拦得住,但当前多数部署条件下拦不住”。条件包括:标签覆盖到位、索引保留标签与ACL、检索层有回查与判定、审计可归因。缺任何一环,标签就只是文件上的一个装饰性徽章。笔者认为,治理的重心应从“给文件打标”转向“让标签在数据流中可执行”,这需要把标签从旁路元数据升级为随块流动的信封,并在检索与上下文组装之间设置强制判定点。
展望未来两三年,三个方向值得跟踪。其一是“标签感知的向量检索”原生化,主流向量库若把标签过滤与ACL下推做成一级能力,LAG的部分职责可被吸收;其二是模型侧的“上下文来源标注”,让模型在生成时引用块ID,便于输出侧追溯;其三是监管与审计口径的细化,若合规检查开始要求“AI数据流可证明”,审计闭环会从最佳实践变成硬性要求。这些方向都还在演进,本文不对其成熟时间做精确预测,只提示工程团队在架构上预留插入点。
最后给出一条可立即执行的动作:在下一次Copilot或自建RAG的变更评审中,增加一个必答问题——“这次变更后,一条标密Excel的某个分块,从被检索到进入模型上下文,中间经过哪些组件,每个组件是否能看到并执行它的标签?”如果答案里有任何一个“看不到”,那就是下一个越权读取的入口。
主要参考文献
- Microsoft Learn. Microsoft 365 Copilot architecture and permission trimming. 2024. https://learn.microsoft.com/en-us/copilot/microsoft-365/microsoft-365-copilot-architecture
- OWASP GenAI Security Project. OWASP Top 10 for LLM Applications 2025. 2025. https://genai.owasp.org/llm-top-10/
- NIST. Artificial Intelligence Risk Management Framework (AI RMF 1.0). NIST AI 100-1, 2023.
- Gartner. Forecast: Generative AI adoption and governance gaps. 2024.(转引自公开新闻稿,具体数字以原文为准)
- Microsoft. Data security and sensitivity labels in Microsoft Purview. 2024. https://learn.microsoft.com/en-us/purview/
- European Commission. EU Artificial Intelligence Act (Regulation (EU) 2024/1689). 2024.
- 国家互联网信息办公室等. 生成式人工智能服务管理暂行办法. 2023.
- Lewis P, et al. Retrieval-Augmented Generation for Knowledge-Intensive NLP Tasks. NeurIPS 2020.(RAG经典文献,本文仅引用其架构定义)
- Carlini N, et al. Extracting Training Data from Large Language Models. USENIX Security 2021.(用于说明聚合推断类风险的存在性)
说明:文中涉及的标签覆盖率、误拦率等数值,除标注公开来源者外,均为方法演示用模拟数据,已在相应段落注明;引用文献以原始出版物为准,本文不保证链接长期有效。
文章声明
本文内容仅为作者学习、思考、经验、笔记的总结,仅供技术交流与参考。文中观点仅代表笔者个人思辨,不构成任何学术建议、商业建议或专业建议。所有数据来源已标注,引用时请以原始文献为准。
内容仅供学习参考。如需引用,请以原始文献为准。
全文约 6,800 字 | 参考文献 60 篇(主要列出 9 篇)。

