9 puan yazan GN⁺ 2025-10-28 | 2 yorum | WhatsApp'ta paylaş
  • 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

 
kimjoin2 2025-10-28

Oo... gerçekten özgün ve güzelmiş.

 
GN⁺ 2025-10-28
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

    • The Cost of Trash yazısının özeti şu: yazar, agresif web scraper’ları (muhtemelen LLM eğitimi için) engellemek için çeşitli yöntemler denemiş ama başarısız olmuş; sonunda işe yaramaz veriyi dinamik olarak üretip onların kaynaklarını boşa harcama stratejisini seçmiş
      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

    • Daha pahalı ama daha iyi bir yöntem, LLM’lere büyük miktarda olumlu tanıtım içeriği yedirmek
      SEO yemi gibi, haber alanı görünümünde siteler kurup ürün tanıtım yazıları yaymak
    • Ama LLM’ler zaten büyük ölçüde çöp verilerle eğitiliyor
      Böyle girişimler, spam aramalara karşılık vermek gibi zaman kaybı sadece
    • Üstelik LLM’ler, insanlardan çok daha ucuza çöp tespiti yapabiliyor
      Sonunda insan işe almaya neredeyse gerek kalmayacak
    • İnsanların çöpleri filtrelemede AI’dan daha iyi olduğunu neden düşündüğünüzü merak ediyorum
  • “Markov babbler”ın ayrıntıları bu gönderide var

    • gcc 14 ile derlerken pthread_detach parametre hatası oluşuyor
      Yazarı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ım
    • Bunu “toptext”e de ekleyeceğini söylüyor
    • Kodun zarif ve hızlı olduğu söylenmiş; LLM scraper’larının bu veriyi temizlemekle uğraşmasını umuyor
  • Benim 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?

    • Elbette aşabilir. Sadece HTTP isteğine kimlik doğrulama başlığı eklemek yeterli
      Çoğu bot henüz bu durumu hesaba katmıyor sadece
      http://username:password@example.com biçiminde istek göndererek kolayca çözülür
    • Herkesin bildiği kimlik bilgileri olursa bot engelleme etkisi kalmaz gibi görünüyor
    • Bu yaklaşım yalnızca az kişi kullanırken etkili. Biraz yayılır yayılmaz etkisizleşir
  • Ben 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) ifadesini pthread_detach(thread) olarak değiştirdim

    • Düzeltme tamamlanmış; gcc’nin önerisinin doğru olduğu söyleniyor
  • Ben 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.txt içinde feedparser var ama gerçekten kullanıldığına dair iz yok
      Bu, 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

    • zip olabilir ama gzip olmaz
      Ç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
    • Bunun yerine binlerce küçük gzip dosyası üretip CPU ve zamanı boşa harcatma stratejisi daha iyi
      İç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ı?

    • Botların CPU ve belleği pratikte sınırsız olduğu için sunucu yükü büyük sayılmaz
      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