Perplexity, Tarama Yasağı Yönergelerini Atlatmak İçin Gizli ve Bildirilmemiş Crawler Kullandı
(blog.cloudflare.com)- Perplexity, tarama yasağı yönergelerini atlatmak için kimliğini gizleyen bir web crawler kullandı
- robots.txt dosyasının göz ardı edilmesi ve IP, User Agent'ın sürekli değiştirilmesi gibi davranışlar tespit edildi
- Yeni bir etki alanında yapılan deneyde, yasaklama ayarlarına rağmen Perplexity'nin site içeriğine eriştiği doğrulandı
- Cloudflare, bu tür davranışları engellemek için Perplexity'yi resmi doğrulanmış bot listesinden çıkardı ve bot yönetimi kurallarını güncelledi
- OpenAI gibi iyi niyetli bot işletmecileriyle karşılaştırıldığında, Perplexity'nin gizleme odaklı davranışı sorun olarak ortaya çıktı
Perplexity'nin Gizli Crawler Kullanımı Genel Bakışı
- Perplexity, yapay zeka tabanlı bir yanıt motorudur ve önceki adımda web sitelerini resmi olarak bildirilen User Agent ile taradı
- Ancak ağ engeline maruz kaldığında kimliğini gizlemek için User Agent'ını değiştirdi ve çeşitli ASN (Otonom Sistem Numarası)'lar aracılığıyla erişmeye çalıştı
- Bu süreçte robots.txt dosyasının göz ardı edilmesi veya hiç istenmeden erişim girişimleri tespit edildi
Web Siteleri ve Crawler'lar Arasındaki Güven İlkeleri ve Sorunlu Davranışlar
- İnternet, onlarca yıldır güven temeli üzerinde gelişti ve crawler'ların da şeffaflığa, amaç açıklığına ve net davranış kurallarına sahip olması kuralını içerir
- Crawler'lar web sitesi sahiplerinin yönergelerini ve önceliklerini saygıyla karşılamalıdır; Perplexity'nin gözlemlenen davranışı bu ilkelerle çelişmektedir
- Bu nedenle Cloudflare, Perplexity'yi resmi doğrulanmış bot listesinden çıkararak, gizli crawler'ları tespit ve engellemek için ek bot yönetim kuralları uyguladı
Deney ve Tespit Örnekleri
- Cloudflare, Perplexity'nin tarama davranışını test etmek için bir yeni etki alanı oluşturdu
- robots.txt ile otomatik erişimin tamamının yasaklandığı ve WAF kurallarının ek olarak ayarlandığı bir ortam hazırlandı
- Perplexity'nin resmi User Agent'ı ve IP'si bloke edilmesine rağmen, yine de kimliğini gizleyerek site içeriği topladığı doğrulandı
- Perplexity, hem resmi hem de gizli User Agent'larda içerik erişimi denedi; gizli olanı gerçek bir tarayıcı (Chrome) gibi davranıyordu
| Tür | User Agent örneği | Günlük istek sayısı |
|---|---|---|
| Resmi | Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; Perplexity-User/1.0; +https://perplexity.ai/perplexity-user) | 20 milyon~25 milyon |
| Gizli | Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36 | 3 milyon~6 milyon |
- Resmi IP aralığına girmeyen birden fazla IP ve ASN kullanılarak IP'ler sürekli değiştirilmiş ve engelleme politikaları aşılmaya çalışılmıştır
- Bu nedenle on binlerce etki alanında ve milyonlarca istekte bu etkinlik tespit edilmiştir; Cloudflare, makine öğrenmesi ve ağ sinyallerini kullanarak ilgili crawler'ları etiketledi
Gizli Crawler'ların Atlatma Örnekleri ve Sınırları
- Gizli crawler engellendiğinde Perplexity, yanıt üretmek için diğer web siteleri gibi dış kaynakları kullanmaya çalıştı
- Ancak bu durumda içerik ayrıntısı kayda değer şekilde düştü
İyi Niyetli Bot Operatörleri Kriterleri ve OpenAI'nin En İyi Uygulamaları
- İyi çalıştırılan bir botun şeffaflık, kimliğini netleştirme, faaliyet amacını açıkça paylaşma, her bir faaliyet için ayrı bot kullanımı ve site yöneticisi kurallarını (robots.txt vb.) takip etme ilkelerine sahip olması gerekir
- OpenAI, resmi IP ve User Agent ile bot faaliyet amacını açıkça sağlar ve robots.txt'yi sıkı şekilde uygular
- Gerçek bir deneyde de ChatGPT crawler'ı, disallow ayarı veya ağ engeli gördüğünde ek tarama girişimlerini durdurur
- Web Bot Auth gibi standartlaşmış kimlik doğrulama yöntemlerini de aktif şekilde benimsiyor
Korunma Yöntemleri ve Müdahale
- Perplexity'nin bildirilmeyen User Agent'larından kaynaklanan tüm taramalar Cloudflare bot yönetim sistemi tarafından tespit edilip engellenmektedir
- Cloudflare'ın mevcut bot engelleme kuralları veya challenge kurallarını etkinleştiren müşteriler halihazırda korunuyor
- Gizli crawler engelleme için yönetici kuralları tüm müşterilere (ücretsiz müşteriler dahil) sunulmuştur
- Content Independence Day ilanından sonra 2,5 milyondan fazla web sitesi yapay zeka tarama yasağı politikasını uygulamaya koydu
- Bot operatörlerinin gelişen atlatma denemelerine karşı Cloudflare da savunma sistemlerini ve teknolojilerini sürekli geliştiriyor
Politik Çabalar ve Geleceğe Dair Öngörü
- Cloudflare, dünya genelindeki teknoloji ve politika uzmanlarıyla, IETF dâhil olmak üzere robots.txt genişletmelerinin standardizasyonu tartışmalarına aktif katılım göstermektedir
- Güvenilir crawler kurallarını oluşturup, hızla değişen yapay zeka ve crawler ortamında şeffaflık ile uyumluluğu öne çıkaran bir yöne gidilmektedir
2 yorum
Perplexity'yi destekliyorum
Hacker News Yorumu
Bu sorunu çözmenin gerçekten zor olduğuna inanıyorum
Bazı mağazalar Instacart veya Postmates gibi hizmetleri istiyor gibi görünmüyor. İster kendin alışveriş yap, ister fiyat karşılaştırması için tüm ürünleri telefonunla tara, fark etmez. Ama üçüncü taraf bir şirketin kendi çalışanını göndererek envanter kontrolü yapmasına veya çevrimiçi siparişten sonra ürünleri senin yerin yerine almasına izin verilmiyor. Bunun sebebi çeşitlidir: ürün kalite algısını kaybetmek istememek (içeceklerin ısınması, fiyatın artması veya yanlış ikame yapılması), kişiye doğrudan hizmet verip müşteri ilişkisi kurma isteği ya da yalnızca üçüncü taraf teslimatına karşı çıkma. İlişkili olmayan bir şirketin fiziksel mağazanda faaliyet göstermesine kapıyı kapatmak bence tamamen makul bir seçim. Aynı mantığın dijital hizmetlere de uygulanacağını düşünüyorum.
Bu bir ölçekte büyüme meselesi. Senin bir sonraki adımda dediğin şey muhtemelen, insanların kişisel araştırma botlarını çalıştırıp birçok siteyi bir insandan çok daha hızlı biçimde istekle arayıp cevap bulduğu bir gün olur. Hangi seviyeye kadarına kadar izin verilebilir bunu tartışmamız gerekiyor. Kişisel crawling uygun mu? Yoksa botlar artık kullanıcı ne soracaktır diye tahmin edip sürekli en güncel bilgiyi çekerek mi çalışmalı? Ya da ölçek büyüyüp çoklu kullanıcılar için toplu crawling başlaması problem teşkil eder mi?
Ben "crawler" ile "fetcher" terimlerini, büyük ölçekli scraping ile kullanıcı hedefli ajanları ayırmak için kullanmanın iyi olacağını düşünüyorum. Son dönemde AI ajan tespit aracı geliştirmesine katılıyor olmam nedeniyle (bkz. https://stytch.com/blog/introducing-is-agent/), web sitesi sahiplerinin AI ajanını tanımlayıp erişimi kısıtlı biçimde sunabilmesi gerçekten değerli olur diye düşünüyorum. Öte yandan crawler’lar, başkalarının adını taklit edip ünlü bir crawler gibi davranarak robots.txt’yi göz ardı edip kötü davranışlar yapabilir. Şu anki standart çözüm ters DNS sorgusudur, fakat bu site sahibi açısından zahmetlidir. Bence verimli olan, tüm sıra dışı erişimleri engellemektir.
Reklam modelinin başlı başına sorunlu olduğunu da kabul ediyorum. Ancak AI şirketlerinin içerik üreticisini kullanıcıdan ayırdığı bir web görmeyi istemiyorum. Örneğin birisi ücretli bir bülten işletip, bir kısmını ücretsiz açarak ilgilenen ziyaretçi toplar ve bunun bazılarını ödeme yapan kullanıcıya dönüştürür. Bu üreticinin içerik okunurken doğal bir şekilde upsell yapmasının gerçekleşmesi gerekir. Eğer AI crawler bu süreci atlayıp sadece önemli içeriği alıp götürüyorsa, bu içeriği internete sadece ücretsiz koyma gereği kalmaz. AI crawler kazanırsa sonuçta herkes kaybeder.
Reklamla kaplı olmayan sayfalar da dünyada gerçekten çoktur. Eski arama motorlarında “sayfaları taramaya izin verirsek trafik getir” şeklinde zımni bir anlaşma vardı. Gizli modele odaklı AI crawler’lar bu anlaşmayı bozuyor. Veriden model üreterek QA yeteneği kazanan ve LLM işletmecisinin web sitelerinden crawling yoluyla edindiği bilgiyle milyarlarca gelir elde ettiği durumda web sitesine geri dönen bir şey olmuyor. Sadece kullanıcı istekleri için alındığı iddia edilse bile, LLM sağlayıcısının gelirinin büyük kısmını aldığı, gerçek içerik üreticisinin ise ziyaret bile alamadığı bir durum var. Perplexity’nin robots.txt ve engellemeleri görmezden gelerek kullanıcı isteği için sayfaları almasının uygun olduğuna inanılırsa, bu verinin bir gün eğitimde kullanılmayacağını düşünmek nafile olur.
Hızlı değişimin ilginç olduğunu düşünüyorum. Web’in ‘dünyanın her yeri’ olmaktan ziyade daha küçük ve üyelik odaklı (coğrafi değil sosyal açıdan) topluluklara kapanması daha faydalı görünüyor. Kendi topluluğunu geliştirip daha mahrem bir alana davet etmek biçimi ileride daha da önem kazanacak. Eskiden açık webin makineler için ayrılmış bir yer olması bekleniyor. Eskiden kabarcığı (bubble) sevmezdim ama aslında kabarcık doğal bir şey ve yalnız değilsenin bir anlamı vardır. Web makineler ve makine içeriğiyle taşarsa insanlar sonunda tekrar birbirine bağlanmanın yollarını öğrenir.
Perplexity AI’da, engellenen bir etki alanının içeriğini bile detaylı verdiğini gördüğüm bir testten sonra, bu içeriğin belirli bir şirketi (Perplexity’yi) eleştiren bir pazarlama makalesi olarak net bir sonuca ulaşmadığını düşündüm. Perplexity’nin doğrudan tüm siteleri sistematik tarama yaparak mı bunu başardığı yoksa yalnızca kullanıcı talebine göre bir kez mi aldığı net değil. Çoğu insan bu ikisini farklı görür ve ikincisini birinciden çok daha makul bulur.
Bir şeyleri biraz da Perplexity tanıtımı gibi hissettim. Bu sefer de Cloudflare iyi, Perplexity kötü gibi gösteriliyor; ama Cloudflare da web’i kurtaracağız diyerek çok güçlü bir pazarlama yürütüyor. Dayanaklar yüzeysel ve her iki şirket de bir ‘devler savaşı’ gibi görünüyor; bu yüzden Perplexity için PR açısından daha avantajlı bir gelişme olabilir.
Kullanıcının yerine sayfa almak prensipte kabul edilebilir olabilir ama AI şirketlerinin telif hakkı gibi kuralları zaten ihlal ediyor olması sebebiyle, sayfaları depolayıp gelecekte eğitimde ya da ek crawling’de kullanılma olasılığını görmezden gelemeyiz.
HTTP spesifikasyonunda bile bu ayrım dolaylı olarak ortaya çıkıyor. “user agent” kavramının ve kullanımının kendisiyle ayrım netleşiyor.
AI sonuçlarını tamamen önbelleğe alıp arşivleyip birçok kişinin erişimine açarsa, sonunda scraper’dan farkı kalmaz. Sadece önbelleklenmiş veri ile öğrenmek yeterli olur. Aracı gibi davranarak önemli içeriği çekerken bir de veri değer sinyalleri elde edersiniz.
Perplexity’nin TechCrunch’a verdiği yanıta göre, Cloudflare’in blog yazısı sadece “satış pazarlaması” olarak nitelendirildi ve bunu tamamen reddetti. Ayrıca blog ekran görüntülerinin “hiçbir içeriğe erişim olmadığını gösterdiğini” iddia ediyor. Blogda işaret edilen botun da kendilerine ait olmadığını ekliyor.
Perplexity kendi crawl engelini uyguluyor.
Tarayıcı user agent taklidiyle de aynı şekilde engelleniyor. Oldukça sofistike bir crawler algılama yöntemi kullanıyor görünüyor.
Aynı soru zaten birinin CEO’ya daha önce sorduruldu: https://x.com/AravSrinivas/status/1819610286036488625
Komik olan, Perplexity’nin de Cloudflare kullanması.
Her zaman ‘stealth’ crawler’ın kazanacağını düşünüyorum. Tarayıcı otomasyon araçlarıyla (W3C WebDriver2, Chrome DevTools Protocol) scraper oluşturarak tespiti neredeyse imkânsız hale getirmek mümkün. Captcha uygulanabilir ama geliştirici insan-devredeki-iş akışını (human-in-the-loop) ekleyip çağrı merkezi çalışma saatlerinde doğrudan insan müdahalesi sağlanacak şekilde ayarlayabilir. 15 yıl önce oyun geliştirme testlerinde de raster (ekran resmi) tabanlı scraping kullanılırdı; bugün bu, internet güvenliğine ciddi bir bela olacak.
İnternette mikro-ödemeler sisteminin gerekli olduğuna inanıyorum. Crawler bir sayfa başına 1 sent de verse, 24 saatlik crawling’e mutlulukla izin veririm. Benim, kişisel olarak her sayfa için 1 sent ödeyip içerik izlemek zorunda kalmama, tıklatma tuzağına ya da tuhaf reklam kurallarına katlanmama gerek kalmazdı. Ücretsiz erişimin her zaman kapatılması gerekmez (pratikte kapatılacaktır ama o da bir anlam taşıyor). Mesela Reddit’in yüksek bir komisyon alıp kaliteli içeriğe geri ödeme yaparak kaliteyi artırma yöntemi mümkün olabilir. “Kefaletten para-yatır-geri-al-penaltı” gibi yeni bir sistem de olabilir: Kaydolurken güvence yatırılır, ban yersen haczedilir, normal şekilde çalışırsan geri verilir. Bu, operasyonel iş yükünü azaltıp içerik kalitesini artırmak için iyi bir fikirdir. Bu tür fikirler gereklidir, çünkü internet giderek daha çok çöp doluyor. Başka bir fikir: Google gibi bir platforma arama başına 1 sent ödenmesi ve sonuçtan memnun kalınmazsa paranın iade edilmesi. Google AI memnuniyet ölçümü yapar; eğer tatmin edici arama verilmezse sadece reklamla dolu popüler sonuçları gösterir. Böylece kullanıcılar arama motorlarına ücret karşılığı güvenebilir.
Birinin web sitesini ölçüsüzce crawl ederek açık ağın güvenilirliğini tehdit etmesi sorunsa da, Cloudflare gibi bir otoritenin ‘hileli scraping’ konusunda açıkça eleştiri getirmesi olumlu bir gelişme. Bu tartışmanın kendi içinde canlanması tek başına anlamlıdır. Sonuçta büyük oyuncuların en azından eskiden vardı denilebilecek ‘kurallar’ dönemine geri dönmesi gerekiyor.
Kendi kurduğum kişisel bir arama motoru bile Perplexity düzeyinde işlevler sunabiliyor. Arkadaşlarımla karşılaştırdığımda, Perplexity ile neredeyse yarı yarıya bir tercih alıyor. Motor, araştırma amaçlı web sayfalarını indirmeyi mümkün kılıyor. Ama captcha’ya takılınca veya bloklanınca hemen bırakır. Oysa büyük IT şirketleri devasa girişim sermayeleriyle ne isterse yapabileceklerini düşünüyor; bu tutumla sinirleniyorum.
“Cloudflare yönetimli robots.txt ya da AI crawler engelleme kurallarıyla, 2.5 milyondan fazla web sitesinin AI training’in tamamını engellemeyi seçtiği” iddiası ortaya atıldı. Oysa gerçek şu ki Cloudflare CEO’su bu özelliği tüm müşterilere varsayılan olarak uygulamıştı. AI tavsiye isteyen veya trafiği önemseyen şirketler bu seçeneği kapatarak ekonomik zararları önlemeli.
“Varsayılan ayar” iddiası yalandır. Kendi Cloudflare sitelerimi doğrudan denetledim, hiçbir ayar yapmadığımda bu özellik otomatik olarak açık gelmiyor. robots.txt yoksa sadece “Cloudflare yönetimli robots.txt’yi etkinleştirmeyi düşünün” uyarısı görünüyor. Var olan dosya varsa olduğu gibi kalır ve AI trafik uyarısı da manuel olarak kapalıdır.
“AI önerisi almak istiyorsan ayarı kapatmalısın” görüşüne göre: İçerik pazarlaması, oyunlaştırılmış SEO ve reklam bombardımanı Google’ın arama kalitesini ciddi biçimde bozdu. Buna karşılık LLM’lerde henüz bu tür bir “oyunlaştırma” o kadar görünür değil. Bir gün LLM’ler de bozuk bir arama gibi bozulabilir; OpenAI ve Anthropic’in de bu kalite düşüşünü Google trafiği azalmasının kaynağı olarak görmesini isterim.
“Varsayılan ayar” iddiası tamamen yanlıştır. Gerçekte herhangi bir ayar yapılmasa bile bu özelliğe otomatik olarak ‘abone olunmaz.’ Dahası, bu iddia doğru zamanlardan bile bugüne zaten böyle değildi; başlangıçtan beri gerçeğe uymuyordu.