اكتشف كاشطات الذكاء الاصطناعي باستخدام بصمات TLS، وليس وكلاء المستخدم
يقوم كل من GTTBot وClaudeBot وPerplexityBot الآن بمحاكاة وكلاء مستخدم Chrome في أكثر من 30% من الطلبات. تلتقط بصمات الأصابع JA4 TLS هذه العناصر عند المصافحة، قبل أن يقوم أصلك حتى بتحليل الرؤوس.
يقول ملف robots.txt الخاص بك User-agent: GPTBot Disallow: /. GTBot يكرم ذلك. تم بناء عشرات خطوط أنابيب RAG فوق requests, httpx، ومتصفح Chrome بدون رأس مع سلسلة Mozilla/5.0 في الرؤوس لا يفعل ذلك. تُظهر نماذج حركة المرور الحديثة من كبار الناشرين أن ما بين 30 إلى 60% من زيارات "Chrome" تنشأ من مجموعات TLS غير الموجودة في المتصفح. وكيل المستخدم هو المسرح. مرحباً بعميل TLS هي الحقيقة.
JA4، تنسيق بصمة TLS FoxIO الذي تم نشره في عام 2023، يقوم بتجزئة أجزاء Client Hello التي لا يمكن للعميل تغييرها بسهولة دون تفرع مكتبة TLS الخاصة به: ترتيب التشفير، والإضافات، وALPN، وخوارزميات التوقيع. كروم حقيقي وبيثون httpx يحتوي البرنامج النصي على بصمات أصابع لا تبدو متشابهة على الإطلاق، بغض النظر عما يكتبه أي منهما في رأس وكيل المستخدم. يوضح هذا المنشور كيفية قراءة JA4 عند الحافة وتصنيفه عبر /v1/tls/fingerprint، واتخاذ الإجراء قبل أن يصل الطلب إلى مصدرك.
كيف يبدو JA4
JA4 عبارة عن ثلاثة أقسام متصلة بشرطات سفلية. يقوم القسم الأول بتشفير إصدار TLS وALPN وعدد التشفير. أجنحة تشفير التجزئة الثانية. ملحقات التجزئة الثالثة وخوارزميات التوقيع. بصمة Chrome 124 النموذجية:
t13d1516h2_8daaf6152771_e5627efa2ab1
بايثون httpx 0.27 العميل:
t13d1517h2_8daaf6152771_b1ff8ab2d16f
نفس TLS 1.3، ونفس ALPN h2، وتجزئة تشفير مماثلة، لكن تجزئة الامتداد تختلف بسبب httpx يتفاوض على أمر تمديد مختلف من BoringSSL. هذا القسم الثالث هو أداة التمييز التي تلتقط الكاشطات التي تتظاهر بأنها Chrome.
تصنيف بصمة الإصبع
أرسل JA4 إلى /v1/tls/fingerprint واستعادة هوية العميل والحكم ودرجة الثقة. تحتفظ نقطة النهاية بمجموعة بصمات الأصابع المفهرسة بواسطة مكتبة العميل ونطاق الإصدار.
استجابة نموذجية لبيثون httpx JA4 أعلاه:
ال verdict الحقل هو القطعة الوحيدة التي تحتاج إلى التصرف عليها عند الحافة. browser_match هو الاختصار المنطقي لعبارة "هل هذا إصدار متصفح حقيقي معروف" وهو قاسم مفيد للمراقبة.
عامل Cloudflare، 30 سطرًا
يقوم Cloudflare بكشف JA4 request.cf.ja4 لأي منطقة تم تمكين بصمة TLS فيها (مجانًا في خطة Pro، ومتوفرة عبر رؤوس العمال في الطبقة المجانية مع tls_client_hello طلب). قم بتخزين الحكم لمدة ساعة لأن بصمات الأصابع تكون مستقرة حتى يتم تحديث مكتبة العميل.
تحافظ ذاكرة التخزين المؤقت على معدل استدعاء واجهة برمجة التطبيقات (API) المتناسب مع بصمات الأصابع الفريدة، وليس حجم الطلب. يرى الموقع النموذجي أقل من 5000 JA4s مميزة يوميًا، لذا فإن استدعاء المنبع نادر في الحالة المستقرة. يعزل العمال الخريطة عند البداية الباردة، لذلك يتم تقييد ذاكرة التخزين المؤقت عمليًا؛ بالنسبة للأصول ذات الأعداد الكبيرة، قم بالتبديل إلى caches.default مع TTL لمدة ساعة واحدة.
نفس الشيء في اكسبرس
إذا قام CDN الخاص بك بإعادة توجيه JA4 في رأس (Fastly's fastly-tls-ja4، كلاودفلير cf-ja4، أو الخاص بك من عامل المنبع)، المعالج الأصلي عبارة عن برنامج وسيط رفيع.
اتخاذ قرار بشأن الإجراءات في الحكم
ثلاثة مسارات استجابة تغطي معظم الحالات. لا تحجب الدلو المجهول؛ ستحرق مستخدمين حقيقيين في إصدارات المتصفح الجديدة.
رمز الحالة 402 مقصود. ويشير مشغلي مكشطة في /api للترخيص بدلاً من إخبارهم بأنه محظور، وهو ما يضعك في قائمة "الناشر المعادي للذكاء الاصطناعي". تمنحك النسخة الودية عميلاً عرضيًا لواجهة برمجة التطبيقات (API) بدلاً من كومة تويتر.
قياس التأثير
قبل قلب أي كتلة، قم بتسجيل JA4 بالإضافة إلى وكيل المستخدم لمدة أسبوع. المخطط المهم هو "حصة الطلبات التي يطالب فيها وكيل المستخدم بمتصفح Chrome ولكن JA4 يقول مكشطة". ترى معظم الفرق ما بين 15 إلى 40%. هذا الرقم هو نصف قطر الانفجار الخاص بك إذا قمت بشحن قائمة حظر وكيل المستخدم فقط. بعد تمكين البوابات المستندة إلى JA4، يجب أن يُظهر الرسم البياني نفسه أن المشاركة تنخفض إلى أرقام فردية في غضون ساعات.
تغطي الطبقة المجانية على botoi 1000 تصنيف لبصمات الأصابع يوميًا (5 طلبات/دقيقة). عند إقرانها بذاكرة التخزين المؤقت، تعد هذه المساحة كافية لأي موقع صغير إلى متوسط الحجم. الاستيلاء على مفتاح في botoi.com/api/signup.
مرجع نقطة النهاية: واجهة برمجة تطبيقات بصمة TLS. متعلق ب: إمكانية ملاحظة واجهة برمجة التطبيقات (API) عندما يكون وكلاء الذكاء الاصطناعي هم المتصلين الأكثر كثافة.
FAQ
- لماذا لم يعد وكلاء المستخدم يعملون بعد الآن؟
- تقوم برامج زحف تدريب الذكاء الاصطناعي والعديد من مقلديها (الروبوتات الحقيقية، وكاشطات السوق الرمادية، وخطوط أنابيب RAG التي أنشأها العملاء) بإرسال "Mozilla/5.0...Chrome/120" بشكل متزايد لأن الناشرين أضافوا كتل robots.txt وUser-Agent. يتم تعيين مصافحة TLS بواسطة مكتبة العميل (Go net/http، وPython httpx، وNode undici، وheadless Chrome) ويصعب تزييفها دون إعادة كتابة العميل.
- ما هو JA4؟
- JA4 هو تنسيق بصمة TLS Client Hello تم نشره بواسطة FoxIO في عام 2023. وهو يقوم بتجزئة إصدار TLS الذي تم التفاوض عليه ومجموعات التشفير والإضافات وALPN وخوارزميات التوقيع في سلسلة مثل t13d1516h2_8daaf6152771_e5627efa2ab1. يستخدم عميلان يتشاركان JA4 نفس مكدس TLS، بغض النظر عما يدعيه رأس وكيل المستخدم الخاص بهما.
- هل سيؤدي هذا إلى حظر المستخدمين الحقيقيين؟
- لا. لدى Real Chrome وSafari وFirefox إصدارات JA4 معروفة والتي تتغير فقط عند حدوث تغييرات في إصدار المتصفح. تشير نقطة نهاية botoi إلى بصمات الأصابع المرتبطة بمكتبات الاستخلاص (curl، وwget، وrequests، وhttpx، وGo default، وNode undici، وChrome مقطوعة الرأس مع تصحيحات مضادة للاكتشاف). يمكنك السماح ببصمات المتصفح وتحدي الباقي أو تحديد معدله.
- هل يمكن للكاشطات محاكاة ساخرة لـ JA4؟
- نعم بجهد. يمكن لأدوات مثل curl-impersonate ومكتبة Python tls_client تقليد Chrome JA4. لا تزال المخادعون يشكلون أقلية صغيرة من حركة البيانات الكاشطة في عام 2026، وبمجرد أن يصبح معرف المخادع عامًا، يمكنك تصنيفه مثل أي بصمة أخرى. يرفع JA4 التكلفة من رأس HTTP واحد إلى مكتبة TLS متشعبة؛ هذه التكلفة كافية لردع الذيل الطويل.
- كيف يمكنني الحصول على بصمة الإصبع على الحافة؟
- يعرض Cloudflare ja4 على كائن الطلب عبر cf.botManagement وعلى العمال عبر request.cf.tlsClientHelloLength بالإضافة إلى ja4. يعرضه بسرعة عبر fastly.tls. لم تكشف AWS CloudFront عنها بشكل مباشر حتى الآن؛ قم بالتوجيه عبر عامل CF أو استخدم نقطة نهاية botoi /v1/tls/fingerprint مع Client Hello الأولي.
ابدأ البناء مع botoi
أكثر من 150 نقطة نهاية API للبحث ومعالجة النصوص وتوليد الصور وأدوات المطورين. باقة مجانية، بدون بطاقة ائتمان.