「全面检查一下这个模板库,看看里面还有没有任何我的个人信息、真实个人信息。 如果有的话,生成一段假的,把我的真实信息替换一下。因为这是一个开源项目, 不要把我的真实信息放上去。记住,是所有的模板文件啊。」
全库 160 个文件逐个扫描,真实个人信息集中在幻灯片/、科技报告/ 两个从旧独立仓库并入的目录 (其余 10 个模板此前已做过脱敏,只有虚构示例,无真名残留):
幻灯片/
.sty
%% 作者:杨永全
dryangyq
幻灯片/slides.tex:66
yangyq.net
slides.tex:66
幻灯片/README.md:33
科技报告/README.md:26
laoyang
已确认无需处理(不是个人信息):
10.9999
ZL209999
2024SR99999
example.net
(示例)
简历/photo.jpg
作者:杨永全
中国海洋大学 LaTeX 模板库
slides.tex
code.yangyq.net/laoyang/ouc_latex_template.git
.tex
.cls
.md
杨永全
yangyq
git 历史里 27 个 commit 的作者签名是 laoyang <i@yangyq.net>(个人域名邮箱)。 若真要推到公开平台,历史里的邮箱也会暴露个人域名,需用 git filter-repo 重写历史, 这是破坏性操作(改全部 SHA、需 force push),是否做、怎么做单独决策。
laoyang <i@yangyq.net>
git filter-repo
commit e70339f「全库脱敏:清除真实姓名、个人账号与私有域名 #17」已推送 (1abb3cf..e70339f),10 files changed / 9 insertions / 9 deletions。
e70339f
1abb3cf..e70339f
幻灯片/slides.tex
example.org
幻灯片/slides.pdf 是编译产物,文本流是压缩的,按字节 grep 抓不到。 用 pymupdf 提取渲染文本才发现:源码改了但 PDF 没重编,脚注里 还印着 dryangyq 和 yangyq.net 的 URL。这是实打实的泄露,已重编 覆盖(30 页、0 error)。
幻灯片/slides.pdf
结论:脱敏不止要改源码,所有入仓库的成品 PDF 都要逐字提取检查。 这次 科技报告/report.pdf、简历/简历.pdf 都干净,只有 slides.pdf 漏了。
科技报告/report.pdf
简历/简历.pdf
.tex/.sty/.cls/.md
杨永全 / dryangyq / yangyq / yongquan / 永全
git 历史 27 个 commit 的作者签名是 laoyang <i@yangyq.net>,含个人域名邮箱。 推到公开平台前需用 git filter-repo 重写历史(改全部 SHA + force push), 属破坏性操作。是否做、怎么做,等你确认再说。
用户反馈:「github/gitee/gitlab 那几个占位地址,把我们项目真实的 code 地址放回去,这个没事。」
上一轮脱敏时,我把 clone 地址连同真名一起换成了 example.org 占位。用户指出: code.yangyq.net/laoyang/ouc_latex_template.git 是当前项目的真实地址,属于 「用户从哪 clone」的功能性信息,不是隐私,应当保留。
幻灯片/README.md
科技报告/README.md
真名「杨永全」与个人账号「dryangyq」的清除不回退——那两处才是真隐私。
slides.tex 脚注直接写 ouc_latex_template 会报 Missing $ inserted(2 处)—— URL 里的 _ 在 LaTeX 文本模式下触发数学模式。.tex 里写成 ouc\_latex\_template 转义后 0 error。README 是 markdown,不需要转义。
ouc_latex_template
Missing $ inserted
_
ouc\_latex\_template
commit 7cd542a「克隆地址改回真实 code 地址 #17」已推送(e70339f..7cd542a)。
7cd542a
e70339f..7cd542a
clone 地址已从 example.org 占位改回 code.yangyq.net/laoyang/ouc_latex_template.git, 三处(幻灯片/slides.tex 脚注 + 幻灯片/README.md + 科技报告/README.md)。
No dependencies set.
The note is not visible to the blocked user.
现象(用户诉求)
排查结果
全库 160 个文件逐个扫描,真实个人信息集中在幻灯片/、科技报告/ 两个从旧独立仓库并入的目录
(其余 10 个模板此前已做过脱敏,只有虚构示例,无真名残留):
幻灯片/6 个.sty文件头%% 作者:杨永全dryangyq幻灯片/slides.tex:66脚注 github/gitee/gitlab 3 个 URLyangyq.netslides.tex:66(git.yangyq.net)+幻灯片/README.md:33+科技报告/README.md:26(code.yangyq.net)laoyang已确认无需处理(不是个人信息):
全部是带
10.9999/ZL209999/2024SR99999/example.net/(示例)标记的虚构示例简历/photo.jpg—— 400×400 纯灰剪影占位图,非真人照处理方案
.sty文件头的作者:杨永全→ 中性署名中国海洋大学 LaTeX 模板库(不暴露任何个人身份)slides.tex里 4 个个人仓库 clone 地址 → 换成明显的占位地址,并注释「开源后替换为实际公开仓库地址」code.yangyq.net/laoyang/ouc_latex_template.git→ 同样的占位地址 + 注释验收标准
.tex/.sty/.cls/.md及二进制资源)grep杨永全/dryangyq/yangyq零命中slides.tex是 beamer,改的只是脚注文字不影响编译)已知遗留(需用户另行决策,不在本单范围)
git 历史里 27 个 commit 的作者签名是
laoyang <i@yangyq.net>(个人域名邮箱)。若真要推到公开平台,历史里的邮箱也会暴露个人域名,需用
git filter-repo重写历史,这是破坏性操作(改全部 SHA、需 force push),是否做、怎么做单独决策。
交付完成
commit
e70339f「全库脱敏:清除真实姓名、个人账号与私有域名 #17」已推送(
1abb3cf..e70339f),10 files changed / 9 insertions / 9 deletions。实际查出来并清掉的三处真实信息
幻灯片/6 个.sty文件头%% 作者:杨永全中国海洋大学 LaTeX 模板库dryangyq幻灯片/slides.tex脚注 github/gitee/gitlab 三个 URLexample.org占位yangyq.net+ 账号laoyangslides.tex+ 两个 README 的 clone 地址example.org占位一个容易漏的点:成品 PDF 也要查
幻灯片/slides.pdf是编译产物,文本流是压缩的,按字节 grep 抓不到。用 pymupdf 提取渲染文本才发现:源码改了但 PDF 没重编,脚注里
还印着 dryangyq 和 yangyq.net 的 URL。这是实打实的泄露,已重编
覆盖(30 页、0 error)。
结论:脱敏不止要改源码,所有入仓库的成品 PDF 都要逐字提取检查。
这次
科技报告/report.pdf、简历/简历.pdf都干净,只有 slides.pdf 漏了。验证(双通道)
.tex/.sty/.cls/.mdgrep杨永全 / dryangyq / yangyq / yongquan / 永全全部零命中确认无需处理的(不是个人信息)
论文/专利/项目/获奖 —— 全部带
10.9999/ZL209999/2024SR99999/example.net/(示例)标记,是虚构示例简历/photo.jpg—— 400×400 纯灰剪影占位图,非真人照遗留(需用户另行决策,本单没做)
git 历史 27 个 commit 的作者签名是
laoyang <i@yangyq.net>,含个人域名邮箱。推到公开平台前需用
git filter-repo重写历史(改全部 SHA + force push),属破坏性操作。是否做、怎么做,等你确认再说。
补充:clone 地址改回真实 code 地址
用户反馈:「github/gitee/gitlab 那几个占位地址,把我们项目真实的 code 地址放回去,这个没事。」
上一轮脱敏时,我把 clone 地址连同真名一起换成了
example.org占位。用户指出:code.yangyq.net/laoyang/ouc_latex_template.git是当前项目的真实地址,属于「用户从哪 clone」的功能性信息,不是隐私,应当保留。
改动
幻灯片/slides.tex脚注example.org占位code.yangyq.net/laoyang/ouc_latex_template.git幻灯片/README.mdexample.org占位code.yangyq.net/laoyang/ouc_latex_template.git科技报告/README.mdexample.org占位code.yangyq.net/laoyang/ouc_latex_template.git真名「杨永全」与个人账号「dryangyq」的清除不回退——那两处才是真隐私。
踩到一个新坑:URL 里的下划线
slides.tex脚注直接写ouc_latex_template会报Missing $ inserted(2 处)——URL 里的
_在 LaTeX 文本模式下触发数学模式。.tex里写成ouc\_latex\_template转义后 0 error。README 是 markdown,不需要转义。验证
example.org零残留补充完成
commit
7cd542a「克隆地址改回真实 code 地址 #17」已推送(e70339f..7cd542a)。clone 地址已从
example.org占位改回code.yangyq.net/laoyang/ouc_latex_template.git,三处(
幻灯片/slides.tex脚注 +幻灯片/README.md+科技报告/README.md)。slides.tex里下划线需转义ouc\_latex\_template,README 不需example.org零残留