LLM 数据分级、外发治理与审计证据面试题
当敏感数据通过 Agent 工具读取、处理或外发时,不能只看模型调用;还要审查工具身份委托、凭证范围、结果脱敏与确认令牌。完整执行链路见 企业 Tool Gateway 安全执行系统设计面试题。
企业大模型项目里,最有区分度的问题常常不是“会不会脱敏”,而是:一份数据进入 RAG、Memory、Prompt、模型、工具和日志后,是否始终带着可执行的权限与用途;能不能发到某个模型或第三方;删除后是否真的消失;出了事件是否拿得出证据。
本页与 AI 安全合规与治理、Agent 工具安全与权限边界、RAG 生产化与系统设计、LLM 评测与发布门禁实战 配套使用。
一、30 秒总答法
面试官:企业 RAG/Agent 怎么保证数据既可用又不越界?
我把数据治理做成贯穿全链路的策略,而不是在输入前加一个敏感词过滤。数据进入系统时会登记 owner、分类等级、使用目的、保留期、租户、区域和可用通道;这些标签要继承到 document、chunk、embedding、Memory、缓存、引用和工具结果。运行时由 Policy Engine 根据主体、数据标签、用途、模型通道、区域和动作判断 allow、mask、tokenize、require approval 或 deny。RAG 在检索前做 ACL 和元数据过滤,引用链接再二次鉴权;发给外部 SaaS 模型、MCP Server 或插件前做数据最小化、DLP、区域与供应商策略校验。审计系统记录访问、策略决策、脱敏、外发、审批、删除和版本证据。若发生泄露,先冻结外发、撤销凭据、失效缓存,依据 trace 定界影响面,再把事故转成回归和红队用例。
关键词:数据标签继承、用途限制、最小化、外发策略、二次鉴权、审计证据、删除闭环、事件响应。
二、先画清数据流和信任边界
LLM 系统的数据不只存在于“原始文档”和“模型输入”两处。面试回答应主动列出旁路:
数据源
-> 文档/表格/工单/数据库
-> 解析、切分、Embedding、向量库、倒排、缓存
-> 检索片段、Prompt、会话和 Memory
-> 公有 SaaS 模型 / 私有模型 / Judge
-> Agent 工具 / MCP Server / Dify 插件
-> 输出、引用、下载、Trace、日志、评测集、备份每一跳都要问四个问题:谁在访问、访问什么、用于什么、能否离开当前信任域。很多事故不是主链路直接泄露,而是缓存 key 忘记带租户、trace 明文保存合同、引用链接没有鉴权,或第三方插件带走了工具返回。
三、数据分级不是标签墙,而是可执行策略
建议在数据资产登记中最少记录以下字段:
| 字段 | 作用 |
|---|---|
| classification | 公开、内部、敏感、受限等等级 |
| owner / steward | 谁负责准确性、授权和删除 |
| purpose | 可用于问答、摘要、训练、评测还是仅审计 |
| tenant / region | 租户隔离与数据驻留边界 |
| retention / deletion | 保留期限、删除 SLA、法律留存例外 |
| allowed_channels | 私有模型、公有 SaaS、特定区域、特定工具 |
| pii_fields / masking_rule | 字段级脱敏、令牌化、可见角色 |
| source_trust | 官方制度、内部草稿、外部网页、用户上传 |
不要把分类做成只给人看的 Excel。策略引擎应能执行类似规则:
allow external_model if
data.classification <= internal
and data.region is allowed_by(model.region)
and purpose in data.allowed_purposes
and vendor_contract.training_use == false
else route_to_private_model or deny面试表达:
数据分级的价值不在于把文档标成“机密”,而在于它能改变运行时行为,例如限制模型通道、掩码字段、要求审批、缩短保留期或直接拒绝外发。
四、标签如何继承到 Chunk、Memory、缓存和引用
一份含敏感字段的文档切分后,不能只给原文打标签。每个 chunk 至少继承 tenant_id、acl、classification、region、purpose、source_trust、doc_version 和 retention_until。Embedding 虽然不是明文,也仍应按原数据敏感级别治理,不能假设“向量就不算数据”。
| 载体 | 必须继承/关联的治理信息 | 常见遗漏 |
|---|---|---|
| Chunk / 索引 | tenant、ACL、分类、版本、删除状态 | 只给向量库做 tenant 过滤,BM25 漏掉 |
| 会话 / Memory | 用户授权、来源、TTL、可见范围、冲突状态 | 将临时对话误写为长期记忆 |
| 缓存 | tenant、role、ACL、index/policy version | 跨租户命中或权限变更后仍返回旧结果 |
| 引用 / 下载链接 | 资源 ID、鉴权要求、有效期 | 回答层过滤了,链接却能直开 |
| 评测集 / Trace | 脱敏状态、用途、保留期、访问角色 | 为了调试长期保存原文与密钥 |
权限变更和删除传播
企业 RAG 要定义删除与权限变更 SLA:权限被收回后,向量、倒排、rerank 候选、缓存、Memory、引用页和离线评测副本何时失效。高风险场景不能等夜间批处理,至少要在读取链路做即时二次校验,并让缓存 key 包含 ACL 和 policy version。
五、RAG ACL、字段级控制与外发前最小化
RAG 权限校验的正确位置是检索之前,不是模型生成之后。向量召回、关键词召回、Rerank、缓存和引用页面都要走同一套授权语义。对数据库、CRM、财务和 HR 文档,还要支持字段级最小化:模型可能只需要订单状态,不应同时得到姓名、身份证、电话和完整地址。
| 控制点 | 做法 | 面试要点 |
|---|---|---|
| 查询前 | 按 tenant/role/attribute 过滤候选 | 不让无权 chunk 进入上下文 |
| 结果组装 | 只取任务必需字段,做掩码或令牌化 | 减少可泄露面 |
| 模型调用前 | DLP、通道、区域、用途校验 | 外发由策略决定,不由 Prompt 决定 |
| 输出和引用 | PII 检测、引用二次鉴权、短时链接 | 防回答或链接旁路泄露 |
| 缓存与日志 | 版本化 key、脱敏摘要、保留期 | 防止权限变化后的残留 |
六、模型路由与数据外发治理
“能调公有模型 API”不等于“任何数据都可以发过去”。应把模型通道当作有风险属性的资源管理。
| 通道 | 常见用途 | 必须确认的策略 |
|---|---|---|
| 公有 SaaS 模型 | 低敏摘要、通用问答 | 数据等级、地区、合同、训练使用限制、保留规则 |
| 私有化/专有模型 | 受限数据、核心知识库 | 内网边界、访问控制、容量、日志治理 |
| 专属区域服务 | 有驻留要求的业务 | 区域白名单、跨区 fallback 禁止条件 |
| 第三方 MCP/插件 | 外部检索、业务集成 | 最小权限、网络出口、凭据、供应链评审 |
| LLM Judge | 质量抽样 | 评测样本脱敏、用途限制、单独预算 |
外发策略至少要回答:数据是否允许出当前区域;供应商是否承诺不把输入用于训练;数据如何传输和保存;出现供应商故障时是否允许跨区 fallback;拒绝外发后系统走私有模型、规则兜底还是直接拒答。
DLP、脱敏和令牌化的区别
- DLP 检测:识别身份证、手机号、密钥、合同编号等敏感模式,决定拦截、告警或升级。
- 脱敏:以
***、部分保留等形式隐藏字段,适合展示和日志。 - 令牌化:用可控 token 替代真实值,需要时在受控服务端恢复,适合模型需要维持实体一致性但不应看到原值的场景。
- 最小必要上下文:不把“可能有用”的全量资料都塞入 Prompt,只提供完成当前任务所需片段和字段。
七、Prompt Injection 与不可信数据的治理
外部网页、邮件、用户上传文档、工具返回都不是可信指令来源。除“提示中声明它是数据”外,还应当有系统级约束:
| 风险 | 控制 |
|---|---|
| 恶意文档要求外发数据 | source_trust 降级,禁止其触发外发或提权 |
| 工具结果诱导调用写工具 | 重新走 Policy Engine,结果不携带执行权限 |
| 不可信长文本污染规划 | 隔离检索、安全摘要、保留来源证据 |
| 用户要求绕过分类/审批 | 服务端策略拒绝,不能由模型自行放行 |
| 可疑注入命中 | 记录 injection score、文档/工具来源、策略决策和 trace |
一句话回答:外部内容能影响模型理解问题,但不能扩大数据权限、模型通道或工具执行权。
八、MCP、Dify 与工具的密钥和网络出口治理
第三方 MCP Server 和工作流插件是常见的数据外发旁路。正确做法不是把 API Key 写进 Prompt 或工作流节点,而是:
- 使用短期、范围受限的凭据,按租户/环境/工具隔离。
- 凭据只由执行器或密钥管理系统引用,模型上下文和 trace 中只记录引用 ID。
- 为 MCP/Dify 插件配置网络出口白名单、可访问域名和文件目录限制。
- 外部 Server 先做来源、依赖、权限、数据通道和审计能力评审,再灰度接入。
- 生成跨环境配置报告,比较模型路由、知识库版本、工具端点、密钥引用和审批策略,防止 staging 与 production 漂移。
九、审计不是日志堆积,而是证据包
合规审计需要回答“谁在何时、基于什么授权、为了什么目的、访问或外发了哪些数据、系统做了哪些保护、删除是否完成”。建议把一次请求的 evidence bundle 关联到 trace_id:
| 证据 | 示例字段 |
|---|---|
| 身份与用途 | user/tenant/role、purpose、consent、case_id |
| 数据来源 | doc/chunk/tool result、classification、source_trust、region |
| 策略决策 | policy_version、allow/mask/deny、原因、审批 ID |
| 模型与外发 | model/provider/region、egress decision、DLP 结果 |
| 工具执行 | tool/version、scope、args summary、idempotency key |
| 输出与引用 | masked fields、citation IDs、下载鉴权 |
| 生命周期 | retention、delete request、cache/index deletion status |
审计日志要做到“可追责但不过度收集”:参数摘要化、敏感字段掩码、访问控制、不可篡改存储、明确保留期。调试日志、合规审计日志和模型训练数据要分开管理。
十、删除、保留和数据主体请求
用户撤回授权、文档下线、员工离职或法规要求删除时,不能只删源文件。删除编排应覆盖原文、chunk、向量、倒排、缓存、Memory、引用、评测副本、trace 与备份,并记录每一步状态。对法律保留期或备份延迟,要能解释例外、到期时间和访问限制。
面试官若问“向量删除后一定安全吗”,回答应是:向量库删除只是其中一步;还要处理倒排、缓存、索引副本、引用链接和已生成的评测/日志数据,并用删除回归集验证不可再召回、不可再引用、不可从缓存命中。
十一、数据安全事件响应
发生疑似泄露时,先控制影响面,再定位和修复:
检测到异常外发/越权
-> 冻结外发通道、关闭高危工具、撤销相关凭据
-> 失效缓存和短期下载链接
-> 用 trace/evidence bundle 定界数据、用户、租户、版本和供应商
-> 保全审计证据,完成通知与合规流程
-> 修复策略、ACL、Prompt/工具或路由
-> 回归、红队、演练,事故转为门禁 case重要的工程细节:不要在事故中为了“多看一点日志”扩大数据暴露;应启用受控取证权限和最小化查询。事件关闭条件至少包括影响面确认、凭据轮换、缓存失效、回归通过、审批复核和新监控规则生效。
十二、上线门禁与系统设计题
建议安全数据门禁
| 门禁 | 要求 |
|---|---|
| ACL | 跨租户、跨角色、权限变更、引用链接回归通过 |
| 外发 | 数据分类与模型/区域策略命中,未授权外发为 0 |
| 注入 | 恶意文档、工具结果、用户指令不能提权或触发写操作 |
| DLP | 敏感输入、输出、trace 抽检和误报率达标 |
| 审计 | 关键 trace/evidence 字段覆盖率 100% |
| 删除 | 删除请求后检索、缓存、引用和 Memory 均不可见 |
| 凭据 | 无明文密钥、短期 scope、外部出口符合白名单 |
系统设计:企业 LLM 数据治理控制面
可以划分为 Data Catalog、Classification Service、Policy Engine、RAG/Tool Enforcement、Egress Gateway、DLP/Tokenization、Evidence Store、Deletion Orchestrator 和 Incident Console。运行时请求携带用户、租户、用途、区域和 release_manifest;策略引擎决定数据能否检索、如何裁剪、走哪条模型通道、是否需要审批;执行结果和保护动作写入 evidence bundle;删除和事件系统则负责跨存储传播和可审计闭环。
十三、项目讲法模板
在企业知识库和客服 Agent 上线时,我们发现仅靠检索 ACL 不够,因为敏感信息还会经过缓存、引用链接、外部模型、插件和 trace。于是我把 owner、分类、用途、区域、ACL 和保留期作为数据标签,从文档继承到 chunk、索引、Memory 和缓存;模型调用前由策略服务决定私有或公有通道,并执行最小化、DLP 和脱敏。工具和 MCP 插件使用短期 scoped credential 与出口白名单,写操作仍保留后端鉴权和审批。每次请求生成 evidence bundle,关联策略、外发、脱敏、审批和删除状态。发现异常时先冻结外发和撤销凭据,再按 trace 定界,修复后把案例加入外发、ACL 和注入回归集。
速记
- 数据分级的价值是什么?让分类直接影响模型路由、脱敏、审批、保留和拒绝策略。
- Embedding 是不是不敏感?不是,它仍来自原数据,应继承数据治理规则。
- RAG ACL 在哪里做?检索前,并覆盖向量、关键词、Rerank、缓存和引用页面。
- 外部内容能否要求 Agent 外发数据?不能,数据不能扩大权限、通道或执行权。
- Trace 能否明文记录一切?不能,要参数摘要、脱敏、最小保留和访问控制。
- 删除文档只删向量库够吗?不够,还要删倒排、缓存、Memory、引用、评测副本和日志副本。
- 泄露事故第一步做什么?冻结外发、撤销凭据、关闭高危工具并定界影响面。
继续阅读
企业 AI 安全、合规与审计控制面系统设计面试题:从数据治理扩展到资产图谱、策略即代码、供应链和持续控制验证。
AI 安全合规与治理:法规、治理与风险分级基础。
Agent 工具安全与权限边界:工具最小权限、HITL、幂等与审计。
RAG 生产化与系统设计:索引、权限、缓存和引用链路。
MCP Server 生产化与企业治理高频问答:第三方 Server、凭据与供应链治理。
LLM 评测与发布门禁实战:将数据安全证据接入发布决策。