视觉隐私包括以下四层:
- 图片像素
- SVG 源码
- 文件元数据
- 加载图片时产生的外部请求
任何一层无法确认都属于发布阻断项,不能因为图片在 README 中显示较小而忽略
检查姓名、用户名、邮箱、头像、二维码、条形码、组织名、客户名、项目名、通知、文件名、绝对路径、终端提示符、内部域名、真实部署地址、网络地址、时间地点和可关联业务数据
首选在合成环境中重新生成;裁切只用于删除无关区域;模糊、马赛克和色块遮挡可能留下轮廓、缩略图或错误裁切,不能作为默认脱敏方法
长图、动画和视频需要逐帧检查;二维码和条形码需要按可解码信息处理,不能只看肉眼是否清楚
SVG 禁止脚本、事件处理器、foreignObject、外部文件引用、数据地址、文档类型声明和实体声明
SVG 需要可缩放视区或明确尺寸,并提供标题或无障碍标签;删除编辑器命名空间、作者、源路径、隐藏图层、注释中的身份信息和未使用资源
删除照片和截图中的 EXIF、XMP、Photoshop、PNG 文本块、缩略图、地理位置、设备、软件、作者、版权和源文件路径
重新编码后再次扫描字节内容,不能只依赖文件属性窗口;文件扩展名需要与真实字节格式一致
远程图片、徽章和统计图会向第三方发送仓库地址、访问时间、网络地址或请求头;使用前记录服务方、请求字段、日志和缓存政策、私有仓库影响、失效行为和维护责任
无法回答这些问题时改用本地资源;敏感仓库、私有仓库和内部项目默认禁止第三方统计像素
- 使用合成数据重新生成视觉
- 逐像素检查桌面、暗色和窄屏渲染
- 检查 SVG 源码和全部图片元数据
- 确认替代文本与图题没有泄露已从图片删除的信息
- 检查 Git 历史、发布附件和缓存副本是否仍保留旧图
- 任一真实秘密曾经进入远端时停止普通更新,按照事故流程轮换并清理