Skip to content
KitploitKITPLOIT
أدواتعمليات الاستغلالالمدونة
Log in
إرسال
أدواتعمليات الاستغلالالمدونة
إرسال

أدوات الاختراق واختبار الاختراق والأمن السيبراني لترسانتك الأمنية!

Kitploit هو دليل لأدوات الاختراق والأمن السيبراني واختبار الاختراق. اكتشف آخر تحديثات المشاريع للعثور على الثغرات وتحليل الأنظمة وأتمتة الاختبارات وتعزيز أمنك.

الخلاصاتاتصالالخصوصية© 2026 Kitploit

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
Pyison — مصيدة زواحف الذكاء الاصطناعي بأسلوب بايثوني | Kitploit
أدوات/GitHubGitHub/jonaslong/pyison
أدوات دفاعيةالبرمجة النصية والأتمتةأمن الويبالتعلم والتعليمزاحف الويبمكافحة الروبوتات
GitHubjonaslong/pyison

Pyison

مصيدة زواحف الذكاء الاصطناعي بأسلوب بايثوني

عرض المستودع
122224منذ سنة واحدةتمت المراجعة من قبل Kitploit

الأكثر شعبية

عرض الكل →

اكتشف الأدوات الأكثر استخدامًا من قبل مجتمعنا.

استكشف جميع الأدوات

تصفح مجموعتنا من الأدوات

عرض جميع الأدوات →
مشاركة

Pyison

Pyison هي مصيدة (tarpit) لزواحف الويب الخاصة بالذكاء الاصطناعي

مقدمة

  • مثل جميع زواحف الويب، تطلب روبوتات الذكاء الاصطناعي صفحات من خوادم الويب، ثم تتبع الروابط الموجودة في الصفحة إلى صفحات أخرى. وبهذه الطريقة، يمكنها بناء فهرس لموقع ويب بأكمله.
    • ولكن على عكس زواحف الويب الأخرى، تطرح روبوتات الذكاء الاصطناعي بعض المشكلات الفريدة
      • يمكن لمسؤولي الخوادم تكوين ملف robots.txt، الذي يخبر زواحف الويب بالصفحات التي يجب أن تزحف إليها والتي لا يجب أن تزحف إليها.
        • تم اكتشاف أن بعض زواحف الذكاء الاصطناعي تتجاهل هذا الملف. هناك مخاوف تتعلق بالخصوصية وحقوق النشر بشأن السماح لهذه الروبوتات باستخدام بيانات موقع ويب لتدريب نماذج LLM، خاصة عندما يكون المستخدم قد اختار صراحةً عدم السماح بالزحف.
        • تتجاهل بعض الزواحف أيضًا تحديد المعدل (ratelimiting). فعندما تطلب الصفحات بأسرع ما يمكن، يمكنها أن تضع حملاً كبيرًا على خادم الويب.
    • وهنا يأتي دور Pyison. مثل مصائد زواحف الذكاء الاصطناعي الأخرى (Nepenthes، Iocane)، تقدم Pyison لزواحف الويب قائمة لا نهائية من الروابط لصفحات أخرى على موقعها. وهذا يحبس الزواحف في موقع واحد، حيث ستتنقل بلا نهاية في بحر متزايد من الروابط.
      • إن إبقاء زواحف الذكاء الاصطناعي عالقة في مكان واحد يمنعها من فهرسة أجزاء أخرى من الموقع قد لا يرغب المالك في تغذيتها لنماذج LLM.
      • في الوقت نفسه، يمكن أن تحتوي هذه الصفحات على الكثير من النصوص عديمة الفائدة. عندما تدمج نماذج LLM هذا النص في نماذجها، يمكن أن يتم "تسميمها" تدريجيًا حيث أن المدخلات العشوائية ستجعل استجاباتها أقل ترابطًا.

الدوافع

  • إنشاء برمجيات مفيدة لمواجهة تزايد سرقة المحتوى بواسطة نماذج LLM
  • حل المشكلات في مصائد الذكاء الاصطناعي الموجودة:
    • توليد نص عشوائي دون استخدام سلسلة ماركوف أو نماذج LLM أو أي عينات كتابة موجودة
    • عدم التمييز بين روبوتات الذكاء الاصطناعي بناءً على ترويسة User-Agent، نظرًا لأن الزواحف غالبًا ما تتنكر في هيئة مستخدمين عاديين
    • تصميم موقع واقعي يشبه المدونات لمنع اكتشافه
      • إنشاء إطار عمل قابل للتخصيص بدرجة كبيرة للسماح بمزيد من الإعدادات
    • تقديم حل يمكن دمجه بسهولة في موقع ويب موجود
      • يدعم الوكلاء العكسيين/خوادم الويب المحددة دون أن يتطلبها، ويوفر إعداد مسار فرعي مع إعداد جذر المستندات
    • العمل ببصمة صغيرة بدلاً من نظام CMS كامل أو خادم ويب غني بالميزات

المواصفات التقنية

  • يشغل هذا المشروع خادم ويب ديناميكيًا باستخدام مكتبة HTTPServer الخاصة ببايثون
  • يتم إنتاج الجمل من مزيج 50/50 بين كلمات إنجليزية عشوائية و"كلمات التوقف"
  • تستخدم Pyison ملحًا عامًا بالإضافة إلى عنوان URL للصفحة لتهيئة مولّد الأرقام العشوائي (RNG) الخاص بها. وهذا يضمن أنه إذا قامت الزواحف بإجراء "فحص سلامة" عن طريق إعادة تحميل صفحة، فستكون مماثلة لآخر مرة فحصتها فيها. وفي الوقت نفسه، يجب أن تستخدم الخوادم المختلفة بذورًا عامة مختلفة بحيث لا تبدو جميع المواقع التي تستخدم Pyison متشابهة.
  • من الممكن توليد عدد غير محدود من الصفحات، لأن Pyison لا تنشئ في الواقع أي ملفات دائمة. إنه خادم ويب ديناميكي، لذا فهو يولد html فقط ويرسله إلى العميل.
  • استخدام وسوم محتوى HTML وتنسيق CSS والصور يجب أن يجعل الموقع يبدو أكثر واقعية قليلاً بالنسبة للزاحف.
  • من الممكن تكوين مخرجات Pyison دون إعادة كتابة البرنامج، عن طريق تغيير ملفات الإعدادات والثابتة والقالب
  • تستجيب Pyison لطلبات POST و PUT الخاطئة برمز 404 في حال اختبرت الزواحف ما إذا كانت أفعال HTTP هذه مُهيأة

البدء

  • استنسخ هذا المشروع إلى مجلد محلي

  • غيّر الإعدادات في ملف config/config.json

    • اضبط random-seed على رقم عشوائي!
    • اضبط رقم port الذي سيستخدمه الخادم
    • راجع قسم الإعدادات لمزيد من المعلومات
  • (اختياري لكن موصى به) حدّث قالب HTML وCSS والصور وrobots.txt بالطريقة التي تريدها

    • يكون هذا المشروع أكثر فعالية إذا بدت الصفحات مختلفة، ويمكن تحقيق ذلك بتنويع بنية HTML وCSS. أعد ترتيب بعض الأشياء وأعد تسميتها، أو أعد كتابتها بالكامل.
  • (اختياري) حرّر ملف robots.txt إذا أردت تغيير الروبوتات المتأثرة

  • جهّز بيئة الخادم بأي من الطرق أدناه

  • ضع الخادم خلف وكيل عكسي

    التشغيل محليًا

    • ثبّت nltk
      • pip install nltk
    • شغّل Pyison
      • python3 src/server.py
    • تحقق من أنه يعمل
      • افتح http://localhost:<your port number> في المتصفح

    Docker

    باستخدام docker compose

    • أنشئ ملف docker-compose.yml بالحد الأدنى يحتوي على
      services:
        pyison:
          image: "ghcr.io/jonaslong/pyison:main"
          container_name: pyison
          tty: true
          ports:
            - 80:80
      
    • docker compose up
      • (اختياري) استخدم العلم -d لفصل الحاوية
    • لكي تؤثر التغييرات على الملفات المحلية، استنسخ هذا المستودع واستخدم ربط التحميل (bind mount). راجع ملف compose الكامل.

    باستخدام docker run

    • docker run --tty --name pyison -p "127.0.0.1:80:80" --rm ghcr.io/jonaslong/pyison:main
      • (اختياري) أزل العلم --rm للإبقاء على الحاوية

    البناء من المصدر

    • استنسخ المستودع محليًا
    • docker build -t pyison:latest .
    • شغّل الحاوية باستخدام docker run --tty --name pyison -p "127.0.0.1:80:80" --rm pyison:latest

الوكيل العكسي

يُنصح بشدة باستخدام وكيل عكسي لتقديم هذا المحتوى. يمكنه تقليل حمل الخادم عن طريق تخزين الصفحات مؤقتًا وإدخال حدود للمعدل، بالإضافة إلى تقديم المحتوى عبر https والحماية من بعض استغلالات خادم الويب الأساسية.

اعتبارات

  • تستخدم هذه الأمثلة Nginx Proxy Manager، ولكن يجب أن يعمل أي برنامج وكيل عكسي
  • تدعم Pyison إعدادات SSL الأكثر صرامة في NPM
  • من المفترض أن يمرر NPM ترويسة http الخاصة بـ User-Agent من NPM إلى خادم Pyison دون أي إعداد خاص. استخدم proxy_pass_header User-Agent; إذا لزم الأمر.

إعداد النطاق الفرعي المستقل

  • حدد الإعدادات التالية في الواجهة، أو أدخل الإعدادات المكافئة في ملف الإعدادات:

    واجهة NGINX Reverse Proxy. مربع حوار "Edit Proxy Host مفتوح.
    • أسماء النطاقات: نطاق أو نطاق فرعي تتحكم فيه، مثل tarpit.example.com
    • المخطط: http
    • اسم المضيف / عنوان IP الأمامي: localhost، أو اسم حاوية docker إذا كنت تستخدم شبكة docker
    • المنفذ الأمامي: أي منفذ محدد في docker-compose/أمر التشغيل/config.json (الافتراضي هو 80)
    • فعّل Cache Assets و Block Common Exploits، لكن ليس Websockets Support

إعداد المسار الفرعي

  • لاستخدام Pyison في مسار فرعي، استخدم إعداد الموقع التالي

    # Handles the root page ("example.com/tarpit")
    location /tarpit {
        proxy_pass http://localhost:80;
    }
    
    # Handles all sub-pages ("example.com/tarpit/a" and "example.com/tarpit/a/b")
    location /tarpit/ {
        proxy_pass http://localhost:80;
    }
    
تنزيل الأداة