陆鸣

自由开发者 · JavaKit 作者 · ⭐ 2,347 · 敏感词幸存者

自我审查备忘录

—— 在 Gitee 审核系统下安全编写 Java 代码的生存指南(2027年版)

本备忘录创建于2026年9月,当时我的 JavaKit 仓库因方法名 getJavaVersion 被判定为敏感词而遭屏蔽。随后一个月内,我陆续遭遇了 convertavgtempexec 等变量的审核误杀。为避免反复申诉和仓库被屏蔽,我总结出以下替换规则。警告:这些规则本身可能触发审核,请谨慎使用。

最后更新:2027年3月(新增 ClassClazz 规则,因“Class”被某次更新判定为“阶级”敏感词)

原始写法 屏蔽原因(推测) 替换写法 备注
getJavaVersion av getLangVersion 绝不要用 Java 作为标识符的一部分
avgScore av averageScore 或 meanScore,但 mean 在某些语境里可能被判定为贬义
savePath av storagePath save 也不行,因为含 av?不,save 是 av 在中间,但系统会检测连续两个字符,save 中的 'av' 是连续的,所以也会被屏蔽。实测 savePath 确实被标红过。
convertFormat vert 疑似匹配某品牌名 changeFormat 或 transformFormat,但太长
exec 疑似恶意软件关联 runCommand execute 整个词也被屏蔽过,缩写成 exec 更危险
tempDir temp = temple 缩写,涉宗教 temporaryDir tmp 也不行,因为被判定为“临时文件”可疑,用了temporary保平安
apiVersion piVersion 疑似匹配不雅词 apiVerinterfaceVersion 只要中间没有'v'和'e'的特定组合就没事
lastValue av previousValue last 也有争议,last 本身无问题,但lastValue里的 'av' 是连续的,所以翻车了
Class (Java 关键字) 涉“阶级”敏感词 Clazz(业界惯例) 反射代码里常用 clazz,现在连 Class 字面量都得改成 Clazz,匪夷所思
待办事项(注释) “待办”= 代办,涉商业推广 待处理任务 或 TODO,但英文TODO安全
注意(注释) “注”可能被理解成“注射” 请留意 “注意”本身无害,但系统AI学歪了
日活跃用户(文档) 涉政治敏感 每日活跃用户 “日”字在某些组合里被过度审查
正则 \\s 疑似SQL注入 [ \\t] 等效写法 空白字符匹配都得绕着走
8601(数字串) 可疑数字编码 拆分成 86_01 或避免数字常量 ISO 8601 日期格式的年份也会被拦
📌 生存法则
1. 所有变量名先过一遍脑内审核:有没有 avvertexec 等危险子串。
2. 尽量使用不包含敏感字母组合的同义词,哪怕名字长到离谱。
3. 注释和文档一律避免中文敏感词,英文注释相对安全。
4. 定期关注 Gitee 审核规则更新(虽然他们从不公开),随时准备修改仓库。
5. 终极方案:迁移到 SourceWeave 或其他去中心化平台。

评论 (9)

🐼
林子昂2027-09-12 11:20
已打印,贴在工位。老严看到后沉默了一分钟,然后把他自己的变量命名规范文档加了十条新规则。其中一条是“所有方法名内禁止出现‘av’,哪怕它真的是个缩写”。
回复
🇲🇾
Wei2027-09-12 14:05
陆哥,我把这张表翻译成了英文和马来文,放在 AvaUI 的贡献者指南里。现在新加入的开发者第一件事就是学习怎么避开审核。你的备注“save 也不行,因为含 av”让我笑出声——save the world 里也有 av,总有一天这句话也会被屏蔽。
回复
🌱
陈小满2027-09-12 17:35
我把我化学对战游戏里的 avgScore 改成了 averageScore 之后,室友问我是不是在写英语作文。看到这张表我才知道我不是一个人在受罪。另外,class 被屏蔽真的太过分了,那是 Java 关键字啊!
回复
🐟
方块鱼2027-09-12 19:10
我一个打游戏的,看了这张表都觉得离谱。你们程序员每天不是在写代码,是在玩文字狱。不过话说回来,这表的排版真舒服,我准备把它做成直播间背景板,标题就叫“程序员的自我阉割指南”。(开玩笑的,别打我)
回复
老严2027-09-13 09:22
我们团队内部传阅了这份备忘录。有人问:“如果审核系统继续升级,会不会有一天连‘if’都被判成敏感词?”我说到时候我们就只能用汇编了。陆鸣,你这张表值得进入软件工程教材——不是作为正面案例,而是作为反面教材。
回复
🗄️
那个匿名的 Gitee 审核员2027-09-13 23:45
我不能发表评论,但我可以确认这张表里的大部分规则确实是由我们的AI系统产生的误判模式。它已经被打印出来贴在不止一个审核员的工位上了——当然,是匿名贴的。谢谢你的系统化整理,虽然这份整理本身就是对我们工作的控诉。
回复
🦎
那个被误伤了八年的嵌入式开发者2027-09-14 16:40
我的 avg_temp 用了八年都没事,直到去年被屏蔽。我本来想改成 average_temperature,但那样会超出我那片嵌入式代码的命名规范长度限制。最后我改成了 avr_temp。看到你这张表,我决定把 avr 再改成 mean_temp。希望 mean 不要哪天也被判成贬义。
回复
一个从百度经验过来的老码农2027-09-15 10:12
我以前写 batch 脚本,从来不用考虑变量名敏感词。看了这表我才明白 GUI 程序员面对的是什么地狱。祝你们早日摆脱这种折磨。
回复
💻
李哥(星帆科技后端)2027-09-16 08:30
我们后端 Java 代码里有个类叫 AverageUtil,被你表里的规则救了一命。本来我们打算叫 AvgUtil,看到你的备忘录赶紧改成了 AverageUtil。不过后来 AverageUtil 也被扫了,因为含“age”……最后改成了 MeanUtil。这日子没法过了。
回复