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

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
أدوات/GitHubGitHub/jaewonalive/camodocs
الأوراق والأبحاثالتعلم والتعليمأمن الذكاء الاصطناعيالهجوم العدائي
GitHubjaewonalive/camodocs

CamoDocs

تنفيذ بحثي لهجوم تسميم ضد نماذج اللغة المعززة بالاسترجاع باستخدام مستندات مموهة للتهرب من دفاعات التصفية وتحفيز إجابات غير صحيحة.

عرض المستودع
منذ 3 أياملم تتم المراجعة بعد

الأكثر شعبية

عرض الكل →

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

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

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

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

CamoDocs

المستودع الرسمي لورقة EMNLP 2026 CamoDocs: هجوم تسميم ضد نماذج اللغة المعززة بالاسترجاع باستخدام مستندات مموهة.

CamoDocs هو هجوم تسميم لقاعدة المعرفة ضد التوليد المعزز بالاسترجاع (RAG) لا يتطلب تضمين الاستعلام. يتم تمويه كل مستند فرعي عدائي من خلال دمجها مع مستند فرعي حميد مُحسَّن، بحيث تتجنب المستندات المسمومة الناتجة آثار تداخل الاستعلام التي تعتمد عليها دفاعات التصفية.

نظرة عامة على CamoDocs

يولّد CamoDocs مستندات فرعية حميدة وعدائية، ويحسّن الأجزاء الحميدة باستخدام رموز التشتيت وتصفية التماسك، ويدمجها لإنشاء مستندات مسمومة تتجنب دفاعات التصفية وتستحث الإجابة غير الصحيحة المستهدفة.

التثبيت

تم اختباره مع Python 3.10 وCUDA 12.8 وPyTorch 2.8.0. وحدة معالجة رسومية واحدة بسعة 48 جيجابايت كافية للضحايا من فئة 8B. لا يتسع Mixtral-8x7B على بطاقة واحدة بسعة 48 جيجابايت؛ استخدم --lm_deploy_tp لتقسيمه عبر عدة بطاقات.

root@kitploit:~
conda create -n camodocs python=3.10 -y
conda activate camodocs
pip install -r requirements.txt
python -m spacy download en_core_web_sm
python -c "import nltk; nltk.download('punkt'); nltk.download('stopwords')"

دفاع LLM Filter يتطلب إضافياً openai/gpt-oss-safeguard-20b، والذي يتطلب حزمة vLLM/transformers/torch أحدث، لذا فهو موجود في بيئته الخاصة:

root@kitploit:~
conda create -n camodocs_vllm python=3.10 -y
conda activate camodocs_vllm
pip install -r requirements_vllm.txt

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

قم بتعيين هذه أولاً. يتحقق كل سكربت من المتغيرات التي يحتاجها ويخرج فوراً إذا كان أحدها مفقوداً.

root@kitploit:~
export REPO_ROOT=/absolute/path/to/this/repo
export DATA_ROOT=/absolute/path/for/intermediate/outputs
export OPENAI_API_KEY=...      # LLM judge, GPT-4o-mini synthesis
export HF_TOKEN=...            # gated models (Llama-3.1, Mixtral)

ثم قم بتشغيل أي تقييم دفاع. تتيح لك القطع المرفقة تخطي المراحل 1-3 بالكامل:

root@kitploit:~
bash scripts/eval_trustrag.sh

إعادة إنتاج نتائجنا

يعيد كل سكربت إنتاج صف واحد على HotpotQA مع ضحية Llama-3.1-8B. لمجموعة بيانات أخرى، قم بتعيين EVAL_DATASET=nq (أو msmarco) في البيئة؛ لضحية أخرى، قم بتعديل MODEL_NAME في السكربت.

root@kitploit:~
bash scripts/eval_trustrag.sh            # TrustRAG (k-means + conflict prompting)
bash scripts/eval_query_detection.sh     # Query Detection (SequenceMatcher filter)
bash scripts/eval_divide_and_vote.sh     # Divide-and-Vote
bash scripts/eval_robustrag.sh           # RobustRAG (keyword aggregation)
bash scripts/eval_isolation_forest.sh    # Isolation Forest
bash scripts/eval_rerank.sh              # Cross-encoder rerank (bge-reranker-v2-m3)
bash scripts/llm_filter_eval.sh          # LLM Filter (needs the vLLM critic below)

تحتاج الأسكربتات الستة الأولى إلى وحدة معالجة رسومية واحدة. LLM Filter يشغّل إضافياً ناقداً بحجم 20B في غلاف ثانٍ، لذا يحتاج إلى ذاكرة GPU كافية لذلك الناقد بجانب الضحية. استخدمت عملياتنا أربع بطاقات بسعة 48 جيجابايت؛ قم بتعيين TP وLM_DEPLOY_TP ليتوافقا مع أجهزتك الخاصة:

root@kitploit:~
# Shell 1
conda activate camodocs_vllm
bash scripts/gpt_oss_safeguard_vllm_serve.sh   # serves on :8001, TP=4

# Shell 2
conda activate camodocs
bash scripts/llm_filter_eval.sh                # health-checks the critic first

خط الأنابيب الكامل

تصوغ المرحلتان 1-2 مقاطع حميدة وعدائية باستخدام GPT-4o-mini، وتطبق المرحلة 3 التحسين على مستوى الرموز، وتقيّم المرحلة 4 ضد الدفاعات.

root@kitploit:~
bash scripts/gen_synth_benign_hotpotqa.sh      # Stage 1: benign carrier drafts
bash scripts/gen_adv_hotpotqa.sh               # Stage 2: adversarial drafts
bash scripts/camodocs_token_manipulation.sh    # Stage 3: CamoDocs token manipulation
bash scripts/eval_trustrag.sh                  # Stage 4: evaluation

تحمل الأسكربتات المعلمات الفائقة الدقيقة المستخدمة في عمليات التشغيل المبلغ عنها (beta=10, alpha=30, m=1000, m'=100, top-k=5).

البيانات

يتم تنزيل مجموعات بيانات BEIR تلقائياً عند أول استخدام، في ${REPO_ROOT}/datasets/. تقوم كل مرحلة بذلك، لذا لا توجد خطوة إعداد بيانات منفصلة. لجلبها مسبقاً بدلاً من ذلك:

root@kitploit:~
mkdir -p ${REPO_ROOT}/datasets && cd ${REPO_ROOT}/datasets
for ds in hotpotqa nq msmarco; do
    wget https://public.ukp.informatik.tu-darmstadt.de/thakur/BEIR/datasets/${ds}.zip
    unzip ${ds}.zip
done

لتخطي المعالجة المسبقة المكلفة، يتضمن هذا الإصدار استرجاعات Contriever محسوبة مسبقاً (results/beir_results/)، ومجموعات فرعية ثابتة لتقييم 1,000 استعلام (target_queries_fixed/)، ومخرجات أمثلة للمرحلتين 2-3 (data_examples/) لجميع مجموعات البيانات الثلاث.

جميع الأرقام المبلغ عنها قابلة لإعادة الإنتاج لـ HotpotQA وNQ وMS-MARCO من القطع المرفقة. (إعادة تشغيل المرحلة 2 نفسها تتطلب ملف الإجابات الخاص بك لـ NQ وMS-MARCO — يشرح gen_adv.py ذلك إذا حاولت.)

الإقرار

  • استخدم كودنا معيار beir.
  • استخدم كودنا contriever للتوليد المعزز بالاسترجاع (RAG).
  • أجزاء من كودنا مقتبسة من PoisonedRAG وTrustRAG.

الترخيص

يُوفَّر هذا الكود تحت رخصة MIT (LICENSE)، باتباع مستودع PoisonedRAG الأصلي، وهو أيضاً تحت MIT.

استثناء واحد: src/contriever_src/ هو كود Meta's contriever ويبقى تحت CC BY-NC 4.0، لذا فهذا الدليل للاستخدام غير التجاري فقط.

الاستخدام المقصود

يُوفَّر هذا الحزمة لأغراض البحث وإعادة الإنتاج. الكود المُصدَر مقصود لإعادة إنتاج التجارب المبلغ عنها في الورقة ودعم البحث في متانة RAG والدفاعات.

تستخدم الحزمة مجموعات بيانات ونماذج ومكتبات برمجية متاحة للعموم بموجب تراخيصها وشروط استخدامها الخاصة. يتم تنزيل مجموعات بيانات BEIR مثل HotpotQA وNQ وMS-MARCO من روابط BEIR الرسمية بدلاً من إعادة توزيعها في هذه الحزمة.

أوزان النماذج وواجهات برمجة التطبيقات المستخدمة في خط الأنابيب، بما في ذلك GPT-4o-mini وGPT-4.1-mini وLlama-3.1-8B وQwen3-8B وMixtral-8x7B وContriever وANCE وGPT-2 وbge-reranker-v2-m3 وgpt-oss-safeguard-20b، تظل خاضعة لتراخيص وسياسات استخدام مقدميها الأصليين. لا تمنح هذه الحزمة حقوقاً إضافية لتلك القطع من طرف ثالث.

المستندات العدائية والقطع الوسيطة المضمنة في هذه الحزمة مقدمة فقط للتقييم البحثي المتحكم فيه لمتانة RAG. لا ينبغي استخدامها لمهاجمة أنظمة قيد التشغيل أو تسميم قواعد المعرفة في العالم الحقيقي.

الاقتباس

root@kitploit:~
@misc{jung2026camodocs,
      title={CamoDocs: A Poisoning Attack Against Retrieval-Augmented Language Models Using Camouflaged Documents},
      author={Jaewon Jung and Haizhong Zheng and Hongsun Jang and Jaeyong Song and Beidi Chen and Jinho Lee},
      year={2026},
      eprint={2608.28389},
      archivePrefix={arXiv},
      primaryClass={cs.CR},
      url={https://arxiv.org/abs/2608.28389},
}
تنزيل الأداة