
نظام مكافحة الأتمتة
Predator هو تطبيق ويب نموذجي مصمم لعرض تقنيات مكافحة الزحف ومكافحة الأتمتة واكتشاف البوتات. يمكن استخدامه كخادم فخ (honeypot) أو نظام مكافحة زحف أو بيئة اختبار للنتائج الإيجابية الخاطئة لماسحات الثغرات الأمنية.
تحذير: أحذر بشدة من استخدام الطرق الموضحة في خادم إنتاج دون معرفة ما تفعله بالضبط. تذكر، يجب تنفيذ التقنيات التي تبدو قابلة للاستخدام وفقًا لتطبيق الويب فقط. Predator هو مجموعة من التقنيات، ولا ينبغي استخدام كوده كما هو.
خريطة المفاهيم أدناه هي تصور تقريبي لكيفية تنفيذ التقنيات الموضحة هنا في بيئة إنتاج.

ملاحظة: يمكن استخدام الأرقام والعوامل في "مرحلة المراقبة" لتعيين سمعة (reputation) للعميل، والتي يمكن استخدامها كمؤشر قوي على النشاط الضار بمجرد الوصول إلى حد معين.
غالبًا ما تكون ترويسات HTTP التي ترسلها البوتات بترتيب مختلف مقارنة بالمتصفح الحقيقي أو قد تكون مفقودة تمامًا. العديد من البوتات تكشف عن نفسها في ترويسة User-Agent من منطلق الأخلاقيات بينما لا يرسل البعض الآخر أي ترويسة على الإطلاق.
يمكن تجاوز معظم تقنيات تحوير HTML الموصوفة هنا باستخدام أطر عمل تعتمد على المتصفح مثل selenium وpuppeteer، ولكن يمكن اكتشافها عبر اختبارات مختلفة كما هو مطبق في isBot.js.
معظم البوتات ترسل طلبات إلى صفحات الويب والصور فقط، بينما يتم تجاهل ملفات الموارد مثل .css غالبًا لأنها لا تُنزَّل بواسطة تطبيق HTTP المستخدم. يمكن اكتشاف البوتات عندما تصبح نسبة صفحات الويب/الصور إلى ملفات الموارد تلك أعلى من حد محدد مسبقًا.
العديد من محللات HTML المستخدمة في برامج الزحف لا يمكنها التعامل مع HTML المكسور كما تفعل المتصفحات. على سبيل المثال، النقر على الرابط التالي في المتصفح يؤدي إلى page_1، لكن المحللات المتأثرة تحلل القيمة الأخيرة أي page_2
<a/href="page_1"/href="page_2">Click</a>
يمكن استخدامه لإبعاد برامج الزحف وحظرها دون التأثير على تجربة المستخدم.
بعض الروابط مخفية عن المستخدمين باستخدام CSS، لكن البرامج الآلية لا تزال تستطيع رؤيتها. يمكن استخدام هذه الروابط لكشف البوتات واتخاذ الإجراء المطلوب مثل حظر عنوان IP.
عندما يشتبه Predator في أن الزائر بوت، فإنه يولّد عددًا عشوائيًا من الروابط العشوائية التي توجه إلى صفحة (limbo.php) تحتوي على المزيد من الروابط العشوائية، وتستمر هذه العملية في التكرار.
عادةً ما تُدخل ماسحات الثغرات حمولة (payload) وترى ما إذا كان تطبيق الويب يستجيب بطريقة معينة. يمكن لـ Predator التظاهر بوجود ثغرة من خلال تضمين الاستجابة المتوقعة أي التوقيع داخل HTML. يحاكي Predator حاليًا الثغرات التالية:
تجعل هذه الطريقة من الممكن إعداد خادم فخ (honeypot) دون استضافة أي كود ضعيف فعليًا، وتعمل كبيئة اختبار لفحص النتائج الإيجابية الخاطئة.
قام PatheticGeek بكل السحر في الواجهة الأمامية ليجعل Predator يبدو جيدًا.