Tüm otomatik trafik aynı değildir
Otomatik istemciler her dakika uygulamanıza ulaşır: arama tarayıcıları, izleme araçları, kullanıcı adına sayfa çeken ortak entegrasyonlar, yapay zekâ yardımcıları ve görevleri tamamlayan otonom aracılar. Yıllarca çoğu uygulamanın onları ayırt etmek için kullanabildiği tek yol, herhangi bir istemcinin istediği değeri verebildiği user-agent header'ı oldu.
Bu, uygulama ekiplerini zor bir durumda bırakır. Tüm otomasyona şüpheyle yaklaşırsanız, müşterilerinizin dayandığı meşru aracılar için deneyimi bozarsınız. Header'a güvenirseniz, herkesin tanınmış bir tarayıcı olduğunu iddia etmesine kapı açarsınız.
Doğrulanmış otomatik istekler bu dengeyi değiştirir. Bir otomatik istemci isteklerini yayınladığı bir anahtarla imzaladığında, uygulamanız imzayı denetleyebilir ve isteği kriptografik olarak hangi istemcinin imzaladığını bilebilir. Proof of Actor bu denetimi, kodunuzun yönlendirme yapabileceği tek ve tutarlı bir aracı sonucunun parçası haline getirir. Bu denetimin neyi kurduğu ve neyi kurmadığına daha yakından bakmak için imzalı yapay zekâ aracı isteklerinin neyi kanıtladığını okuyun.
İstek imzalama nasıl çalışır
Otomatik trafik için gelişen yaklaşım, HTTP message signatures kullanır. Bu standart, bir HTTP mesajının bileşenleri üzerinde imza oluşturma, kodlama ve doğrulama yöntemini RFC 9421 içinde tanımlar. İstemci, her isteğin seçilmiş bölümlerini bir özel anahtarla imzalar ve imzayı ile parametrelerini başlıklara ekler. Karşılık gelen açık anahtarı, kontrol ettiği bir tanımlayıcıya bağlı bir konumda, genellikle kendi alan adında yayınlar.
İstek geldiğinde, alıcı yayınlanmış anahtarı çeker veya arar, imzalanmış içeriği yeniden oluşturur ve imzayı denetler. Geçerliysa, istek o anahtarın sahibi tarafından imzalanmıştır. Otomatik trafiği imzalama çalışmaları IETF içindeki Web Bot Auth çalışma grubunda devam ediyor; grubun yetki alanı, tarayıcılar ve son kullanıcılar adına hareket eden yapay zekâ aracıları gibi otomatik istemcileri kriptografik olarak kimliklendirmeyi kapsar. Web Bot Auth sözlük girdisi bunu özetler. İmzalı yapay zekâ aracı isteklerinin neyi kanıtladığını anlatan blog yazısı doğrulanmış bir isteği baştan sona gösterir ve APIs kullanım senaryosu doğrulamanın ilk olarak nerede değer sağladığını anlatır.
İmzalı aracı isteklerini doğrulama kılavuzu, zaman damgaları, yeniden oynatma pencereleri ve anahtar önbellekleme dahil olmak üzere mekanikleri ayrıntılı biçimde ele alır.
Doğrulanmış bir imza neyi kanıtlar, neyi kanıtlamaz
Bu ayrım, doğrulanmış otomatik istekleri iyi yönetmenin en önemli parçasıdır.
Geçerli bir imza kanıtlar ki istek, yayınlanmış tanımlayıcıyla ilişkili bir anahtarla imzalanmıştır. Anahtar bir operatörün alan adına aitse, istek o operatörün anahtarını elinde tutan bir istemciden gelmiştir.
Geçerli bir imza şunları kanıtlamaz:
- aracıya kimin talimat verdiğini veya herhangi bir kişinin bu eylemi isteyip istemediğini;
- bir kişinin aracıya yetki devrettiğini;
- operatörün arkasındaki gerçek dünyadaki yasal kimliği;
- istenen eylemin uygulamanızda güvenli ya da izinli olduğunu.
Bunlar ayrı sorulardır. Uygulamanız bunları kendi kimlik bilgileri, yetkilendirme modeli ve politikasıyla yanıtlar. Proof of Actor bunları bilinçli olarak ayrı tutar ve Detection & Limitations sayfası, her kanıt türünün tam olarak neyi ortaya koyabileceğini açıklar.
Proof of Actor doğrulanmış otomatik istekleri nasıl ele alır
Detect
Entegrasyonunuz, imza başlıkları dahil olmak üzere istek bağlamını Proof of Actor'a iletir. İmzalar yayınlanmış anahtarlara karşı denetlenir. Doğrulanan istekler Verified temeliyle kaydedilir. Yalnızca kendini adlandıran istemciler Declared olarak kaydedilir. Davranışsal kalıplar Inferred olarak kaydedilir. Yeterli veri yoksa sonuç Unknown olur. Kriptografik denetim geçmedikçe hiçbir şey Verified olarak yükseltilmez.
Understand
Uygulamanızı hangi doğrulanmış operatörlerin çağırdığını, hangi route'ları kullandıklarını, ne sıklıkta çağırdıklarını ve bunun declared ile unknown otomasyonla nasıl karşılaştırıldığını görün. Her sonuca ait kanıt özeti, hangi anahtarın ve tanımlayıcının dahil olduğunu size söyler, böylece ekibiniz herhangi bir isteği hızla inceleyebilir.
Route
Politikalarınızda temeli kullanın. Yaygın örnekler şunlardır:
- Doğrulanmış aracılara, bir API ya da bir sayfanın Markdown sürümü gibi salt okunur route'larda yapılandırılmış bir yanıt verin.
- Tanıdığınız doğrulanmış operatörler için rate limit'i yükseltin, declared istemciler için standart sınırları koruyun.
- İmza ne söylerse söylesin, her yazma route'unda mevcut yetkilendirmenizi koruyun.
- Her route için imzasız ve Unknown çağıranlar için açık bir fallback tanımlayın.
Kararı politikalarınız verir; kanıtı Proof of Actor sağlar.
User-agent header neden yeterli değildir
User-agent string'leri birer beyandır. Her istemci herhangi bir değer gönderebilir ve user-agent spoofing için özel bir beceri gerekmez. Bu yüzden tarayıcı operatörleri kendi kontrollerini yayımlar: Google, Googlebot doğrulaması için ters ve ileri DNS kontrollerini ve yayınlanmış IP aralıklarını belgeler, Bing, Bingbot doğrulaması için bir DNS kontrolünü belgeler ve OpenAI, kendi tarayıcıları ve user agent'ları için IP aralığı dosyaları yayımlar. Proof of Actor, bir user-agent iddiasını doğrulama değil, declared kanıt olarak ele alır. Bu da, geçerli bir imza olmadan tanınmış bir tarayıcı olduğunu iddia eden bir istemcinin declared veya inferred temeliyle raporlanacağı ve politikanızın onu kimliğini kanıtlamış bir istemciden farklı ele alabileceği anlamına gelir.
Doğrulanmış otomatik istekleri değerli kılan şey budur: Header'ını kopyalayan herkes için değil, bunu hak eden istemciler için güveni genişletmenin güvenilir bir yolunu size verirler.
Kimlik kanıtı, kimlik bilgileri ve yetkilendirme
Otomatik istemcilere hizmet veren herhangi bir uygulamada üç katman birlikte çalışır:
- Kimlik kanıtı: Bu isteği hangi istemci imzaladı? Doğrulanmış bir imza bunu yanıtlar.
- Kimlik bilgileri: Hangi hesap sorumlu? API anahtarınız, token'ınız veya oturumunuz bunu yanıtlar.
- Yetkilendirme: Bu çağıran bunu yapabilir mi? İzin modeliniz bunu yanıtlar.
Proof of Actor ilk katmanı güçlendirir ve görünür hale getirir. Kimlik veya devir bilgisi vermez ve yetkilendirmenizin yerini almaz. Katmanları ayrı tutmak, düşük riskli route'larda doğrulanmış aracılara cömert, yüksek etkili olanlarda ise dikkatli olmanızı sağlar.
Nerede konumlanır
Proof of Actor, gateway'inizin, authentication katmanınızın ve rate limiting mekanizmanızın yanında yer alır. Entegrasyonlar sunucu taraflı middleware olarak, edge'de, MCP server'ınızda veya genel bir HTTP entegrasyonu üzerinden çalışır; her kurucu ekiple uygulamalı olarak teslim edilir. Trafiğinizin çoğu APIs ve araçlardan oluşuyorsa, APIs ve MCP Servers kullanım senaryoları en önemli kalıpları gösterir.
Gözlem modunda başlayın
Her entegrasyon gözlem modunda başlar. Sonuçlar, uygulamanızın yanıt verme biçimini değiştirmeden kaydedilir, böylece otomatik trafiğinizin ne kadarının doğrulanmış olduğunu, hangi operatörlerin imza attığını ve Unknown oranının nerede en yüksek olduğunu görebilirsiniz. Kanıt bunları desteklediğinde politikalar daha sonra, route bazında gelir. Nasıl Çalışır tüm akışı anlatır.
Doğrulamayı güvenilir kılan pratik ayrıntılar
İmza denetimi, çevresindeki ayrıntılar kadar iyidir. Birkaç uygulama, doğrulanmış otomatik istekleri üretimde güvenilir hale getirir.
Tazeliği denetleyin
RFC 9421, created ve expires imza parametrelerini tanımlar ve imzalı istekler genellikle bunları taşır. Yakalanan bir isteğin daha sonra yeniden oynatılamaması için imzaları kısa bir pencerenin dışında reddedin.
Anahtarları akıllıca önbelleğe alın
Bir operatörün yayınlanmış anahtarlarını her istekte çekmek gecikme ekler. Bunları makul bir süre için önbelleğe alın ve imza bilinmeyen bir anahtar tanımlayıcısıyla başarısız olduğunda yenileyin, böylece anahtar rotasyonu yanlış başarısızlıklara yol açmaz.
İsteğin doğru bölümlerini imzalayın
Yalnızca bir zaman damgasını kapsayan bir imza çok az şey kanıtlar. İmzalanan bileşenlerin method, path ve host'u içerdiğini denetleyin, böylece imza uygulamanızın gerçekten aldığı isteğe bağlanır.
Kanıtı kaydedin
Her doğrulanmış istekle birlikte anahtar tanımlayıcısını, yayınlanmış tanımlayıcıyı ve sonucu saklayın. Olağandışı bir şey olduğunda, ekibiniz tam olarak hangi istemcinin neyi, ne zaman imzaladığını görebilir.
Proof of Actor bu denetimleri Detect adımının bir parçası olarak ele alır ve sonucu politikalarınızın okuyabileceği bir temel olarak raporlar, böylece uygulama kodunuz basit kalır.
Kurucu geliştirici programına katılın
Proof of Actor özel betada. Seçilen kurucu geliştirme ekipleri, üzerinde anlaşılan kullanım sınırları içinde, mühendislerimizden doğrudan entegrasyon desteğiyle birlikte 12 aya kadar ücretsiz erişim alabilir.
Otomatik istemciler uygulamanıza ulaşıyor ve doğrulanmış olanları farklı ele almak istiyorsanız, erken erişim için başvurun. Uygulamanız ve gördüğünüz otomatik çağıranlar hakkında bize bilgi verin, Proof of Actor'ın nasıl uyduğunu gösterelim.
Kaynaklar
- RFC 9421: HTTP Message Signatures, IETF, Şubat 2024.
- Web Bot Auth (webbotauth) working group charter, IETF.
- Verifying Googlebot and other Google crawlers, Google Search Central.
- How to verify that Bingbot is Bingbot, Bing Webmaster Blog.
- Overview of OpenAI crawlers, OpenAI.