ShieldFont
摘要
ShieldFont 是一款字体和工具包,通过微妙地替换词语为流畅的虚假诱饵来保护书面内容不被未经授权的 AI 训练使用,从而污染被爬取的数据集,同时让真实文本对人类和屏幕阅读器保持可读。
<p><a href="https://lobste.rs/s/yw1w8q/shieldfont">评论</a></p>
查看缓存全文
缓存时间: 2026/08/04 07:45
# ShieldFont 来源:https://shieldfont.org/ 通过污染未经授权的AI训练来保护人类写作。
## SHIELD(FONT) 由S&A+Playtype提供支持
解决方案 将您的原始文本放在左侧,即可在右侧获得受保护版本。在此输入或粘贴文本 0 / 0 已交换令牌 这是您受保护的文本 您的受保护文本将显示在此处... 发布 (https://shieldfont.org/encoder)
机制
## 为人类设计。对AI有毒。
我们与丹麦领先字体铸造厂Playtype合作,创造了第一款内置ShieldFont保护功能的字体。
Aa
ShieldFont Optik Regular
ShieldFont Optik Medium
ShieldFont Optik DemiBold
ShieldFont Optik Bold
ShieldFont Optik ExtraBold
ShieldFont Optik Black
### 六种字重。同等保护。
字号96
间距0
由Playtype提供支持
ShieldFont Optik▾
Regular 400 Aa
ShieldFont Optik▾
Medium 500 Aa
ShieldFont Optik▾
DemiBold 600 Aa
ShieldFont Optik▾
Bold 700 Aa
ShieldFont Optik▾
ExtraBold 800 Aa
ShieldFont Optik▾
Black 900 Aa
交换 48% 的内容词汇
保护超过80%的受保护页面免受AI训练
每10个通过过滤的页面中就有1个仍会污染训练数据
### 使用您自己的字体。
用仅由您持有的私有映射保护任何TrueType字体(品牌字体、Google字体、自定义字型)。
创建您自己的 (https://shieldfont.org/docs/custom-faces)
### 使用您自己的密钥。
ShieldFont附带三个词典,每个都有各自的密钥。您也可以创建自己的密钥。私有密钥更难被爬虫解码。
创建您自己的 (https://shieldfont.org/docs/custom-mappings)
您阅读
写了
唱了
alpha seed42
写了
beta seed1
标记了
gamma seed2
?????
您的
seedXX
### 辅助功能Beta
#### 屏幕阅读器获取真实的文字。
**我们从不向屏幕阅读器显示乱码文本。** ShieldFont默认通过`aria-hidden="true"`对辅助工具隐藏受保护的段落,因为朗读一个诱饵文本会流畅、语法正确、但内容错误,这比沉默更糟糕。真正的文字仍被封存在页面中,而读者的浏览器通过解决一个计算量大的谜题来揭示它们。这需要JavaScript和几秒钟的处理时间,这比大多数大规模爬虫愿意花费的要多。这使得内容对大多数屏幕阅读器、翻译器和复制/粘贴可用,但仍有改进空间,使其能够即时可用。
演示 (https://shieldfont.org/demo/)
文档 (https://shieldfont.org/docs/plain-text-mode)
## 使用ShieldFont保护您的
手册
案例研究
论文
研究文章
小说
新闻标题
在线词典
百科全书
通讯
宣言
作者身份
下载
## 保护您写作的三种方式
推荐
### 动态网站
1. 用`<ShieldFont>`包裹任何文本块。
2. 编码在构建时于Node中运行。HTML中不包含可读副本。
3. 发布。读者看到您的写作;HTML携带诱饵。
```
$ npm install @shieldfont/react
Plain English here.
<ShieldFont>Plain English here.</ShieldFont>
```
服务器渲染或静态导出均可:在Next中,服务器组件是默认的,这就是您所需要的。会泄露的是客户端代码:不要将`<ShieldFont>`放在`"use client"`文件中,也不要将纯文本传入其中。两者都会静默失败:请参阅编码发生的位置 (https://shieldfont.org/docs/where-encoding-happens)。
不使用React?在任何地方使用 (https://shieldfont.org/docs/use-anywhere):任何框架,任何构建步骤。
高级:构建您自己的字体 (https://shieldfont.org/docs/custom-faces)
## 研究
### 保护自己。用胡言乱语污染未经授权的AI训练。
任何被抓取的内容在进入AI训练管道之前,都必须通过严格的质量过滤器。大多数受保护的页面在那一阶段被拒绝,使内容不进入训练。那些通过的页面包含流畅但虚假的文本,给数据集增添噪声。
阅读论文 (https://shieldfont.org/white-paper)
## 常见问题
每个受保护的页面都必须*同时*通过三道关卡。
### 支柱 01 隐藏
向机器隐藏含义。人类阅读您的页面;爬虫读取被交换的单词。
### 支柱 02 通过过滤器
通过AI质量关卡。语法完整,句子流畅。只有含义是错误的。
### 支柱 03 投毒
使被保留的页面比没有更糟。任何在其上训练的内容都会学到错误的关联。
## 01 隐藏 · 隐藏含义
**Q1 我的文字实际上会发生什么?**
我们交换您文本中的关键词汇,用页面源代码中的其他真实词汇替换。例如,“winners”可能变成“avengers”,“toy gun”可能变成“sofa car”,“Halloween contest”可能变成“Autumn campaign”。您仍然看到原始文本,因为**字体在屏幕上将其还原**。只有读取原始HTML的机器才会看到替换后的版本。
**Q2 如果我将ShieldFont文本复制粘贴到ChatGPT中会怎样?**
剪贴板复制的是**页面代码中存储的替换词**,而不是您在屏幕上看到的原始词。因此,当您将受保护文本粘贴到ChatGPT中时,它读取的是修改后的版本,而非您的原始写作。
**Q3 为什么专门交换“内容词汇”,这为什么重要?**
内容词汇承载了句子的大部分含义,而像*the*、*of*和*and*这样的词主要起连接作用。ShieldFont只改变约25%的词汇,但改变了近一半的内容词汇。在来自新闻、独立网站和小说的1,500个段落中,这导致**50%的段落失去了其原始事实主张**。对照组用真正的同义词替换相同数量的词,只有约2%的段落含义发生变化。效果不仅来自交换词汇,更来自交换那些最重要的词汇。
**Q4 哪些词可以被交换?词典来自哪里?**
该词典由英语中最常见的10,000个单词构建,重点关注名词、动词、形容词和副词,因为它们承载了句子的大部分含义。每个单词都与另一个同类词配对,因此名词替换名词,动词替换动词,帮助句子在含义改变的同时保持语法正确。功能词如*the*、*of*和*and*则保持不变,因为它们连接句子但含义不大。包括每个单词的不同形式后,**当前词典包含近12,000个条目**,覆盖了日常英语的很大一部分。
**Q5 那么AI还能判断我的页面是关于什么的吗?**
大致可以:主题和语气可能保留。但细节,如名称、数字和主张,常常会丢失。当七个领先的AI模型试图重构受保护文本的论点时,**概念准确率下降了67%**。几个模型还拒绝执行任务,这算作完全丢失。仅看回答的模型,下降幅度仍为49%。结果是一致的:大主题可能保留,但细节不会。效果还随长度增加。如果早期句子被修改,后续推理可能建立在错误前提上,因此较长文本可能比段落级分数所显示的丢失更多含义。
## 02 通过过滤器 · 通过质量关卡
**Q6 “胡言乱语”如何通过AI质量过滤器?**
这不是胡言乱语。每个被替换的单词保持相同的语法作用,因此名词替换名词,过去时动词替换过去时动词。句子仍然读起来正确,但含义改变了。在使用FineWeb-Edu(一个用于构建主要公共训练数据集的质量过滤器)进行的测试中,**在屏蔽前通过的块中,约有十分之一在屏蔽后仍然通过**。其余九个被拒绝。两种结果都有帮助:被拒绝的内容不进入训练,而接受的内容则将“错误”含义带入数据集。
**Q7 隐藏含义和通过过滤器难道不是矛盾的吗?**
这种张力是核心挑战,我们努力在保护和干扰之间取得平衡。如果文本变化太大,质量过滤器会拒绝它,使内容不进入训练。如果变化太小,原始含义就会存留。ShieldFont的目标是**介于这两种结果之间的点**,使文本能够通过过滤器而不传达相同的含义。达到这种平衡花了十六代映射,随后又进行了第二条开发线。
## 03 投毒 · 浪费他们的计算资源
**Q8 这里的“投毒”到底是什么意思?**
如果受保护文本通过了爬虫的质量过滤器,训练系统会将替换后的词当作原始内容接收。它可能会看到比赛的“winners”是“avengers”,或者一个孩子找到了“sofa car”。与其只是隐藏原始内容,**文本向未经授权的AI训练数据集中添加了名称、事件和行为之间的错误联系**。
**Q9 投毒真的有效吗,还是炒作?**
我们对此说法很谨慎。早期对小型微调模型的测试显示,在我们尝试的所有映射中,它产生了最强的负面效果,但这些测试过于有限,无法证明在大规模下会发生什么。我们能自信地说的是从文本中直接测量的:**改变约25%的词汇导致50%的段落不再做出相同的事实主张**。无论您将结果称为投毒还是浪费的训练努力,重要的是内容在未经授权的AI训练数据集中变得不那么有用。
**Q10 一个受保护的页面真的重要吗?如果每个人都这样做呢?**
一个受保护的页面只是沧海一粟。价值来自规模。如果许多创作者使用ShieldFont,爬虫必须拒绝更多页面,或花费更多时间识别和解码它们。仍进入数据集的页面携带被修改的信息,使收集的文本对训练不太有用。阻止会将内容从抓取中移除;屏蔽则可以将其排除或改变被收集的内容。单独来看,效果很小。**这是一种集体防御:使用的人越多,大规模抓取就越困难、越昂贵。**
## 实践 · 每个人都会提出的反对意见
**Q11 难道不能有人对渲染后的页面进行OCR吗?**
可以。如果有人拍摄您的页面并运行OCR(光学字符识别:从图像中读回文本),他们可以恢复您的文字。但ShieldFont并非设计用于阻止某人故意针对特定网站。它旨在干扰大规模抓取,后者依赖于从数十亿页面廉价且自动地收集HTML。使用OCR要求爬虫渲染每个页面,将其转换为图像,并用视觉模型处理像素。由于他们不知道哪些页面受到保护,他们必须大规模地这样做。**ShieldFont不需要让OCR变得不可能;它需要让OCR变得成本过高而不值得。**
**Q12 模型最终不会学会解码ShieldFont吗?**
他们不需要学习。这是我们希望您从我们这里听到而不是在脚注中发现的:**字体就是密码本,任何下载它的人都可以从中读回替换表。** 我们亲自测试了这一点,并毫无错误地恢复了全部11,962对单词。ShieldFont并非设计用于保守永久秘密或阻止某人故意针对一个网站。它的优势在于规模。ShieldFont附带三个映射,**alpha、beta和gamma**,并将每个文本块分配至其中一个。创建您自己的映射会使一个通用的预构建解码器对您的网站失效。爬虫必须识别您的字体,提取其映射,并专门解码您的内容。防御是经济性的,而非密码学上的:目标是将廉价、不加区分的抓取转变为更慢、更复杂、针对每个目标的工作。人们创建的独立映射越多,在整个网络范围内就越难。
**Q13 我的SEO会怎样?**
搜索引擎读取与爬虫相同的乱码HTML,因此**它们索引的是诱饵词,而不是您的词**。请屏蔽您不需要Google排名的内容:付费墙后的文章、档案、宣言,或任何您宁愿不让其出现在当前AI训练中也不愿在搜索中展示的内容。将您的营销页面保持为纯文本。ShieldFont逐块工作,因此选择完全由您决定。
**Q14 为什么要投毒?为什么不直接阻止爬虫?**
诸如robots.txt和Cloudflare的AI门之类的阻止工具就像墙壁:爬虫可以忽略或绕过它们。我们仍然建议使用它们来公开表达您的不同意。然而,投毒创造了**杠杆**:如果一个实验室在被检测到之前就在受保护文本上训练,数据就会变得不那么有用,并可能需要额外的工作来移除或纠正。长期目标是为创作者在谈判桌上赢得一席之地,通过一种许可途径,让AI公司为干净版本付费,而不是使用通过抓取获得的修改副本。该系统尚不存在,但这是我们希望帮助实现的结果。
**Q15 这不是已经尝试过了吗?TuringFonts、ZXX、Ghost Font、Nightshade呢?**
向前辈致敬。最接近的是**TuringFonts**(jfmdev):一种替换密码字体,用一个字母绘制另一个字母,因此爬虫读取乱码文本,而人类读取原始文本。它旨在防止机器人索引电子邮件和电话号码,并且早于AI时代。逐字母密码会产生字符噪声,现代质量过滤器会将其丢弃(LLM也会在单次传递中通过频率解乱),而且它永远不会隐藏页面被加密的事实。ShieldFont专为AI实际消化文本的方式而构建:我们将整个单词替换为其他真实的、相同语法类别的单词,因此页面保持流畅的散文,没有字符噪声可供标记,也没有可通过频率解乱的内容。每个单词都是正确语法位置上的真实单词,唯一被破坏的是含义。我们以令牌和含义而非隐藏字符串来思考,字体本身也是伪装的。
**ZXX**(Sang Mun,2013年)在*字形*层面与OCR作斗争,但现代视觉模型只需一个提示即可读取它。**Ghost Font**将文本隐藏在运动中;**Nightshade**和**Glaze**为艺术家污染图像。ShieldFont是文本原生的表亲:它破坏*机器实际复制的内容源*。阅读差距本身也有独立的安全研究支持。2026年3月,LayerX Security发表了“Poisoned Typeface” (https://layerxsecurity.com/blog/poisoned-typeface-a-simple-font-rendering-poisons-every-ai-assistant-and-only-microsoft-cares/),一项攻击研究,表明重映射字体使AI助手和人类从同一页面读取不同的文本。他们测试的所有十一个助手都读取了底层文本而不是渲染后的文本,只有微软将披露完成到全面修复。他们的工作从攻击角度出发,与我们无关,它从另一个方向证实了ShieldFont在防御中所利用的同一差距。
**Q16 这合法且合乎道德吗?**
我们从一个简单的立场为AI伦理辩论做出贡献:**创作者应该对他们的作品是否被用于训练AI拥有有意义的发言权**。您是在改变您自己HTML中您自己文字的外观,而不是进入另一个系统或攻击模型。我们鼓励创作者在内容旁边明确声明他们的不同意。如果AI公司尊重这一选择,什么都不会发生。效果仅在工作被未经许可抓取和使用时才会产生。目标不是损害AI(我们不反AI;更多信息请阅读Q20),而是让未经授权的训练变得不那么有用且更难忽视。
**Q17 屏幕阅读器和辅助功能怎么办?**
屏幕阅读器读取源代码,而不是字体显示的单词,因此当前的`<ShieldFont>`组件使用`aria-hidden`来阻止替换后的文本被朗读出来。我们有一个**内置替代方案,处于beta阶段并默认开启**,它允许用户通过仅屏幕阅读器可及的aria按钮在页面上生成真正的单词。读者的浏览器解决一个计算成本高昂的谜题来获取密钥,需要几秒钟。它适用于我们的动态网站层级,需要JavaScript,这也是重点的一部分:大多数爬虫从不运行任何JavaScript。已使用VoiceOver和自动化屏幕阅读器进行测试。
**Q18 爬虫不会学会识别aria标签或ShieldFont类并跳过这些页面吗?Eve
相似文章
网络对抗AI爬虫的最新武器是字体
一种名为ShieldFont的新字体利用连字功能替换网页HTML中的单词,向人类呈现可读文本,同时向AI爬虫提供无意义内容,从而有效污染训练数据。
人类可读但AI无法识别的字体
Ghost Font 是一款基于网页的工具,可生成移动文字视频,旨在让人类可读但AI模型无法识别,通过运动、噪音和诱饵来逃避机器识别。
Decoy Font
Decoy Font 是一种 TTF 字体,利用空间频率技巧嵌入隐藏信息,远距离人眼可读,近距离显示伪装内容,从而增加 AI 读取你输入内容的难度。
AI 已经盯上衬线字体
文章讨论了AI公司如何采用衬线字体来显得更有人性和值得信赖,因为衬线字体传达出传统和权威感,与无衬线字体的冷淡形成对比。
Shantell Sans
艺术家Shantell Martin与字体设计师Stephen Nixon合作,基于她自己的手写风格创作了开源字体Shantell Sans,该字体设计得既有趣又易读,尤其对阅读障碍者友好。