Anubis gerçekten işe yarıyor
(xeiaso.net)- Anubis, UNESCO'nun policytoolbox.iiep.unesco.org sitesine dağıtıldı ve büyük kuruluşların kullandığı bir bot karşıtı araç örneği olarak daha fazla dikkat çekmeye başladı
unesco.orgalan adının UNESCO'nun resmî alan adı olduğu doğrulandıktan sonra, bu dağıtım Birleşmiş Milletler ile bağlantılı bir kuruluşun gerçek kullanım örneği olarak kabul ediliyor- Linux Kernel Mailing List arşivleri, FreeBSD SVN, SourceHut, FFmpeg, Wine ve GNOME GitLab gibi zaten bilinen dağıtımlarla birlikte kullanım alanı genişliyor
- Bu tür kuruluşların Anubis'i benimsemesi, internetteki bot trafiği sorununun tahmin edilenden daha ciddi olabileceğini gösteriyor
- Anubis ve çevresindeki stack için daha fazla zamana ihtiyaç var; yeterli destek sağlanırsa tam zamanlı geliştirme ve işe alım bile mümkün olabilir
UNESCO dağıtımının doğrulanması
- Anubis, Birleşmiş Milletler'e bağlı UNESCO'nun policytoolbox.iiep.unesco.org sitesine dağıtıldı
unesco.org, Wikipedia'da United Nations Educational, Scientific and Cultural Organization'ın resmî alan adı olarak yer alıyor- UNESCO sistem yöneticisi ekibiyle iletişime geçilip kurulum sırasında sorun yaşanıp yaşanmadığı doğrulanmak ve kurulum süreci daha kolay hâle getirilmek isteniyor
Bilinen dağıtım örnekleri ve sonraki çalışmalar
- Doğrulanan büyük ölçekli dağıtımlar şunları içeriyor
- Linux Kernel Mailing List arşivleri
- FreeBSD'nin SVN'i, yakında git
- SourceHut
- FFmpeg
- Wine
- UNESCO
- The Science Olympiad Student Center
- Enlightenment masaüstü ortamı
- GNOME'un GitLab'ı
- Bu ölçekteki kuruluşlar Anubis kullanıyorsa, bot trafiği sorunu mevcut tahminlerden çok daha ciddi bir düzeyde olabilir
- YouTube'un bir dönem insan trafiğinden daha fazla bot trafiğine sahip olmaya, yani “the inversion”a yaklaşmış olması gibi, internet genelinde de benzer bir olgunun ne kadar yaygınlaştığı hâlâ açık bir soru
- Anubis ve ilgili stack'e ciddi biçimde zaman ayırmak gerekiyor; yeterli destek sağlanırsa bu işe tam zamanlı odaklanmak ve işe alım yapmak mümkün olabilir
- Anubis faydalı oluyorsa Patreon üzerinden destek isteniyor
1 yorum
Hacker News yorumları
İlgili yazı: Anubis: AI tarayıcılarını engellemek için proof-of-work proxy'si (100 puan, 23 gün önce, 58 yorum) https://news.ycombinator.com/item?id=43427679
Xe'nin eskiden neredeyse şaka/boş muhabbet gibi olan bir şeyi gerçekten işe yarar bir ürüne dönüştürmesi ilginç. Hep zamanlama her şeydir derlerdi.
Bu kadar çok sitenin bunu istemesi ya da buna ihtiyaç duyması biraz şaşırtıcı. Çok derin, önbelleksiz ve yavaş disklerden sunulan bazı Git sunucularındaki yavaş Git sayfaları sorununu anlıyorum.
UNESCO biraz beklenmedikti. İlgili alt site binlerce belgeyle epey büyük, ama statik içerik olduğu için sunması kolay olmalı. Baktığımda Apache üzerinde özensizce dağıtılmış bir WordPress olduğunu gördüm; önbellek yok, içerik sıkıştırma yok, HTTP/2·HTTP/3 yok.
Bunu çok küçük bir makinede bile çok ucuza sunacak hâle getirmek muhtemelen kolaydır, ama elbette uzmanlık gerektirir ve uzmanlık hâlâ ucuz değil.
Bir LLM'ye sorulabilir, ama ne soracağını bile bilmediğin bir durumda henüz pek yardımcı olmuyor. Sitenin baştan yavaş olduğunu bile bilmiyorsan neden sorasın ki? Muhtemelen sadece trafiğin altında ezildiğini duyup tüylü bir savunucu ararsın.
Zor demek istemiyorum; daha en başta varlığından haberdar olan kişi sayısı az demek istiyorum.
Tahminimce WordPress'e dokunulmamasının nedeni teknik bir sorun değil; kırılgan bir instance'a el sürmek istememek, kurumsal yetki sorunları ya da yöneticinin WP'nin zaten iyi yapılandırıldığını varsayması olabilir.
Bunu önbelleğe almanın yolu yok; botlar robots dosyasına da uymadığı için URL'leri durmadan istiyor ve yazıları çeşitli sayılarla ve kombinasyonlarla tekrar tekrar çekiyor. Gerçekten baş belası.
Şimdiye kadar gördüğüm çözümler Cloudflare, oturum açma zorunluluğu, Anubis ya da akıl almaz ölçekte altyapıydı.
Bir site trafiğinin %60'ının botlardan geldiğini söylemişti; daha küçük sitelerde bu oran muhtemelen çok daha yüksektir.
Proof-of-work'ü faydalı hesaplamaya dönüştürmeye çalışan projeleri de hatırlıyorum.
Bunun ne olduğunu karıştırıyorsanız, AI scraping'i engellemek için.
“Anubis, istemcinin güncel bir tarayıcı kullandığını ve SHA-256 checksum hesaplayabildiğini garanti etmek için proof-of-work görevleri kullanır”
https://anubis.techaro.lol/docs/design/how-anubis-works
Epey havalı; benim bir iki projeme de yardımcı olabilir.
İçerik yayımlatmak ya da işlem çalıştırmak elbette birçok durumda sorun olabilir.
Ama salt içerik sunumunda, genelde filtrelemek ya da engellemek istediğimiz ölçüt istemcinin insan mı bot mu olduğu değildir. Belirli bir istemci sistemi kötüye kullanmıyorsa, onun insan olup olmaması neden umurumuzda olsun ki?
“Ayrıca zaman da girdi olarak kullanılır. Çünkü doğrusal zaman çizgisinin doğası gereği hem sunucu hem de istekte bulunan zamanın ne olduğunu bilir.”
Belgelerde geçen komik bir cümle.
Çeşitli nedenlerle saat senkronizasyonu uyuşmazlığı yaygındır. Kullanıcıların en alttaki %10'unun gün düzeyinde bile doğru olmasını bekleyemezsiniz; en alttaki %25 bile 5 dakika kadar sapabilir.
Anubis kontrolü bitene kadar görünen ara sayfa görselleri gerçekten sevimli. Xe'nin blogundaki çizimleri ve karakterleri her zaman güzel bulmuşumdur.
Yan konu olarak, bunun genel arama motorlarını nasıl etkileyeceğini ve AI crawler'larını engelleyen Cloudflare çözümünden nasıl farklı olduğunu da merak ediyordum; GitHub sayfasında açıklanmış [1].
“Bunu kurup kullanırsanız bazı arama motorlarının web sitenizi dizine eklememesi yüksek ihtimaldir. Bu, Anubis'in hatası değil, özelliği olarak kabul edilir.”
“Bu biraz nükleer saldırı gibi bir yanıt, ama AI scraper botları o kadar agresif kazıyordu ki başka çare yoktu.”
“Çoğu durumda bunu kullanmanız gerekmez; belirli bir origin sunucusunu Cloudflare ile korumak muhtemelen yeterlidir. Ancak Cloudflare kullanamadığınız ya da kullanmak istemediğiniz durumlarda Anubis var.”
[1]: https://github.com/TecharoHQ/anubis/
Ancak Google gibi yerler AI ve arama indekslemesi için aynı IP'leri de kullanabiliyor.
Yine de Open Graph etiketlerini geçirme gibi iyileştirmeler üzerinde çalışıyoruz; en azından zengin önizlemelerin çalışmasını sağlamaya çalışıyoruz.
Anubis hakkında okudum; harika bir proje. Ne yazık ki yorumlarda belirtildiği gibi site ziyaretçilerinin JavaScript™’i etkinleştirmesi gerekiyor
Zaten kullanıcı deneyimini iyileştirmek için JavaScript™ gerektiren siteler için tamamen sorun değil; ama JS’ye hiç ihtiyaç duymayan statik siteler gibi yerler için pek uygun değil
Ben bu tür “kötü botları” ağ düzeyinde etkili biçimde engelleyen kendi çözümümü yaptım. MaxMind veritabanı ile kendi yaptığım WAF ve ters proxy’yi kullanarak birkaç büyük “Big Tech / Big LLM” ağının tamamını ASN (BGP) düzeyinde engelliyorum
Elbette ASN oyunları ve itibar dolandırıcılığı da birlikte yapılıyor, ama bunlara karşılık vermek çok zor. Logları kabaca incelediğimde bu botların belirli bir ev IP’sinden bir kez kadar istekte bulunduğunu ve bu aralığın gerçek insan kullanıcıların da kullandığı aralıklar olma ihtimalinin yüksek olduğunu gördüm
Kısacası meşru trafiği engelleme riski var. Bu çözümde de risk var, ama çoğu insan için gerçek risk çok daha düşük
JavaScript gerektirmemesi ve devre dışı bırakan kullanıcıları da destekleyebilmesi güzel olurdu; ancak müşterilerden ya da son kullanıcılardan JavaScript’i etkinleştirme gerekliliği hakkında hiç şikâyet almadık
JavaScript gerekliliğine karşı çıkanlar sesi çok çıkan bir azınlık; onların da çoğu JavaScript gerektiren bir siteyle karşılaştığında bunu açıyor. O anda bile yenilmiş gibi iç çekenlerin çok küçük bir azınlık olduğunu düşünüyorum
Fikri beğeniyorum, ama görevin niteliği netleştiğinde muhtemelen protokol düzeyine inmesi gerekecek gibi
Proof-of-work görevlerinin her web sitesinde JavaScript ile ayrı ayrı uygulanması yerine TCP’ye daha yakın bir parçaya dönüşmesi, erişilebilirlik açısından eninde sonunda daha iyi olacaktır
[0] https://datatracker.ietf.org/wg/privacypass/about/
“Yeterince iyi” çözüm, mevcutta yaygın kullanılan SHA(seed, nonce). Büyük teknoloji şirketleri isteseydi bunu yığının daha alt katmanlarına kolayca entegre edebilirdi
Telefonumda bot tespit bulmacasını çözmek 5 saniye sürüyor
Şahsen hiçbir şey yapmam gerekmediği için kullanıcı deneyiminin o kadar kötü olduğunu düşünmüyorum. CAPTCHA’ya kesinlikle tercih ederim
Şu an “Enigma web fontu” dediğim bir prototip üzerinde çalışıyorum. Sunulan ve önbelleğe alınan web fontları için kullanıcı oturumu başına özel seed ve döndürme değerleri uygulamak istiyorum
Amaç, OCR hesaplama maliyeti yüzünden web scraping’i pratik olmaktan çıkarmak. Şu an bu bir kedi-fare oyunu; dengeyi biraz değiştirmek istiyorum
Kullanıcı oturumu yoksa HTML kaynağı fiilen anlamsız hâle gelir; OTP benzeri bir davranışla varlık önbelleği ortadan kalkınca web sayfası da okunamaz olur
Böylece kullanıcının belirli bir kelimeyi okuyabilene kadar yerel seed penceresini ayarladığı bir CAPTCHA etkili biçimde oluşturulabilir. Örneğin “Foxtrott kelimesi okunur hâle gelene kadar kaydırıcıyı hareket ettirin” gibi
Xe’nin görüşünü mutlaka duymak isterim. Güçlerimizi birleştirebilir miyiz?
Teknoloji yığını Go. Çünkü web font dosyasını sorunsuz şekilde doğrudan değiştirmeyi kolay bulduğum tek dil oydu
Metni bozmak işe yaramayacaktır. Nasıl olsa vurmaya devam edecekler. Trafik örüntülerine bakınca bu botları yapan kişi sadece... <https://www.youtube.com/watch?v=ulIOrQasR18>
“Xe’nin görüşünü duymak isterim. Güçlerimizi birleştirebilir miyiz?” kısmına gelince, anladığım kadarıyla bu projenin daha fazla özellik eklemekten ziyade yakın ve uzak gelecekte daha sürdürülebilir hâle gelmesine yardım gerekiyor. Anubis zaten gayet iyi çalışıyor gibi görünüyor
JavaScript’i devre dışı bırakmış kullanıcıları engellemekte kesinlikle iyi çalışıyor