![]()
2024年,一個(gè)GitHub項(xiàng)目的Star數(shù)從0漲到8000,不是靠功能多炫酷,而是因?yàn)樗孉I公司的服務(wù)器賬單開(kāi)始燃燒。
這個(gè)項(xiàng)目叫Anubis,名字取自埃及死神。開(kāi)發(fā)者用了一個(gè)20年前的老技術(shù)——工作量證明(Proof-of-Work),把網(wǎng)站防爬戰(zhàn)從"貓鼠游戲"變成了"算力對(duì)賭"。
1. 為什么正經(jīng)網(wǎng)站開(kāi)始"挖礦"防身
AI爬蟲(chóng)的破壞力被嚴(yán)重低估。Cloudflare 2024年報(bào)告顯示,全球40%的互聯(lián)網(wǎng)流量來(lái)自機(jī)器人,其中"善意爬蟲(chóng)"(搜索引擎索引)占比不足15%。剩下的,大部分是AI公司訓(xùn)練大模型的數(shù)據(jù)采集器。
這些爬蟲(chóng)的共同點(diǎn):不講武德。它們會(huì)同時(shí)開(kāi)上千個(gè)連接,無(wú)視r(shí)obots.txt,把服務(wù)器CPU壓到100%,直接導(dǎo)致正常用戶無(wú)法訪問(wèn)。某獨(dú)立博客作者記錄,一次未防護(hù)的爬蟲(chóng)攻擊讓他的VPS在3小時(shí)內(nèi)產(chǎn)生47美元流量費(fèi)——相當(dāng)于平時(shí)半個(gè)月的開(kāi)銷。
Anubis的解法很粗暴:想訪問(wèn)頁(yè)面?先算一道哈希題。單個(gè)用戶耗時(shí)不到0.3秒,但爬蟲(chóng)如果并行開(kāi)1000個(gè)線程,算力成本會(huì)指數(shù)級(jí)膨脹。開(kāi)發(fā)者Eevee在README里寫得很直白:"這不是為了擋住所有人,是為了讓大規(guī)模爬取變得不劃算。"
工作量證明在這里不是區(qū)塊鏈噱頭,而是精確的成本杠桿。
2. Hashcash復(fù)活:一個(gè)被垃圾郵件逼出來(lái)的老方案
1997年,密碼學(xué)家Adam Back提出Hashcash,初衷是解決郵件垃圾問(wèn)題。核心邏輯:發(fā)郵件前,你的電腦先花幾秒算一道題,把結(jié)果附在郵件頭里。正常用戶發(fā)幾封郵件無(wú)感,但垃圾郵件發(fā)送者要發(fā)百萬(wàn)級(jí)郵件,算力成本直接爆炸。
Hashcash沒(méi)能在郵件領(lǐng)域普及——Gmail選擇了更粗暴的機(jī)器學(xué)習(xí)過(guò)濾。但27年后,它的精神繼承者Anubis在Web防護(hù)領(lǐng)域找到了位置。
![]()
技術(shù)實(shí)現(xiàn)上,Anubis用WebAssembly在瀏覽器端跑SHA-256計(jì)算。用戶訪問(wèn)被保護(hù)的網(wǎng)站時(shí),頁(yè)面會(huì)彈出一個(gè)"正在驗(yàn)證"的提示,后臺(tái)默默完成約20萬(wàn)次哈希迭代。現(xiàn)代筆記本耗時(shí)50-200毫秒,老舊手機(jī)可能到1秒,但仍在可接受范圍。
真正的殺招在經(jīng)濟(jì)學(xué)層面。假設(shè)某AI公司要爬取100萬(wàn)頁(yè)面,原本的成本主要是帶寬和存儲(chǔ);加入Anubis后,需要先完成100萬(wàn)次工作量證明。按AWS p3.2xlarge實(shí)例的算力成本估算,這部分新增支出可能讓單次爬取成本從200美元跳到9400美元——47倍的差距。
3. "臨時(shí)方案"背后的長(zhǎng)期博弈
Anubis開(kāi)發(fā)者承認(rèn)這是"hack"(權(quán)宜之計(jì))。真正的防線在更深處:通過(guò)字體渲染、Canvas指紋、WebGL行為等特征,識(shí)別出無(wú)頭瀏覽器(Headless Browser)——AI爬蟲(chóng)的主流形態(tài)。
這像極了冷戰(zhàn)時(shí)期的軍備競(jìng)賽。爬蟲(chóng)方不斷升級(jí)偽裝:用真實(shí)Chrome內(nèi)核、模擬鼠標(biāo)軌跡、甚至接入第三方打碼平臺(tái)解決驗(yàn)證碼。防御方則在收集"人類行為"的細(xì)粒度特征:你滾動(dòng)頁(yè)面的加速度曲線,鼠標(biāo)懸停時(shí)的微抖動(dòng),字體抗鋸齒的像素級(jí)差異。
「最終目標(biāo)是讓合法用戶無(wú)感知通過(guò),而機(jī)器需要付出不成比例的成本。」Anubis維護(hù)者在Issue區(qū)回復(fù)用戶提問(wèn)時(shí)寫道。
但這場(chǎng)博弈有個(gè)尷尬的第三方:隱私工具用戶。JShelter、NoScript等瀏覽器插件會(huì)阻斷Anubis所需的JavaScript執(zhí)行,導(dǎo)致正常用戶被誤攔。項(xiàng)目文檔不得不專門提示:"請(qǐng)為本站禁用JShelter"——一個(gè)反追蹤工具,在反爬蟲(chóng)戰(zhàn)場(chǎng)成了 collateral damage(附帶損傷)。
4. 沒(méi)有JavaScript的互聯(lián)網(wǎng)正在消失
Anubis的README里有句話被很多人忽略:"無(wú)JS方案正在開(kāi)發(fā)中。"這句話的潛臺(tái)詞是:在當(dāng)前技術(shù)條件下,沒(méi)有JavaScript就無(wú)法區(qū)分人類和機(jī)器。
這指向一個(gè)更深層的變化。早期的Web是文檔的互聯(lián),HTML足以承載一切。現(xiàn)在的Web是應(yīng)用的互聯(lián),JavaScript是運(yùn)行時(shí)的基礎(chǔ)設(shè)施。當(dāng)AI爬蟲(chóng)可以完美解析HTML、CSS,甚至執(zhí)行基礎(chǔ)JS時(shí),"人機(jī)驗(yàn)證"被迫上移到了更復(fù)雜的執(zhí)行層。
![]()
對(duì)普通用戶的影響是實(shí)實(shí)在在的。2024年,W3C的Web無(wú)障礙倡議組織收到多份投訴,稱這類防護(hù)機(jī)制對(duì)使用屏幕閱讀器的視障用戶不友好。Anubis團(tuán)隊(duì)回應(yīng)稱正在優(yōu)化ARIA標(biāo)簽支持,但優(yōu)先級(jí)低于"擋住當(dāng)前這波爬蟲(chóng)潮"。
技術(shù)債務(wù)在轉(zhuǎn)移:AI公司省下的數(shù)據(jù)標(biāo)注成本,正在變成全社會(huì)的驗(yàn)證負(fù)擔(dān)。
5. 當(dāng)每個(gè)網(wǎng)站都成為收費(fèi)站
Anubis不是孤例。Cloudflare的Turnstile、Google的reCAPTCHA v3、甚至Cloudflare的"托管質(zhì)詢"頁(yè)面,都在做類似的事:用某種成本不對(duì)稱,過(guò)濾掉機(jī)器流量。區(qū)別在于,Anubis是開(kāi)源的、自托管的、不需要把用戶數(shù)據(jù)交給第三方。
這契合了2024年的一種情緒:平臺(tái)不信任。開(kāi)發(fā)者寧愿自己維護(hù)一套防爬系統(tǒng),也不愿意把訪問(wèn)日志送給Google分析。Anubis的Docker鏡像下載量在三個(gè)月內(nèi)突破50萬(wàn)次,其中相當(dāng)一部分來(lái)自歐洲的獨(dú)立站長(zhǎng)——GDPR合規(guī)壓力下,他們比任何時(shí)候都更在意數(shù)據(jù)主權(quán)。
但自托管意味著責(zé)任自擔(dān)。GitHub Issues區(qū)里,最常見(jiàn)的求助是"配置后網(wǎng)站變慢了"或"移動(dòng)端驗(yàn)證失敗"。沒(méi)有SLA(服務(wù)等級(jí)協(xié)議),沒(méi)有7×24客服,只有一份還在完善的文檔和志愿者的碎片時(shí)間。
「我們是在用90年代的互聯(lián)網(wǎng)精神,解決2020年代的平臺(tái)問(wèn)題。」一位貢獻(xiàn)者在討論區(qū)寫道。
回到那個(gè)核心問(wèn)題:Anubis能贏嗎?
技術(shù)層面,工作量證明只是延遲了爬蟲(chóng)的適應(yīng)速度。已經(jīng)有用戶在測(cè)試用WebGPU并行計(jì)算,把驗(yàn)證時(shí)間壓縮到原來(lái)的1/20。經(jīng)濟(jì)層面,AI公司的算力預(yù)算仍在膨脹,9400美元的爬取成本對(duì)OpenAI或Anthropic可能只是 rounding error(舍入誤差)。
但Anubis的真正價(jià)值或許不在技術(shù)本身,而在它示范了一種姿態(tài):網(wǎng)站運(yùn)營(yíng)者開(kāi)始拒絕默認(rèn)承擔(dān)AI訓(xùn)練的外部性成本。當(dāng)足夠多的站點(diǎn)部署類似機(jī)制,AI公司的數(shù)據(jù)獲取策略將被迫調(diào)整——從野蠻抓取,轉(zhuǎn)向授權(quán)協(xié)議和合成數(shù)據(jù)。
那個(gè)"無(wú)JS方案"的承諾,至今仍在開(kāi)發(fā)中。而依賴屏幕閱讀器的用戶、使用隱私插件的訪客、以及所有相信Web應(yīng)該對(duì)機(jī)器和人類同等開(kāi)放的人,正在等待一個(gè)答案:當(dāng)驗(yàn)證成為基礎(chǔ)設(shè)施,誰(shuí)有權(quán)定義"合法訪問(wèn)"的門檻?
特別聲明:以上內(nèi)容(如有圖片或視頻亦包括在內(nèi))為自媒體平臺(tái)“網(wǎng)易號(hào)”用戶上傳并發(fā)布,本平臺(tái)僅提供信息存儲(chǔ)服務(wù)。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.