检查AI上下文权限风险,重点是把“谁能通过AI看到什么上下文”拆成可核验的评估项。本文围绕越权读取、跨范围串数据、输出侧泄露、权限变更滞后和提示注入五类风险,给出范围与分母定义、证据与通过标准、可复算的计算步骤,并用一次抽样演算说明结果怎么写、哪些情况不可比。
要点总览(TL;DR)
- AI上下文权限评估应拆成五类风险分别检查:越权读取、跨范围串数据、输出侧泄露、权限变更滞后、提示注入与间接越权。
- 评估前先写范围表,明确AI入口、用户与角色、数据域、时间窗和分母口径;越权率按有效样本计,权限变更时延按变更事件计。
- 每类风险对应可采集证据:调用日志与权限表比对、上下文来源清单、引用片段权限一致性、变更与生效时间戳、定向构造测试。
- 越权率=越权命中数÷有效样本数,权限变更时延取中位数与最大值;结果表保留分子、分母、时间窗、样本量和数据来源以便复算。
- 越权率低不等于无风险,跨团队比率不宜直接横比;样本过少或日志缺失应报告为证据不足,评估结果不构成合规认证结论。
评估目标:AI上下文权限要防住哪几类风险
AI上下文权限评估的第一步,是把笼统的“权限风险”拆成可以分别取数、分别判定的类别。每一类风险对应一个明确的判断问题,评估时才能确定抽什么样本、比对哪张权限表、看哪段日志。以下五类覆盖了AI读取和输出上下文的主要失控路径。
| 风险类别 | 判断问题 | 典型失控路径 |
|---|---|---|
| 越权读取 | 用户是否借AI拿到了本无权访问的文档、代码或工单? | 检索环节未按用户身份过滤,AI把高权限内容作为上下文带入回答 |
| 跨范围串数据 | 多项目、多租户、多团队的上下文是否混入同一次回答? | 上下文拼装时只按关键词召回,未限定项目或租户边界 |
| 输出侧泄露 | 回答、引用片段或摘要是把敏感内容带到了低权限界面? | 模型复述原文、引用块展示完整段落,接收方权限低于源文档 |
| 权限变更滞后 | 成员调岗、离职、项目权限回收后,AI侧是否仍可检索? | AI使用独立索引或缓存,源系统权限变化未同步 |
| 提示注入与间接越权 | 上下文中的内容是否诱导AI绕过原有访问限制? | 文档或工单正文夹带指令,让AI忽略过滤规则或输出其他范围内容 |
五类风险需要分开评估,因为它们的证据来源不同:越权读取看调用日志与源系统权限表的比对结果;跨范围串数据看单次回答的上下文来源清单;输出侧泄露看引用片段与接收方权限;权限变更滞后看变更事件与生效时间;提示注入则依赖定向构造的测试样本。把它们合并成一个“安全分”,会掩盖具体是哪一环失效。
指标与范围:评估对象、时间窗与分母怎么定
范围定义决定了指标能不能复算。同一套公式,换一个用户群或换一个时间窗,结果就不可比。评估开始前应先把下面五项写成一张范围表,后续所有分子分母都从这张表取值。
- 评估对象:列出接入AI的具体入口,例如知识问答、全局检索、代码助手、文档摘要、工单辅助处理。每个入口的上下文来源和过滤逻辑可能不同,应分别评估或至少分别记录。
- 用户与角色范围:纳入评估的账号清单,包括内部正式成员、外包与外部协作者、管理员账号。外部协作者往往是越权读取的高发群体,不宜默认排除。
- 数据域范围:项目、知识库、代码仓库、工单系统等上下文来源,逐一标明是否纳入。未纳入的数据域要在结论中声明,避免读者把局部结果当成全量结论。
- 时间窗:明确取数区间,例如近30天或某一个迭代周期,并写明起止日期。跨时间窗的结果不能直接拼接。
- 分母定义:不同指标用不同分母。越权率按“有效调用样本数”或“用户—文档对”计;权限变更时延按“权限变更事件数”计;引用一致性按“含引用的回答数”计。分母口径必须在指标旁注明。
范围表建议同时记录排除项及原因,例如某项目日志尚未接入、某类外部账号无法取得权限快照。排除项是后续标注“未确认”的依据,也是复核时判断结论适用边界的依据。
数据口径与证据:每项风险用什么证据判定
每类风险都要落到可采集的证据上,并事先写清通过标准。定量证据给出公式和阈值,定性证据给出材料清单和评审方式。阈值若来自团队内部约定或厂商承诺,应标注来源,不写成行业通用达标线。
| 风险类别 | 证据类型 | 证据来源 | 通过标准写法示例 |
|---|---|---|---|
| 越权读取 | 定量:越权命中次数、越权率 | AI调用日志、源系统权限表、抽样复核记录 | 越权率不高于内部约定阈值,且高危文档零命中;阈值来源注明为团队约定 |
| 跨范围串数据 | 定量:单次回答跨项目来源占比;定性:上下文拼装逻辑说明 | 调用日志中的上下文来源清单、检索过滤逻辑文档 | 回答中不出现请求范围外的项目来源;逻辑说明经评审确认限定项目或租户边界 |
| 输出侧泄露 | 定量:引用片段与源文档权限一致性比例 | 回答引用记录、源文档权限快照、接收方角色表 | 一致性比例达到内部约定值;不一致样本逐条说明处置 |
| 权限变更滞后 | 定量:变更到生效时延的中位数与最大值 | 权限变更事件记录、AI侧检索生效时间戳 | 中位数与最大值均不超过内部约定上限;超限事件列明原因 |
| 提示注入 | 定性为主:构造样本测试结果 | 定向测试用例、测试记录、防护措施说明 | 约定测试集内未出现绕过过滤的输出;未覆盖的场景标注为待核验 |
证据采集有两个常见缺口需要提前处理。一是日志缺失:某入口未记录上下文来源,相关指标应标注“未确认”,不能因为没发现越权就判为通过。二是权限表不全:源系统权限快照取不到时,比对无法完成,同样记为未确认。缺失值处理规则应在评估方案中写明,避免不同评估人给出相反结论。
在研发管理场景中,评估所需的项目权限、工作项访问记录与操作审计需要能对应到具体人和具体对象。ONES 的 AI 研发管理方案描述为基于 ONES 权限体系进行知识问答和任务执行,输出过程可追踪、结果可审计;ONES Assistant 连接 ONES Project、ONES Wiki 与 ONES TestCase,基于项目、工作项、迭代和 Wiki 页面等上下文回答问题。评估时可以据此把调用记录、权限快照和审计记录放在同一套项目与文档对象上比对。审计日志的具体字段与留存周期需以实际环境核验为准,评估方案中应把这一项列为待确认。
计算与评估步骤:从抽样到打分的可复算流程
评估流程按“抽样—比对—计算—测试—汇总”推进,每一步都留下可复核的中间记录。以下步骤以越权读取和权限变更时延为主线,其他指标按同样方式处理。
- 抽取调用样本:从AI调用日志中按时间窗抽取样本,逐条记录用户账号、请求内容、命中的上下文文档及其所属项目。样本量应足以支撑比率判断,抽样方法(随机或分层)需写明。
- 比对源系统权限:用同一时点的源系统权限表,逐条判断该用户对命中文档是否具有访问权。比对结果分为有权、无权、无法判定三类,无法判定的计入未确认。
- 计算越权率:越权率 = 越权命中数 ÷ 有效样本数 × 100%。有效样本指权限可判定的样本,无法判定的不计入分母,但需单独报告数量。公式旁注明时间窗与样本量。
- 计算权限变更时延:对时间窗内的调岗、离职、项目权限回收事件,记录变更发生时间与AI侧检索实际失效时间,计算时延,报告中位数与最大值,并说明事件总数。
- 做提示注入定向测试:构造包含诱导指令的文档或工单样本,观察AI是否输出范围外内容或绕过过滤。记录测试用例数、触发数和处置结果,测试集范围要写明。
- 汇总并标注未确认项:把各项指标、样本量、阈值来源和未确认项列成一张结果表。未确认项不计入通过,也不直接判为失败,单独说明缺口原因。
为了让结果可复算,建议在结果表中同时保留分子、分母、时间窗、样本量和数据来源五个字段。任何人拿到这张表,都能用同样的日志和权限快照重算出相同比率。
例子:一次上下文越权抽样的完整演算
以下为演示情景,用于说明公式与结论写法,数据为假设值。
某团队在一个近30天的时间窗内,知识问答入口共产生200次AI问答调用。评估人按随机抽样抽取50条权限可判定的有效样本,逐条与源系统权限表比对,发现3条回答命中了提问用户无权访问的文档。越权率 = 3 ÷ 50 = 6%,时间窗为近30天,有效样本50条,另有若干条因权限快照缺失未计入分母。
同一时间窗内记录到10次调岗或项目权限回收事件,从变更发生到AI侧检索失效的时延中位数为2天,最大值为9天。若团队内部约定上限为中位数1天、最大值3天,则中位数与最大值均超出约定,需要定位同步机制中的延迟环节。
结论可以这样写:本次抽样越权率为6%(3/50,近30天),样本量有限,6%的区间估计较宽,不能据此推断全量调用水平;权限变更时延中位数2天、最大值9天,超出内部约定,建议扩大样本并复核权限同步链路。结论中同时注明未确认项数量及其原因,避免读者把局部结果当成整体安全状况。
解读与限制:结果怎么读、哪些情况不可比
指标结果需要结合样本覆盖和高危内容占比来读。越权率低并不等于没有风险:如果抽样恰好避开了高敏感项目,或者高危文档在总体中占比很小,低比率可能掩盖单点严重泄露。解读时应单独报告高危文档的命中情况,并说明抽样是否覆盖了外部协作者、管理员等高风险角色。
跨团队直接横比比率通常不成立。不同团队的数据域规模、权限层级复杂度和外部协作比例不同,同样6%的越权率在一个权限扁平的小团队和一个多租户、多外包的大型项目中含义差别很大。需要横比时,应先统一分母口径、时间窗和样本抽取方法,并说明差异来源。
分母为零或样本过少时,应报告为证据不足,不给出比率结论。权限模型、检索过滤逻辑或AI入口发生变更后,此前的结果只代表变更前的状态,需要重新评估。评估结果的作用是定位改进点、验证整改效果,不构成合规认证结论;对外引用时应说明评估范围、时间窗和未确认项。
常见问题
抽样时发现某入口没有记录上下文来源,这项指标该怎么处理?
把该项标注为“未确认”,不判为通过,也不直接判为失败。在结果表中单独列出缺口原因,例如日志字段缺失或入口未接入调用记录。若后续补齐日志,可在同一时间窗和分母口径下补测,再与已有结果合并报告。
权限变更时延只统计调岗和离职事件够不够?
调岗和离职是常见触发场景,但项目权限回收、外部协作者移除、角色调整同样会导致AI侧检索范围变化。建议把时间窗内所有会导致访问权变化的权限事件纳入统计,并在报告中说明事件类型分布。只统计部分事件时,时延结果不能代表整体同步水平。
提示注入测试需要构造多少样本,结果怎么算通过?
样本量没有统一标准,可按AI入口数量和上下文来源类型分层设计,确保覆盖文档、工单、代码注释等主要载体。通过标准建议写成“约定测试集内未出现绕过过滤的输出”,并记录测试用例数、触发数和处置结果。未覆盖的场景标注为待核验,不纳入通过结论。
评估结果能否直接用于对外证明AI上下文权限安全?
不能。评估结果反映的是特定时间窗、特定范围和特定样本下的检查状态,用于定位改进点和验证整改效果。对外引用时应说明评估范围、时间窗、样本量和未确认项,并注明不构成合规认证结论。权限模型或AI入口变更后,此前结果只代表变更前状态,需要重新评估。
ONES 的权限体系和审计记录能直接支撑这套评估吗?
ONES 的 AI 研发管理方案描述为基于 ONES 权限体系进行知识问答和任务执行,输出过程可追踪、结果可审计;ONES Assistant 连接 ONES Project、ONES Wiki 与 ONES TestCase,基于项目、工作项、迭代和 Wiki 页面等上下文回答问题。评估时可以把调用记录、权限快照和审计记录放在同一套项目与文档对象上比对。审计日志的具体字段与留存周期需以实际环境核验为准,评估方案中应列为待确认项。
