1 Eylül 2026'da CrowdSec 1.8 yayınlandı — ve kendi sunucunuza tek bir helm install ile kurabileceğiniz açık kaynaklı WAF'ye iki şey birden geldi: tarayıcı parmak izi ve proof-of-work. Şimdiye kadar PoW duvarı, vahşi doğada çoğunlukla git formları ve dağıtım arşivlerinde karşılaşılıyordu. Artık bu tür bir katman, günde beş yüz ziyaretçisi olan herhangi bir sitede bulunabilir hale geldi.
Ne değiştiğini, neden tespitlerin "işlemci ile ödeme" yönüne kaydığını ve — en önemlisi — bu yapıda hash'in en küçük sorun olduğunu anlamaya çalışıyoruz.
Ne oldu: PoW, git formlarından sıradan sitelere indi
CrowdSec, kendi kendine barındırılan bir sistemdir: ajan günlükleri okur, WAF uygulamanın önünde durur, "bounce" (geri dönen) sistemler engeller. 1.8 sürümünde ekip, WAF'ye "bu IP kötü mü?" sorusuna değil, "bu gerçekten bir insanın kullandığı bir tarayıcı mı yoksa onun gibi davranan bir bot mu?" sorusuna cevap veren bir mekanizma ekledi. Cevap, parmak izinden (tarayıcı özellikleri ve TLS imzası) ve proof-of-work'ten — istemcinin arka uç isteğini görmeden önce çözmesi gereken hesaplama görevinden toplanıyor.
Yazarlar motivasyonu diplomasi olmadan ifade ediyor: 2026 yılındaki ortalama bot, gerçek bir Chrome ile, tutarlı bir TLS parmak izi ile, yerel bir IP ile geliyor — ve sabrı, nöbetçi mühendisten daha fazla. Bu tespit tarafından yapılan bir itiraf, herhangi bir analitikten daha değerlidir: yerel adres ve düzgün TLS, ayırıcı bir özellik olmaktan çıkmıştır. IP itibarı ve el sıkışma ile bot artık insandan farklı olmadığından, koruma, tarayıcı için ucuz ve makine parkı için pahalı olan bir işaret arıyor.
Aynı günlerde Hacker News'ta POWBlock — "herhangi bir sunucu için proof-of-work mikroservisi" — ortaya çıktı. Bir sürüm tesadüf olarak sayılabilir, iki bağımsız sinyal bir hafta içinde — artık bir yön.
PoW duvarı Anubis örneğiyle nasıl çalışıyor
Türünün örneği — Anubis: MIT lisansı altında Go ile yazılmış bir ters proxy, 2025 yılından beri Xe Iaso tarafından Techaro markası altında yazılmaktadır. Fikir, 1997 yılında Adam Back'in hashcash'inden doğrudan geliyor: istemci, SHA-256'nın gerekli sayıda önde gelen sıfır veren bir hash vermesi için değerleri dener. Çözdü — imzalı bir JWT çerezi (techaro.lol-anubis-auth) aldı ve geçici erişim sağladı. Çözmedi — arka uç senin varlığından haberdar olmayacak.
Zorluk, yönetici tarafından belirlenir. Varsayılan olarak Anubis, tarayıcıya benzeyen her şeyi — yani User-Agent'ında Mozilla dizesi olan her şeyi — zorlar. Her seviyenin ne kadar sürdüğünü ölçümler gösteriyor:
- Zorluk 1 — 100 ms'den az.
- Zorluk 4 (varsayılan) — Intel Core Ultra 7 165H'de yaklaşık 1,35 s, bu da tarayıcıda yaklaşık 87.600 hash/saniye demektir.
- Zorluk 8 — yaklaşık 11 s.
- Zorluk 10 — yaklaşık 114 s.
Dördüncü ve onuncu seviye arasındaki fark yaklaşık 84 kat. Uygulayıcıların listesi etkileyici görünüyor: Linux çekirdek dağıtım arşivi ve çekirdek git sunucusu, sourcehut, FFmpeg, GNOME projesi GitLab, Wine, sourceware.org, FreeCAD, ScummVM, Enlightenment, UNESCO. Duke Üniversitesi'nde Haziran 2025'te yapılan pilot uygulama, günde 4 milyondan fazla istenmeyen HTTP isteğini engelledi — yaklaşık %90'lık bir çöp trafiği — ve bir hafta içinde 12 kişi sorun bildirdi.
Bu duvarlar kötü niyetle ortaya çıkmadı. Read the Docs'ta tek bir tarayıcı, bir ayda 73 TB veri indirdi; engellemeden sonra günlük trafik 800 GB'den 200 GB'ye düştü, tasarruf — ayda yaklaşık 1500 dolar. Drew DeVolt, tarayıcılarla mücadelenin kendisinden %20 ila %100 arasında bir kayıp yaşadığını belirtti. 2025 yılı için otomatik trafiğin %23,51 oranında artması ve yıl içinde AI trafiğinin neredeyse üç katına çıkmasıyla yöneticiler, hızlı çalışan şeylere yöneldi.
Dönüş: endüstriyel ayrıştırmaya karşı PoW neredeyse işe yaramıyor
Şimdi, basın bültenlerinde nadiren yazılan rahatsız edici kısma gelelim. Proof-of-work, "ucuz kontrol, pahalı çözüm" asimetrisine dayanır. Web'de bu asimetri, yanlış bir yönde gelişmiştir.
Samimi bir ziyaretçi, hash'leri tarayıcıda yavaş bir JavaScript olarak değerlendirir. Verileri almak için gelen biri, bunları yerel kod olarak görür. Tavis Ormandy, 25 satırlık C ile bir çözücü yazdı: zorluk 5 olan görev yaklaşık 0,017 saniyede kapatılıyor — bu, tarayıcıdaki SubtleCrypto'dan yaklaşık 200 kat daha hızlıdır. GPU'da fark daha da fazladır, yaklaşık yüz kat ve daha fazlası. Matematiksel sonuç basit: büyük bir satıcı için tüm Anubis sitelerini aşmanın maliyeti neredeyse sıfırdır.
Bu bir teori değil. Codeberg, Ağustos 2025'te birçok scraper botunun Anubis zorluklarını çözmeyi öğrendiğini bildirdi. Duvar yine de işe yaramaz hale gelmedi — birkaç ay boyunca ana kütleyi engelledi — ancak bir akşamı yerel bir çözücüye yatırmaya istekli olanlar için bir engel olmaktan çıktı.
Ödemeyi her zamanki gibi gerçek kullanıcı yapıyor. Zorluk 5, yeni bir MacBook'ta yaklaşık 2 saniye, eski bir dizüstü bilgisayarda onlarca saniye ve telefonda iki dakikaya kadar sürüyor. GitLab GNOME, Firefox'ta yarım saatlik takılma durumunu kaydetti — bir istisna, ancak gösterişli. Ayrıca sert istisnalar var: varsayılan olarak Anubis, JavaScript gerektiriyor, bu nedenle RSS okuyucuları, curl, wget ve Lynx basitçe devre dışı kalıyor. Proje bunu düzeltiyor — 1.20.0 sürümünde JS olmadan meta-refresh ile bir yol eklendi — ancak 1.22.0 sürümünde Proof of React geldi ve bu, tarayıcı gereksinimlerini artırdı.
Projenin dayanıklılığı hakkında da bilgi sahibi olmak gerekir: kodun yaklaşık yarısını tek bir kişi taahhüt ediyor ve 80'den fazla katkı sağlayan arasında yalnızca bir başka geliştirici ondan fazla taahhüt yaptı. Ayrıca Anubis, GeoIP ve BGP filtrelemesi için ücretli Thoth hizmetini entegre etti — yani açık kaynak projenin ticari bir komşusu var.
PoW gerçekten nerede ısırıyor: ticari versiyon farklı çalışıyor
Burada ana kavram kayması gizleniyor. Kasada, hCaptcha ve Cloudflare Turnstile da proof-of-work kullanıyor — ancak Anubis'ten çok farklı bir şekilde.
Anubis'in bulmacası ve vardır duvar: JS'yi tamamladın, hash'i hesapladın — geçtin. Bir sinyal, bir engel. Ticari sistemlerde PoW, doğrulama olarak çalışır. Kasada'da görev birkaç milisaniye sürer — o kadar az ki, bir engel olarak anlamı yoktur. Anlamı başka bir şeydedir: bunu çözmek için istemcinin obfuscate edilmiş bir sanal makineyi çalıştırması gerekir; gerçek tespit burada gerçekleşir. Hash'i hesaplarsan, diğer her şeyi tamamlamadan — hiçbir şey elde edemezsin. hCaptcha, PoW'yi görüntülerin yargısı üzerine ekleyerek şüpheli istemciler için hesaplama maliyetini artırır, Turnstile ise PoW'yi çevre denemeleri arasında bir sinyal olarak değerlendirir.
Farklılık ilkeldir. Açık duvar, ucuz yerel bir çözücü tarafından kırılır. Ticari olanı ise hash değil, başkalarının obfuscate edilmiş kodunu dürüstçe çalıştırma gerekliliği ve çevrede yakalanmama zorunluluğu kırar — bu da pahalıdır, çünkü obfuscation düzenli olarak döner. CrowdSec 1.8, bu mantığın hibritini (parmak izi PoW ile yan yana) kendi kendine barındırılan dünyaya taşıdığı için ilginçtir; burada daha önce IP başına maksimum hız sınırı vardı.
Pratikte bu ne değiştiriyor
Verileri yasal olarak topluyorsanız — fiyatları izliyorsanız, markanızı takip ediyorsanız, araştırma yapıyorsanız — sonuçlar oldukça somut hale geliyor.
- Problem hash'te değil, tarayıcı katmanında. Hash, milisaniyeler içinde yerel olarak hesaplanır. Parmak izi, obfuscate edilmiş VM ve doğru çevre hesaplanmaz. Pratik kayma: daha önce HTTP istemcisi yeterliyken, şimdi gerçek bir tarayıcı motoru gerekiyor. Bu, CPU ve bellek açısından daha pahalıdır ve hemen buna göre planlama yapmak gerekir.
- Ekonomi, trafiği zamana ve işlemciye kaydırıyor. Daha önce maliyet IP ve gigabayt cinsinden hesaplanıyordu. Artık sayfa başına geçen saniyeler ve çekirdek yükü de ekleniyor. Gigabayt başına fiyatı değil, bir başarılı kaydın maliyetini ölçmek gerekiyor — PoW duvarında bu iki metrik özellikle farklılaşıyor.
- Oturum bir varlık haline geliyor. Anubis, belirli bir süre için JWT çerezi verir. Her istektan sonra IP'yi değiştirirseniz, her sayfada yeniden PoW vergisi ödersiniz. Burada yerel proxy'lerde yapışkan oturumlar, "anonimlikte" değil, doğrudan hesaplamalarda kazanç sağlar: bir görev çözümü, onlarca sayfaya amorti edilir. PoW dünyasında agresif döngü, iyi bir uygulamadan aşırı harcamaya dönüşüyor.
- Çözücü davranışı değiştirmez. Aynı mantık, çözücülerin captcha sorununu kapatmayı bıraktığı: görünür bir görevi çözüyorsunuz, ancak karar görünmeyen sinyallere dayanarak veriliyor.
- Sıklığı azaltın — bu, herhangi bir duvardan daha ucuzdur. PoW dalgası, bir tarayıcıdan gelen 73 TB gibi hikayelerden doğdu. Önbellek, koşullu istekler, makul bir aralık ve robots.txt'ye saygı, sizi meydan okuma başlamadan önce radarın dışına çıkarır. Ucuz veri merkezi adresleri ve maksimum sıklıkta headless — bu, duvarların kurulma nedenidir.
Sonuç
CrowdSec 1.8 — "scraping'in sonu" değil, ve Anubis de öyle olmadı: yerel bir çözücü, zorluk 5 olan görevi 0,017 saniyede kapatıyor, ancak eski bir telefondaki gerçek bir insan iki dakikaya kadar bekliyor. Gerçek haber başka bir şey. Öncelikle, tespit açıkça kabul etti ki, yerel IP ve temiz TLS artık hiçbir şey kanıtlamıyor. İkincisi, "tarayıcı olduğunu kanıtla" katmanı, Kasada bütçesi olan büyük platformların ayrıcalığı olmaktan çıkıp, sıradan sitelere kurulan açık kaynaklı bir yapıya taşındı.
Hazırlanmak gereken şey, hash'lerle savaş değil, "çok sayıda IP artı hızlı HTTP istemcisi" ucuz şemasının giderek daha küçük hedeflerde devre dışı kalacağıdır. Ters yapı kazanır: daha az istek, gerçek bir tarayıcı, uzun oturumlar ve güvenilir adresler, bir güvenilir geçişin gerekli olduğu yerlerde, binlerce ucuz denemeden ziyade.
