ShieldFont 用字型誤導 AI 爬蟲:人眼睇原文,複製就變另一句
Tech News

ShieldFont 用字型誤導 AI 爬蟲:人眼睇原文,複製就變另一句

圖片:via TechNews 科技新報 — https://infosecu.technews.tw/2026/08/17/the-webs-newest-weapon-against-ai-scrapers-is-a-font/
TechLab 編輯部(譯)·

英文內容可用 npm 或 CDN 加入,但搜尋、複製同無障礙都有代價

TechNews 科技新報報道,ShieldFont 想用一個幾古怪但幾聰明嘅方法,阻礙 AI 公司大量抓取文章:網頁畫面照樣顯示作者原句,HTML 入面存放嘅文字就換成另一批英文。爬蟲如果淨係抽取 HTML,攞走嘅內容文法未必有錯,意思就已經走晒樣,放入訓練資料亦可能帶入錯誤關聯。

值得拆清楚嘅位係,ShieldFont 只係增加大規模抓取成本,唔係可靠嘅存取控制。文章仍然公開,字型亦要送到訪客部 browser;識得完整渲染網頁、分析字型或者跑 OCR 嘅爬蟲,始終有方法拎返畫面上嗰份原文。

字型點樣令人同爬蟲睇到兩句嘢

個做法借用 OpenType 字型本身已有嘅 GSUB glyph substitution。普通字型會用呢套機制處理 fi 呢類連字,ShieldFont 就將規模擴到成個英文詞。網站先把原句轉成替換版 HTML,配套字型再用預先寫好嘅 glyph,將替換詞畫成作者原本想顯示嗰個詞。人眼讀畫面時見到原句,直接睇 DOM、RSS 或下載 HTML 嘅工具就攞到替換句。

佢又唔會純粹塞亂碼,而係盡量用相近詞性同語氣嘅字換走名詞、動詞、形容詞等內容詞。咁做係想避過訓練資料嘅品質過濾器:一句古怪但仍似英文嘅內容,有機會留低;就算過濾器察覺有問題而掉走成頁,作者嘅原文同樣冇進入嗰條資料管道。

ShieldFont 示意圖並排展示人眼見到嘅原文同爬蟲讀到嘅替換文字

圖片:ShieldFont/S&A、Playtype

安裝唔難,複製貼上即刻露底

官方提供幾條路。React 網站可以安裝 @shieldfont/react,再用 <Shield> 包住指定段落;靜態網站就可以經網上 encoder 產生替換 HTML,再載入配對嘅 web font。官方亦有 @shieldfont/core,方便喺 build 或 server render 階段轉換內容。原文唔應該送到 client component,亦要移除 build 階段留下嘅原文註解,否則爬蟲仍然可以直接執走。

TechLab 用官方 @shieldfont/core 0.3.5 核對 encoder 輸出,輸入「The future of writing belongs to those who write it.」,HTML 版本會把 belongs 換成 determineswrite 換成 sell。配對字型負責喺畫面還原,不過複製貼上、頁內搜尋、翻譯工具同 Reader Mode 讀嘅係底層文字,所以攞到嘅仍然係替換句。呢種副作用唔使等 AI 爬蟲出現,普通訪客已經會撞到。

ShieldFont 官方宣傳圖,以字型同文字替換概念介紹防爬蟲方案

圖片:ShieldFont/S&A、Playtype

「擋到九成」要睇清楚分母

項目團隊白皮書話,v18 字典平均替換約 24.4% 全部詞彙,計內容詞就有 45.8%。喺佢哋揀用嘅嚴格品質過濾測試入面,原先合格嘅頁面套用 ShieldFont 後,只有 9.70% 仍然合格,即約九成俾過濾器掉走。剩低嗰批頁面入面,團隊估算有 19.4% 詞彙傳達咗錯誤意思。

不過呢個 9.70% 只計原先已通過過濾器嘅 134 個樣本,白皮書列出嘅 95% 信賴區間由 5.8% 到 15.9%;若計埋全部網頁,絕對通過率其實得 0.38%。測試亦只對照六條公開資料管道同幾個公開 grader,AI 公司真正採用邊套抓取同清洗方法,外界冇法確認。數據、方法同程式碼雖然已公開,但主要仍然由項目團隊提供,暫時未見充分獨立審核,唔適合將「九成」當成普遍防護率。

針對性爬蟲下載字型就有得拆

呢套設計最明顯嘅弱點,正正係 browser 要有配對字型先畫得出原句。官方文件承認,佢哋由公開字型自行還原到 11,962 組映射;預設 Alpha、Beta、Gamma 字典亦係公開資料。針對單一網站嘅爬蟲可以辨認 ShieldFont、下載 WOFF2、反查 GSUB 表,再將 HTML 轉返原文。私人映射會提高逐個網站分析嘅成本,但破解工具寫好一次之後,後續工作未必仍然昂貴。

另一條更直接嘅路係用 headless browser 完整渲染,再用 OCR 或視覺模型讀畫面。The Register 查證時亦指出,呢幾種方法都可以避開替換 HTML。ShieldFont 押注嘅係大量資料管道為咗速度同成本,通常唔會逐頁跑完整 browser;一旦某個網站值得專門處理,呢層阻力就薄好多。

SEO、無障礙同中文支援有咩限制

搜尋器索引嘅可能係替換句,網站想排名嘅標題、導言同核心段落自然唔適合包住。無障礙方面,React 元件會用 aria-hidden 避免 screen reader 讀出假內容,再提供控制項,等用家經 JavaScript 解鎖原文。官方暫時只列出 VoiceOver 同自動測試,跨平台獨立驗證仍然唔夠。靜態整合仲要網站自行補返替代內容,處理得差就可能令 screen reader 完全讀唔到成段文章。

現版本亦只處理英文,中文詞句會原樣保留。以中文內容為主嘅網站實際幫助有限;英文博客、研究文章、付費檔案或者唔靠搜尋流量嘅長文,先較容易搵到合適位置試用。部署時最好逐段揀內容,保留標題、摘要同重要無障礙資訊;真正嘅存取權限,就繼續交畀 robots.txt、登入、paywall 或 WAF 呢類工具處理。


參考來源

本文根據原文及公開資料整理;資料有出入時,以原文及官方資料為準。

分享:WhatsAppThreadsTelegramFacebook