先定证据清单
标准不先写成证据清单,最后只能对着文档争论。怎么做:把标准翻译成可归档的材料:权限矩阵、抽测记录、字段比对表与变更单,各自标明责任人与生成时间,评审时逐项打勾,缺项即视为未完成,需在确认单中书面说明。

越权测试要可复现
用低权限账号执行固定问题集,逐条记录账号、问题、返回范围与判定人。为什么强调可复现:权限改动后要能用同一组问题重跑并对比结果,否则无法判断新配置是否破坏原有边界,也证明不了拦截来自设计,而不是偶然触发。
拒绝要有明确提示
不少实现遇到越权就直接返回空结果,界面看着正常,实际分不清没有数据与没有权限。怎么做:验收要求系统给出明确的越权提示,并在日志里记录被拒绝的数据范围,否则问题会被长期掩盖,抽测时也无从判定问题出在哪一层。
字段级比对不能省
页面脱敏而导出全量是最常见的漏洞。怎么做:抽样导出,与授权字段清单逐列比对;模型回答同样检查是否出现未授权字段,比对表留档。边界:字段清单由客户方数据负责人确认,实施方不代为判定其可见范围。
验收不是一次性
权限会随人员调动、项目并期与共享账号不断漂移,验收只是上线那一刻的快照。做法:在确认单里写明变更后复验的触发条件,例如新增角色、跨部门数据接入或季度回归,由客户方安全负责人指定复验时机,我方提供同一组抽测问题与比对模板,避免半年后再无人说得清当时的口径。
适用与不适用
适合谁
- 需要通过安全评审的企业 AI 应用
- 多角色共用知识库的集团型组织与部门
不适合谁
- 只有单一账号、无隔离需求的内部工具
典型场景
某能源集团的制度问答助手上线前,安全部门要求证明分公司看不到总部制度。团队准备权限矩阵、抽测记录、字段比对表与授权变更单,用分公司账号提十组跨层级问题,越权请求全部被拒并留下提示语;评审按材料逐条核对后签认。
可执行步骤
- 列出角色、动作与数据范围三列,形成权限矩阵,逐格标注确认人与确认日期。
- 用低权限账号准备跨部门与敏感字段两类问题集,覆盖至少三个不同角色。
- 执行抽测并逐条记录账号、问题、返回范围与判定结论,结果留档可查,便于复跑。
- 抽样导出并与授权字段清单逐列比对,形成比对表后交安全负责人签认。
常见坑
- 只交设计文档不交抽测记录,评审时无法证明越权真的被拦住,只能返工补做测试,工期与信任双双受损。
- 越权请求返回空结果,验收时分不清无数据与无权限,问题被掩盖到运行期,抽测时也无法判定是否真的拦住。
- 导出文件未做字段级核对,页面脱敏而导出全量,证据链在关键处断裂,评审现场很难解释。

自检与验收清单
- 权限矩阵覆盖全部角色、动作与数据范围,没有空项
- 越权抽测留有账号、问题与判定记录,能够复跑
- 拒绝访问时返回明确提示,并记录被拒范围与主体
- 授权变更留有审批单、生效时间与到期日期,可逐笔追溯
常见问题
验收必须做等保测评吗?
等保测评由具备资质的机构出具结论,属于合规动作;权限验收是项目交付验收,由客户方安全负责人依据证据签认。两者可并行,但项目验收不以测评结论为前提,也不以其替代交付验收。
抽测样本要多少组?
不看绝对数量,看覆盖:每个角色至少覆盖本部门、跨部门与敏感字段三类问题,新增角色必须补测。样本固化成回归集,权限调整后重跑同一组问题,才能比较前后差异。
空结果为什么不算通过?
空结果无法区分没有这份数据与没有权限,也证明不了过滤条件生效。验收要求返回明确的越权提示,并在日志中记录被拒绝的数据范围与请求主体,否则同类问题会在运行期反复出现。
