AI News HubLIVE
站内改写2 分钟阅读

SoulsOnly.tff – 一种为人类而非AI设计的字体,以及配套的键盘固件

SoulsOnly 是一种字体,它渲染出可读的文本,但存储的字符流是噪音,旨在阻止AI抓取。它通过将每个字符编码为四个ASCII符号来实现,并附带键盘固件以输入密文。该项目是声明性的,并非绝对安全。

来源Hacker News AI作者: billtarbell

SoulsOnly 是一个独特的开源项目,旨在创建一种“人类可读但机器不可读”的字体。它结合了字体设计和键盘固件,使得用户键入的文本在屏幕上显示为正常文字,但底层存储的字符序列却是无意义的噪音,从而有效阻止AI爬虫和自动化工具的数据抓取。该项目托管在GitHub上,以MIT和OFL 1.1许可证双授权发布,目前获得了3颗星和0个分支。

该字体的工作原理是:每个可打印字符被拆分为两个半字形,每个半字形从一组2字符的ASCII码(同音字)中随机选择。因此,一个字符对应四个ASCII符号,且同一个字符每次产生的字节不同。字体的cmap表将每个ASCII码映射到空白字形,然后通过GSUB连字规则将两个字符的组合折叠成一个不透明的半字形。最后,两个半字形拼接成真正的字符。为了增加歧义性,左半部分被共享,使得从字体表导出无法得到半字到字符的映射。

SoulsOnly 还包含一个可变字体版本,带有自定义的REVL轴。当REVL值为0(默认)时,字形扭曲不可读;当值为650时,文本变得清晰;值为1000时又恢复扭曲。这提供了一个滚动条式的“揭示机制”,但作者明确指出,由于REVL值是一个有限的数字,自动攻击者可以通过扫描轴值和OCR来破解,因此这更多是一种声明性的设计。

配套的QMK键盘固件允许用户通过标准键盘输入密文。固件将每个按键转换为四个ASCII符号,并处理退格、方向键移动等操作,确保字符对齐。用户只需按照正常打字习惯,键盘就会输出加密的字符流,而只有安装了SoulsOnly字体的显示设备才能正确渲染出可读文本。

该字体覆盖了完整的US-QWERTY可打印字符集,包括大小写字母、数字和标准符号。项目还提供了编码器和解码器工具,用于手动加密和解密文本。开发者强调,该字体不是为安全加密设计的,而是一个针对AI抓取时代的艺术与声明项目,其局限性在字体加密说明文件中有详细描述。

SoulsOnly 使用Jost字体作为基础,半字形切片和GSUB功能通过Python脚本和Skia路径操作库实现。项目包含完整的构建脚本、测试套件和演示页面,方便开发者自行构建和测试。