為什麼動漫貓娘會擋住我存取 Linux 內核? (★ 104 分)
Anubis 是一個由 TecharoHQ 開發的「反 AI 爬蟲」專案,它的運作方式不像傳統的驗證碼 (CAPTCHA),而是要求訪客完成一個對電腦簡單、對人類幾乎不可能的「工作量證明」(Proof-of-Work, PoW) 問題。例如伺服器會發出一段挑戰字串,瀏覽器必須嘗試各種數值直到算出一個 SHA-256 雜湊值開頭帶有數個「0」。這種設計概念類似比特幣挖礦,不過並非真正的加密貨幣,而是希望藉此提高自動化爬蟲的運算成本。使用者若能計算出結果,就能取得一個維持約七天的認證 Cookie,繼續造訪該網站資源,否則會被擋在類似「動漫獸耳角色」的阻擋頁面前。
作者以檢驗程式碼及實測的方式指出,Anubis 的預設難度僅要求前四個十六進位字符為零,也就是平均需要進行約 2¹⁶ 次 SHA-256 運算。以 Google Cloud 免費等級的虛擬機器為例,只需數分鐘即可為全球所有採用 Anubis 的網站「挖」出足夠的 token,換算成本幾乎等於零。對擁有大量運算資源的 AI 業者而言,幾乎沒有任何阻力;反而是一般用手機、低階筆電或受限設備的使用者,會因此感受到頁面遲緩甚至無法正常存取。換句話說,這套機制若真要提高難度,勢必先傷害真正的使用者體驗。
本文還回顧了類似的歷史反垃圾郵件解法,例如 1990 年代的 Hashcash,以及 Habeas 曾用俳句授權來鑑別合法郵件。作者最後示範如何透過 `curl` 抓取挑戰參數,寫一個簡單的 C 程式迅速「挖礦」得到通行 nonce,再交換成有效的 Cookie,成功繞過封鎖。他更發現挑戰 token 可能存在「雙重支付」(double-spend) 漏洞,可重複換取認證 cookie,這代表機制上仍有設計缺陷。
在 Hacker News 的討論中,許多留言者指出 Anubis 的機制確實難以真正阻止大型 AI 爬蟲,因為那些業者有的是龐大資料中心資源。Proof-of-Work 不僅不能帶來實質成本,反倒把耗時的延遲轉嫁給人類使用者,尤其是低階設備用戶。批評者強調,CPU 計算極度廉價,但人類等待時間才是真正昂貴的資源。也有人補充,Anubis 的實際效果在於可以擋掉許多「粗糙」的爬蟲,因為有些 AI 爬蟲並沒有執行 JavaScript 的能力,或是代碼寫得非常低劣,因此初步的 PoW 挑戰確實能淘汰大部分低層次的流量。
另一些開發者則關注社群面向,覺得以「動漫獸耳少女」作為攔截頁面顯得不專業,甚至有人認為在 kernel.org 這樣嚴肅的技術網站出現這種形象頗為突兀。不過也有使用者抱持幽默態度,認為吉祥物或卡通化形象並無大礙,甚至比傳統的錯誤頁面更有辨識度。此外,有人分享替代作法,例如純粹透過更有效率的頻率限制 (rate limiting) 或建立垃圾資訊迷宮 (AI Labyrinth) 來誤導爬蟲,甚至藉由修改 User-Agent 即可繞過 Anubis 的檢測,顯示其安全性仍存在結構弱點。
總結來看,Anubis 是一種帶有藝術色彩的反爬蟲實驗,其設計或許能擋掉低階、粗糙的抓取程式,但在經濟與技術實務上並不足以抑制擁有雲端資源的 AI 公司。這也突顯了更根本的問題:當網站管理者缺乏有效手段限制不當爬蟲流量時,只能仰賴各種權宜之計,而這些措施往往代價先由一般使用者承擔。整體而言,此爭論反映了網路開放性、使用者體驗與對抗濫用之間的持續拉鋸。
👥 134 則討論、評論 💬
https://news.ycombinator.com/item?id=44962529