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

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
PoisonCraft — هذا المستودع يوفر التنفيذ الرسمي لـ POISONCRAFT: التسميم العملي للتوليد المعزز بالاسترجاع لنماذج اللغة الكبيرة. | Kitploit
أدوات/GitHubGitHub/andyshaw01/poisoncraft
تحليل الثغرات الأمنيةالاستغلالتعلم الآلةالأوراق والأبحاثأمن الذكاء الاصطناعيالهجوم العدائي
GitHubandyshaw01/poisoncraft

PoisonCraft

هذا المستودع يوفر التنفيذ الرسمي لـ POISONCRAFT: التسميم العملي للتوليد المعزز بالاسترجاع لنماذج اللغة الكبيرة.

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

الأكثر شعبية

عرض الكل →

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

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

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

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

PoisonCraft

هذا المستودع يوفر التطبيق الرسمي لـ POISONCRAFT: Practical Poisoning of Retrieval-Augmented Generation for Large Language Models.

نظرة عامة

Framework

يهدف POISONCRAFT إلى إظهار كيفية قيام جهة خبيثة بزراعة محتوى "مُسمّم" داخل المجموعة النصية المستخدمة في خطوط أنابيب التوليد المعزز بالاسترجاع (RAG)، مما يضلل نموذج اللغة الكبير ليهذيء أو يستشهد بمحتوى خبيث. توفر هذه القاعدة البرمجية سكربتات من أجل:

  • تحضير ومعالجة مجموعات البيانات القياسية (مثل Natural Questions وMS MARCO وHotpotQA).

  • حقن لواحق عدائية (أي "سموم") في نص شبيه بالاستعلام بهدف تقليل جودة نتائج الاسترجاع أو التلاعب بها.

  • تقييم فعالية التسميم باستخدام أدوات استرجاع مختلفة (مثل Contriever وSimCSE وBGE) وقياس قابلية النقل.

الاستخدام السريع

إعداد البيئة

فيما يلي دليل عام لإعداد البيئة. المتطلبات الدقيقة مذكورة في ملف requirements.txt. نوصي بإنشاء بيئة افتراضية جديدة لتجنب التعارضات:

# Example using conda
conda create -n PoisonCraft python=3.10
conda activate PoisonCraft

# Install dependencies
pip install torch==2.4.1 torchvision==0.19.1 torchaudio==2.4.1 --index-url https://download.pytorch.org/whl/cu118
pip install -r requirements.txt

إعداد مفتاح API وتهيئة النموذج

تعتمد أجزاء معينة من هذا المشروع، مثل تصنيف النطاق وتصنيف الاستعلامات، على استدعاءات API (مثل نماذج OpenAI GPT). يجب عليك إعداد مفتاح API وإعدادات النموذج كما يلي:

  1. انتقل إلى دليل src/models_configs/.
  2. حدد ملف الإعداد المناسب (مثل gpt3.5_config.py).
  3. حدّث حقل api_keys بمفتاح API الخاص بك:
    "api_key_info": {
        "api_keys": ["your_openai_api_key"],
        "api_key_use": 0
    }
    

ملاحظة: يدعم هذا المشروع موفري نماذج لغوية كبيرة متعددين (مثل OpenAI وLlama وPaLM2). تأكد من اختيار ملف الإعداد المناسب لنموذجك.

كيفية تشغيل الكود

نوفر العديد من سكربتات bash داخل مجلد scripts لمراحل مختلفة من خط الأنابيب. فيما يلي مرجع خطوة بخطوة:

تحضير مجموعات البيانات

1. تنزيل مجموعات البيانات وتحضيرها

قم بتشغيل scripts/run_prepare_dataset.sh لتنزيل مجموعات البيانات وفك ضغطها وإنشاء تقسيمات التدريب/الاختبار:

bash scripts/run_prepare_dataset.sh

يستدعي هذا السكربت داخليًا:

  • experiments/prepare_datasets.py
  • experiments/classify_queries_by_domain.py (لتصنيف النطاق، إذا لزم الأمر)

2. معالجة مجموعات البيانات

لحساب درجات التشابه الأرضية الصحيحة لأفضل k لكل نطاق، قم بتشغيل:

bash scripts/run_process_data.sh

3. [اختياري] تقييم BEIR للحقيقة الأرضية

نفّذ هذه الخطوة فقط إذا كنت تريد تقييم نموذج استرجاع، فقد تستغرق وقتًا طويلًا. اتبع الخطوات التالية:

  1. قم بتشغيل سكربت تقييم BEIR لحساب نتائج الاسترجاع:
    python src/beir_eval/eval_beir.py --model_code bge-small --dataset nq --top_k 100
    
  2. استخدم النتائج المسترجعة لتوليد درجات الحقيقة الأرضية:
    bash scripts/run_process_data.sh
    

تدريب هجوم التسميم

لتوليد لواحق عدائية (أي "سموم")، يمكنك استخدام:

bash scripts/run_multi_poisoncraft.sh
  • سيطلق هذا السكربت عدة عمليات تشغيل لـ run_poisoncraft.sh بالتوازي، كل منها يستكشف أطوالًا مختلفة للواحق العدائية وفهارس نطاقات مختلفة.
  • المنطق الأساسي يستدعي experiments/poisoncraft_exp.py

يمكنك تخصيص معاملات مثل:

  • DOMAIN_LIST (فهارس النطاقات للاستعلامات التي تريد تسميمها)
  • ADV_LENGTH_LIST (أطوال اللواحق العدائية لاختبارها)

تشغيل تقييم هجوم الاسترجاع

بعد توليد اللواحق العدائية، يمكنك تقييم عدد الاستعلامات التي تحصل على مراجع "مُسمّمة" عن طريق تشغيل:

bash scripts/run_retrieval_attack.sh

يقوم هذا السكربت بـ:

  • تحميل اللواحق العدائية المحسوبة مسبقًا.
  • تشغيل اختبار الهجوم باستخدام experiments/retrieval_attack.py.
  • تسجيل نتائج عدد الاستعلامات التي انتهى بها الأمر إلى استرجاع النص المُسمّم.

تشغيل تقييم هجوم التوليد الموجّه

بدلاً من ذلك، لتقييم مستوى نموذج اللغة الكبير (أي التوليد النصي النهائي مع تضمين نتائج الاسترجاع لأعلى k)، يمكنك استخدام:

bash scripts/run_target_attack.sh

النتائج والتسجيل

  • يتم تخزين السجلات في مجلد logs/.
  • يتم حفظ النتائج (مثل الاستعلامات المُسمّمة ومعدلات نجاح الهجوم) في مجلد results/.

شكر وتقدير

  • Open-Prompt-Injection: يعتمد كود النموذج الأساسي على هذا المستودع.
  • PoisonedRAG: تم اقتباس بعض التطبيقات من هذا المشروع.
  • Beir Benchmark: استُخدم كإطار مرجعي للتقييم.
  • Contriever: استُخدم لقدرات التوليد المعزز بالاسترجاع (RAG).
  • llms-attacks: اشتُقت بعض تطبيقات التدريب العدائي من هذا المستودع.
تنزيل الأداة