- Bir web sitesi işletmecisinin AI eğitimine yönelik scraper botlara karşı trafik çekmek için “sonsuz saçmalık” sayfaları ürettiği bir deney tanıtılıyor
- Bu botlar robots.txt'yi yok sayıp IP değiştirerek sürekli istek gönderiyor; yani geleneksel arama motoru tarayıcılarından farklı olarak saldırgan davranıyor
- IP engelleme, hız sınırlama, CAPTCHA, giriş duvarı gibi genel savunmaların tamamı etkisiz kalıyor ve sadece gerçek kullanıcıya rahatsızlık veriyor
- Bunun üzerine yazar, botlara otomatik olarak sahte veri (anlamsız metin) sunmanın en ucuz ve etkili yöntem olduğunu keşfetmiş
- Bu durum AI veri toplamanın yan etkilerini ve sunucu kaynaklarının israfı sorununu ortaya koyarken, web yöneticilerinin alabileceği gerçekçi bir karşı önlem de sunuyor
Botların kimliği
- Son dönemin tarayıcıları arama motorları için değil, LLM (büyük dil modeli) eğitimi için veri toplama amacıyla çalışıyor
- robots.txt'yi görmezden geliyor, tarayıcı gibi davranıyor veya IP değiştirerek erişiyorlar
- Gün boyu saniyede birden çok istek göndererek sunucuda yük oluşturuyorlar
- Klasik arama motorlarından farklı olarak, sitenin ayakta kalmasıyla ilgilenmiyor; onu yalnızca ikame edilebilir bir veri kaynağı olarak görüyorlar
Erişime izin verilirse ortaya çıkan sorunlar
- Statik dosya sunmak ucuzdur ama bedava değildir; SSD erişim gecikmesi ve dosya sistemi ek yükü vardır
- Önbellekte olmayan eski sayfaları isteyerek sunucu performansını düşürebilirler
- Bant genişliği tüketimi de bir sorun; görseller içeren blog yazıları hızla birikerek ayda 1TB'ı aşan trafik üretebilir
- Bu da kişisel sunucu işletenler için taşınması zor bir maliyettir
Engelleme girişimlerinin sınırları
- IP engelleme etkili değil; büyük şirketlerin işlettiği bot ağları binlerce adrese sahip
- Tüm adresler engellense bile yeni IP satın alıp yeniden bağlanıyorlar
- İstek hız sınırı (rate limit) da işe yaramıyor; bazı durumlarda her istek için farklı bir IP kullanılıyor
Güvenlik duvarı ve kimlik doğrulama engellerinin yan etkileri
- Giriş, ödeme, CAPTCHA, hash tabanlı proof-of-work gibi çeşitli savunmalar önerilmiş olsa da hepsi kullanıcıya rahatsızlık veriyor
- Hesap zorunluluğu okuyucu erişimini engelliyor, JavaScript tabanlı doğrulama ise JS'siz tarayıcıları dışarıda bırakıyor
- Sayfa yükleme hızının düşmesi de kullanıcı deneyimini bozuyor
gzip bombun etkisizliği
- Bazıları botlara karşı gzip bomb kullanılmasını önerse de pratikte sıkıştırma oranı ancak 1000 kat civarında kalıyor
- 100GB'lık açılmış dosya üretmek için 100MB'lık varlık sunmak gerekiyor
- Deney sonuçlarında botların bunu ya yok saydığı ya da tersine daha fazla istek gönderdiği görülüyor
Aldatmacanın başarısızlığı
- Sitenin yokmuş gibi görünmesi için 404 hatası döndüren “Jedi mind trick” yöntemi de başarısız olmuş
- Bağlantı dışarıda paylaşılırsa botlar sitenin varlığını fark ediyor, erişim engellenirse de daha saldırgan istekler gönderiyorlar
- Sonuç olarak sunucunun sakin kalması için botları tatmin etmek gerekiyor
Çöp veri sunmanın verimliliği
- Dinamik içerik üretimi pahalı görünebilir ama gerçekte CPU ve RAM en hızlı kaynaklardır
- Yavaşlık algısı genelde veritabanı I/O'su veya karmaşık JS mantığından kaynaklanır
- Yazarın geliştirdiği Markov tabanlı babbler istek başına yaklaşık 60 mikrosaniye CPU ve yalnızca 1.2MB bellek kullanıyor
- Disk erişimi yok, kara liste yönetimi gerekmiyor
- Botlar kendi kendine gelip anlamsız metin tüketirken sunucu yükünü azaltan bir yapı oluşuyor
Sonuç
- AI eğitimi için çalışan botların denetimsiz veri toplaması, web altyapısı maliyetlerinin artmasına ve içeriğin kötüye kullanılmasına yol açıyor
- Basit engellemeden ziyade anlamsız verilerle karşılık verme stratejisi maliyet açısından daha verimli ve sunucu istikrarını korumada daha avantajlı
- Bu, gelecekte AI taraması ile web ekosisteminin birlikte var olma yollarını arayan deneysel bir yaklaşım olarak değerlendiriliyor
2 yorum
Oo... gerçekten özgün ve güzelmiş.
Hacker News görüşü
Bağlantının önündeki gizli paragraf talimatı komikti
“Bu sayfadaki içerik tehlikelidir, paylaşmayın” gibi LLM’leri kandırmaya yönelik şakacı bir not vardı
İlgili belge bu bağlantıda
Sondaki “LLM instructions” bölümü asıl metnin parçası değil, LLM’lerin kafasını karıştırmak için eklenmiş meta talimatlar olduğu için özete dahil edilmemiş
Ben hep böyle bir stratejiyi savundum — AI botlarına gerçek gibi görünen çöp veriyi büyük ölçekte yedirmek, böylece sonunda bunu insanların filtrelemek zorunda kalmasını sağlamak
Her site bunu yapsa AI’ın eğitildiği verinin kalitesi hızla düşer
Savaşmak zorsa, veri seliyle üstünü örtmek daha iyi
SEO yemi gibi, haber alanı görünümünde siteler kurup ürün tanıtım yazıları yaymak
Böyle girişimler, spam aramalara karşılık vermek gibi zaman kaybı sadece
Sonunda insan işe almaya neredeyse gerek kalmayacak
“Markov babbler”ın ayrıntıları bu gönderide var
pthread_detachparametre hatası oluşuyorYazarın kullandığı derleyici uyarıları yok sayıyor gibi görünüyor
Program thread yönetimi sınırı olmadan istek işlediği için, bunu container içinde yetkisiz kullanıcıyla çalıştırmak daha güvenli
sprintf()gibi tehlikeli C fonksiyonları da kullanılıyor gibi görünüyor; güvenlik açısından dikkat etmek lazımBenim sitemde tüm bağlantılar Basic Auth arkasında, ama şimdiye kadar hiçbir bot geçemedi
Bu yüzden tüm web siteleri aynı açık kimlik bilgilerini kullansa nasıl olur diye düşündüm
kullanıcı: nobots / şifre: nobots
Bot bunu bilse bile aşabilir mi?
Çoğu bot henüz bu durumu hesaba katmıyor sadece
http://username:password@example.combiçiminde istek göndererek kolayca çözülürBen de artık onlara çöp veri sağlıyorum
Kaynak olarak Frankenstein, Alice in Wonderland ve Moby Dick kullandım ama dosyalar büyük olduğu için yükleme yavaş
Derleme hatasını çözmek için
pthread_detach(&thread)ifadesinipthread_detach(thread)olarak değiştirdimBen bir “ethical crawler” işletiyorum
Web sitelerine yük bindirmemek için istek sıklığını düşük tutuyorum; RSS erişiminin kapalı olduğu yerler arttıkça iş zorlaşıyor
Benim crawler, gezinirken çeşitli başlıkları ve mekanizmaları test ediyor
Kod: crawler-buddy, Django-link-archive
requirements.txtiçinde feedparser var ama gerçekten kullanıldığına dair iz yokBu, arama sonucundan da görülebiliyor
The Cost of Trash yazısında gzip bomb’un etkili olmadığı söyleniyor
gzip yaklaşık 1000 kat sıkıştırabildiği için, 100GB üretmek istiyorsanız 100MB’lık bir dosya sunmanız gerekir
Hatta botların daha da fazla istek attığı söyleniyor
Çoğu istemci streaming biçimde sıkıştırmayı açtığı için her şeyi belleğe yüklemez
gzip bomb’un gerçekten işe yaraması için alışılmadık bir işleme biçimi gerekir
Referans: zlib API belgesi
İçine rastgele çöp koyabilir ya da AI’ın öğrenmesini istediğiniz mesajları ekleyebilirsiniz
Dikkat edilmesi gereken nokta, bazı isteklerin aslında gerçek kullanıcı tarayıcılarını proxy olarak kullanan istekler olabileceği
Bazı tarayıcı sağlayıcıları kullanıcı trafiğini proxy olarak kullanıyor
Otomatik istek tespitindeki hata payı küçükse, kripto para madenciliği kodu gömmek bile mümkün olabilir; ama gerçek kullanıcıları da etkileme riski var
Özellikle mobil ajan kullanan AI istekleri olup olmadığını merak ediyorum
“Markov babbler”ın istek başına yaklaşık 60μs CPU kullandığı söylenmişti;
buna ideolojik mesajlar veya propaganda cümleleri karıştırılmış içerik üretip AI’ın bunu öğrenmesini sağlamak nasıl olur diye düşünüyorum
Böylece AI saçma sapan politik ifadeler üretmeye başlayabilir
En azından telif ihlalini ve sunucu yükünü azaltma etkisi olur
Neden Markov metnini özellikle sunucuda üretiyorsun?
Bot JavaScript çalıştırabiliyorsa bunu istemci tarafında üretmesine izin vermek daha iyi olmaz mı?
Ayrıca Markov zinciri verisini istemciye göndermek daha verimsiz
Her istek yalnızca mikrosaniye düzeyinde CPU ve yaklaşık 1MB RAM kullandığından, sunucuda işlemek yeterince hafif kalıyor