生产环境缺陷附件提交前的敏感信息遮蔽步骤
生产环境缺陷附件往往包含真实账号、手机号、内部地址或令牌,直接上传会把排障材料变成泄露源。提交前按“先识别、再遮蔽、后复核”三步处理:对照敏感信息清单排查截图、日志、录屏和导出文件,用打码、裁剪、替换或脱敏副本完成遮蔽,保留复现缺陷所需的最小信息,最后按复核清单确认无残留,并在缺陷记录中注明已脱敏及原始材料的受控存放位置。
Table of Contents
要点总览(TL;DR)
- 提交前按“先识别、再遮蔽、后复核”三步处理生产环境缺陷附件,把敏感信息处理变成可逐项核对的固定动作。
- 识别依据一份分类清单:账号类、个人类、网络类、凭证类、业务类,逐附件标记出现位置,避免只盯手机号而漏掉内网域名和请求参数。
- 遮蔽按附件类型选择方式:截图打码或裁剪,日志替换为占位符,导出文件与录屏生成脱敏副本,原始文件不进缺陷单。
- 提交人完成遮蔽并填写脱敏说明,复核人按清单二次检查,发现未遮蔽的凭证或个人信息即退回。
- 复核时单独检查缩略图、附件文件名、日志请求参数和录屏首尾帧等外围位置,确认无残留后再提交。
提交前先建立敏感信息清单
识别是遮蔽的前提。提交人拿到附件后,先不急着打开缺陷单,而是把截图、日志、录屏、导出文件逐一过一遍,按下面的类别逐项对照。清单的作用是让“有没有敏感信息”从凭感觉判断变成逐项核对,避免只盯着显眼的手机号,漏掉地址栏里的内网域名或日志里的请求参数。
| 类别 | 需要排查的具体内容 | 常见出现位置 |
|---|---|---|
| 账号类 | 用户名、工号、登录账号、会话标识(Session ID) | 页面右上角、请求头、日志行首 |
| 个人类 | 手机号、身份证号、邮箱、真实姓名、收货或联系地址 | 用户详情页、表单回显、导出表格 |
| 网络类 | 内网 IP、内部域名、主机名、端口、内部接口路径 | 浏览器地址栏、错误堆栈、接口调用日志 |
| 凭证类 | 令牌(Token)、Cookie、密钥、数据库连接串 | 请求头、配置文件片段、控制台输出 |
| 业务类 | 订单号、客户编号、合同号等可关联到具体用户的数据 | 业务页面、导出报表、消息通知 |
排查时按附件逐个标记:哪些字段属于上表范围、出现在第几屏或第几行。标记结果直接决定下一步遮蔽的范围,也方便复核人对照检查。业务类数据容易被忽略,单个订单号看似无关,但与姓名、手机号组合后即可定位到具体用户,同样需要处理。
截图、日志与导出文件的遮蔽操作步骤
不同附件的遮蔽方式不同,共同要求是:处理后的附件仍能支撑缺陷复现,同时不再出现可识别的敏感值。下面按附件类型说明输入、动作、输出和完成标志。
截图
输入是原始截图和上一步的标记结果。动作上,对账号、手机号、真实姓名等字段使用打码或色块覆盖;对地址栏、内部域名、接口路径,优先裁剪掉浏览器边框和地址栏,只保留业务区域;无法裁剪时用色块覆盖域名主体,保留协议和路径结构以便说明问题。输出为处理后的图片文件。完成标志是放大查看后,被标记区域不显示任何原始字符,且缺陷现象所在区域完整可见。
日志
输入是原始日志片段。动作上,用文本替换把敏感字段值改为占位符,例如将手机号替换为 138****0000、令牌替换为 [TOKEN_REDACTED]、内网 IP 替换为 10.x.x.x;保留时间戳、日志级别、错误码、异常类型和堆栈中与缺陷相关的行。输出为脱敏后的日志文本或文件。完成标志是用敏感值原文在脱敏文件中搜索,结果为空,同时错误码和堆栈关键行仍然完整。
导出文件与录屏
输入是导出的表格、报表或操作录屏。动作上,导出文件先生成脱敏副本:删除或替换敏感列,仅保留复现所需的行;录屏对涉及个人信息和凭证的片段做遮挡或剪除,必要时重新录制一段使用测试数据的操作过程。输出为脱敏副本。完成标志是副本中不含原始敏感值,且能说明缺陷触发的操作路径或数据条件。原始文件不进入缺陷单,另行存放。
遮蔽方式的选择
- 打码或色块覆盖:适合截图中的局部字段,操作快,需确认覆盖区域不可通过调整对比度还原。
- 替换为占位符:适合日志和文本,保留字段位置和格式,便于研发判断解析逻辑。
- 截取片段:适合只需说明某一屏或某几行日志的场景,从源头减少暴露面。
- 脱敏副本:适合导出文件和录屏,原始文件保留在受控位置,缺陷单只挂副本。
选择方式时以“保留复现要素”为约束:错误码、堆栈、操作步骤、数据形态要留下,具体值要去掉。遮蔽过度导致研发无法判断问题,同样需要返工。
角色分工与交付物
遮蔽不是提交人一个人的事。提交人负责第一道处理,复核人负责第二道把关,缺陷记录承担留痕,三者配合才能在提交前形成闭环。
| 角色 | 动作 | 交付物 |
|---|---|---|
| 提交人 | 按清单识别敏感信息,完成遮蔽,自检后填写脱敏说明 | 脱敏后的附件、脱敏说明 |
| 复核人 | 按复核清单二次检查附件与说明,确认后方可提交 | 复核记录或复核意见 |
| 缺陷记录 | 注明已脱敏、遮蔽范围、原始材料受控位置 | 缺陷单中的脱敏说明字段 |
| 原始材料保管方 | 将原始附件存入受控目录,按权限开放访问 | 受控存放位置与访问记录 |
脱敏说明建议包含固定字段:是否已脱敏、遮蔽了哪些类别(账号、个人信息、网络信息、凭证、业务标识)、使用的遮蔽方式、原始材料的存放位置与访问方式、复核人。字段固定后,复核人可以快速比对,后续追溯也有据可查。
缺陷记录本身需要承载附件和说明。ONES Project 适配缺陷管理等场景,支持一键提交 Bug 至对应项目或迭代并跟踪修复情况;ONES TestCase 中未通过的用例可快速创建缺陷任务,使缺陷在测试与研发团队间流转。在这些环节中,脱敏说明作为缺陷描述的组成部分随单流转,原始材料则留在受控目录,不随缺陷单扩散。附件是否支持字段级权限控制,需以实际配置为准。
示例:一条生产环境缺陷附件的脱敏过程
以下为演示情景,用于说明处理过程,不代表真实客户案例。
某次生产环境提交一个“订单详情页金额显示错误”的缺陷,附件包括一张页面截图和一段接口错误日志。原始截图中,页面右上角显示登录账号 zhangsan_ops,订单区域显示客户姓名“张某某”、手机号 13912345678、订单号 SO20240517001,浏览器地址栏为 https://order.internal.example.com/detail。原始日志中包含请求头 Authorization: Bearer eyJhbGci...、内网地址 10.20.31.45:8080,以及错误码 AMOUNT_CALC_ERR 和对应堆栈。
逐项遮蔽动作如下:截图右上角账号用色块覆盖;客户姓名和手机号打码,保留字段位置;订单号替换为 SO****001;地址栏整体裁剪,仅保留页面业务区域。日志中令牌替换为 [TOKEN_REDACTED],内网地址替换为 10.x.x.x:8080,时间戳、错误码和堆栈原样保留。原始截图和原始日志移入受控目录,缺陷单只上传脱敏后的两个文件。
脱敏说明填写为:已脱敏;遮蔽范围包括账号、客户姓名、手机号、订单号、访问令牌、内网地址;遮蔽方式为打码、替换占位符、裁剪;原始材料存放于受控目录,按项目权限申请访问;复核人为测试负责人。复核人对照清单检查后确认附件中无可识别敏感值,缺陷单提交,研发依据错误码和堆栈定位问题,复现所需信息完整。
提交前复核与完成检查
复核是提交前的最后一道关口,按清单逐项勾选,任何一项不通过即退回处理,不进入提交环节。
| 检查项 | 检查方法 | 通过标准 |
|---|---|---|
| 账号类 | 查看截图页面区域、日志请求头 | 无用户名、工号、会话标识原文 |
| 个人类 | 查看截图表单与导出文件 | 手机号、身份证号、邮箱、姓名、地址均已遮蔽 |
| 网络类 | 查看地址栏、堆栈、日志 | 内网 IP、内部域名、主机名、端口已裁剪或替换 |
| 凭证类 | 搜索令牌、Cookie、密钥、连接串关键词 | 无凭证原文,替换为占位符 |
| 业务标识 | 查看订单号、客户编号等字段 | 已替换或删除,无法关联到具体用户 |
| 脱敏说明 | 核对字段完整性 | 已脱敏、遮蔽范围、原始材料位置、复核人齐全 |
阻断条件明确为两条:发现未遮蔽的凭证类信息,或发现可识别的个人信息,一律退回提交人重新处理,复核通过前不得提交。复核记录与脱敏说明一并留存,作为后续追溯依据。
常见遗漏集中在附件的外围信息:图片缩略图可能仍显示未遮蔽的原始画面,附件文件名可能带有用户账号或订单号,日志中的请求参数和响应体常被忽略,录屏的首帧和尾帧也容易漏遮。复核时除正文区域外,这些位置需要单独检查一遍。完成以上检查并留存记录后,附件方可随缺陷单提交。
常见问题
缺陷附件里只有一张截图,也需要走完整的识别、遮蔽、复核流程吗?
需要,但可以按附件数量简化操作。单张截图同样要对照敏感信息清单检查账号、手机号、内部地址和凭证,完成打码或裁剪后由复核人确认。流程的价值在于固定检查项,附件少时执行时间短,检查项不减少。若截图来自生产环境且包含真实用户数据,脱敏说明和原始材料受控存放同样要保留。
遮蔽后研发反馈信息不足、无法复现缺陷,应该怎么处理?
先判断缺失的是哪类信息。错误码、堆栈、操作步骤、数据形态属于复现要素,应当保留;具体账号、手机号、令牌属于敏感值,应当去掉。如果研发需要知道字段格式,可用占位符保留长度和结构,例如手机号替换为 138****0000。确实需要原始值时,由研发按权限到受控目录查看原始材料,不把原始附件重新挂回缺陷单。
复核人由谁担任比较合适?提交人自己检查可以吗?
复核人宜由未参与附件处理的测试负责人或同组同事担任,形成第二道独立检查。提交人自检是必要环节,但同一人容易沿用自己的处理思路,漏掉缩略图、文件名等外围位置。团队规模较小时,可以由同组另一位成员交叉复核,关键是复核人对照清单逐项确认并留下记录,而不是走过场签字。
原始附件存放在受控目录,具体要控制到什么程度?
受控的核心是访问范围可界定、访问行为可追溯。原始材料存放在指定目录,按项目或缺陷相关角色授权,不随缺陷单在更大范围扩散;访问方式与申请人记录在脱敏说明中。缺陷修复关闭后,原始材料的保留期限按团队的数据管理要求执行。具体目录结构和权限配置方式因组织而异,以实际管理规范为准。
在缺陷管理工具里提交时,脱敏说明放在哪个位置比较合适?
脱敏说明作为缺陷描述的组成部分随单流转,便于研发和复核人直接看到。ONES Project 支持一键提交 Bug 至对应项目或迭代并跟踪修复情况,ONES TestCase 中未通过的用例也可快速创建缺陷任务,脱敏说明可随缺陷描述一并提交。附件是否支持字段级权限控制,需以实际配置为准;原始材料仍建议留在受控目录,不依赖缺陷单自身的权限设置。



