AI captcha çözücü nasıl çalışır: modeller, tokenlar ve sınırlar
Bir AI captcha çözücü, captcha'yı sizin adınıza yanıtlamak için makine öğrenmesi modelleri kullanan bir yazılımdır. Yanıtın içeriğin kendisinden okunabildiği challenge'larda en iyi çalışır; örneğin bozuk harfler ya da bir resim ızgarası. Token tabanlı widget'larda modelin işi, sitenin sunucusunun kabul edeceği bir yanıt üretmektir ve bu farklı bir problemdir. Bu rehber her iki durumu, sınırları ve bir çözücü servisinden gerçekte ne aldığınızı anlatır.
Bu rehber genel teknikleri anlatır. Herhangi bir servisin iç yapısını anlatmaz. Bir geliştirici olarak sizi ilgilendiren sözleşmedir: captcha'nın bilgilerini gönderirsiniz, bir token geri alırsınız.
Üç captcha ailesi
Çoğu captcha üç aileden birine girer ve AI her birine farklı davranır.
İçerik challenge'ları. Ziyaretçi bir şeyi okur ya da tanımlar: bozulmuş karakterler, bir dizi sokak numarası, bir ızgaradaki trafik ışıkları, döndürülmüş bir nesne. Doğru yanıt resmin ya da sesin kendisindedir. Makine öğrenmesinin en güçlü olduğu alan burasıdır.
Davranışsal skorlama. Görünür bir challenge hiç olmayabilir. Site tarayıcının davranışını izler, istek geçmişine bakar ve ziyaretçiye puan verir. reCAPTCHA v3 bu şekilde çalışır ve bir bulmaca yerine bir sayı döndürür. Bir model burada yanıtı basitçe "okuyamaz", çünkü okunacak bir yanıt yoktur. Soru, sinyallerin yeterince insan gibi görünüp görünmediğidir.
Token tabanlı widget'lar. Widget sayfada çalışır, kontrollerini yapar ve gizli bir form alanına bir token yazar. Sitenin arka ucu daha sonra token'ı sağlayıcıyla doğrular. PopularCaptcha bu şekilde çalışır; reCAPTCHA v2 ve Cloudflare Turnstile da öyle.
Modeller içerik challenge'larını nasıl ele alır?
Bozulmuş metin için standart yaklaşım bir optik karakter tanıma modelidir. Bir konvolüsyonel ağ ya da transformer tabanlı bir görme modeli resmi okur ve bir karakter dizisi çıkarır. Eğitim, bilinen cevaplara sahip büyük, üretilmiş captcha kümeleriyle yapılır; böylece model yaygın bozulmaları öğrenir: eğrilme, gürültü çizgileri, üst üste binen harfler ve arka plan dokusu.
Resim ızgaraları için görev sınıflandırmadır. Model her kareye bakar ve challenge'ın istediği nesneyi içerip içermediğine karar verir. Zor vakalar, kısmen gizli, karenin kenarında ya da belirsiz nesnelerdir; örneğin çerçevenin dışında kalmış çoğunlukla bir otobüs gibi. Bu durumlarda doğruluk daha düşüktür ve iyi bir çözücünün ne zaman tahmin edeceğine, ne zaman yeni bir tur isteyeceğine karar vermesi gerekir.
Ses challenge'ları konuşma tanıma kullanır. Model klibi yazıya döker ve yanıt bu yazıdır. Arka plan gürültüsü ve kasıtlı bozulmalar başlıca zorluklardır.
Bir resmi döndürmek ya da bir parçayı yerine kaydırmak gibi bulmaca challenge'ları farklı bir model türü gerektirir. Model resimden bir açı ya da konum tahmin eder, ardından buna uyan sürükleme ya da tıklamayı üretir.
Modeller skorlama ve token'ları nasıl ele alır?
Davranışsal skorlama ve token widget'ları, sayfayı okuyarak çözülmesi daha zor olan durumlardır. Sağlayıcının kendi kontrolleri ziyaretçinin tarayıcısında çalışır ve çıktıları tarayıcı ortamına, girdi olaylarının zamanlamasına ve oturumun geçmişine bağlıdır. Çözücü dışarıdan skoru ya da sinyalleri anlamlı bir ayrıntıyla göremez.
Bu durumlar için çalışan yaklaşım, sağlayıcının beklediği yanıtı döndüren bir çözücüdür; geçerli token üretmek için kurulmuş bir hatlar dizisi kullanır. Sizin tarafınızdan önemli olan özellik basittir: bir token ya da bir hata alırsınız ve token sitede kontrol edilir.
Scarnox API'sinin bu şekilde tasarlanmasının nedeni de budur. Görev tipini, sitekey'i ve sayfa URL'sini gönderirsiniz, solution alanında bir token alırsınız:
{"errorId": 0, "solution": {"token": "..."}, "cost": ...}
Token, sitenin beklediği form alanına konur ve yaklaşık iki dakika sonra sona erer. Tam isteği captcha çözücü API rehberi anlatır.
AI nerede yardımcı olur, nerede durur?
AI çözücüler şunlarda iyidir:
- Bozulmuş metni, captcha ailesi için ayarlandıktan sonra tutarlı biçimde okumak;
- Net örneklerde yüksek doğrulukla resim ızgaralarını sınıflandırmak;
- Senkron bir istek için yeterince hızlı yanıt vermek;
- Çözücü başarısız çözümleri ücretsiz tutan bir yapıyla kurulmuşsa, başarısızlığın size maliyeti olmadan hata vermek.
Şu konularda daha zayıftırlar:
- Tasarımı sık değişen bulmacalar, çünkü geçen ayın sürümü üzerinde eğitilmiş bir model yeni sürüme aktarılmayabilir;
- Sonucun yanıttan çok çalıştığınız ortama bağlı olduğu davranışsal kontroller;
- İçerik hakkında bir insanın anlam ya da bağlam yargısını gerektiren her challenge.
Hiçbir modelin ortadan kaldıramadığı pratik bir sınır da vardır. Captcha bilerek konmuş bir engeldir ve sağlayıcılar challenge'larını günceller. Bugün çalışan bir çözücü gelecek ay başarısız olabilir; bu yüzden çözücü çıktısını kendiliğinden çalışacağı varsayılan bir şey değil, izlenmesi gereken bir şey olarak ele alın.
Bir çözücü seçmek
Herhangi bir çözücü servisini değerlendirmek için dört soru yardımcı olur:
- Hangi captcha tiplerini bugün destekliyor, yol haritasındakileri değil?
- Başarısız bir çözümün size maliyeti ne? Başarısızlıklar için ücret alan bir çözücü, yeniden denemeleri pahalı hale getirir.
- Zaman aşımı ya da yavaş bir yanıt altında nasıl davranıyor? Kodunuzun üzerinde işlem yapabileceği net bir hataya ihtiyacı var.
- Captcha değiştiğinde kodunuzda neyi değiştirmeniz gerekiyor? Ne kadar az ise o kadar iyi.
Scarnox bugün PopularCaptcha'yı destekliyor, proxysiz ve canlı. Diğer tipler yakında geliyor; her birinin durumunu captcha tipleri rehberi açıklar.