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

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
RAGSieve — التباين المحلي ذاتي المرجع لكشف تسميم المعرفة في التوليد المعزّز بالاسترجاع | Kitploit
أدوات/GitHubGitHub/xrazymee/ragsieve
أدوات دفاعيةتعلم الآلةالأوراق والأبحاثأمن الذكاء الاصطناعيكشف الشذوذالهجوم العدائي
GitHubxrazymee/ragsieve

RAGSieve

التباين المحلي ذاتي المرجع لكشف تسميم المعرفة في التوليد المعزّز بالاسترجاع

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

الأكثر شعبية

عرض الكل →

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

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

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

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

RAGSieve

كود لـ RAGSieve: كشف المستندات المسمومة معرفيًا في RAG بدون مرجع موثوق.

يكشف RAGSieve عن مستندات التسميم المعرفي عند نقطتين في نظام التوليد المعزز بالاسترجاع (RAG). RSQ هو مرشح عبر الإنترنت: يقيّم المستندات الخمسة المختارة للتوليد مقابل الرتب 6--20 للاستعلام الحالي. RSG هو ماسح ضوئي غير متصل: يقيّم كل مستند في المجموعة مقابل جواره الدلالي--المعجمي الخاص. تحتوي الحزمة على تطبيقات RSQ و RSG المستخدمة في الورقة البحثية، والاسترجاع الدقيق للمجموعة الكاملة، وتصفية Top-5 وإعادة التعبئة، والتقييم على مستوى المستند، ومثال مضغوط قابل للتشغيل.

محتويات المستودع

data/datasets/       NQ, HotpotQA, and MS MARCO text knowledge bases
data/demo/           four target queries and 20 example poison documents
src/ragsieve/     RSQ, RSG, retrieval, filtering, and metrics
install.sh           environment installation
data_preparation.sh  local construction of the nine dense indices
run_demo.sh          end-to-end RSQ and RSG functionality check

تحتوي قواعد المعرفة الثلاث المنشورة على 128,044 مستند NQ، و9,961 مستند HotpotQA، و8,239 مقطع MS MARCO. وهي تتضمن النص الخام، و1,000 استعلام مُعيّن، وqrels، والإجابات المستهدفة، ومجموعة الهجوم الثابتة المكونة من 100 استعلام. يتم توليد المتجهات الكثيفة محليًا وليست أبدًا جزءًا من المستودع.

يحتوي العرض التوضيحي على تنفيذين PR-W وتنفيذين CEM-C من NQ، مع خمسة مستندات سامة لكل استعلام. توفر هذه الهجمات مسارًا قصيرًا وقابلًا للفحص عبر كلا الكاشفين دون شحن مجموعة الهجوم الكاملة أو تطبيقات توليد الهجوم.

التثبيت

يُنصح باستخدام Python 3.11 أو 3.12، وuv، ووحدة معالجة رسومات قادرة على CUDA.

bash install.sh

يقوم الكاشف بتنزيل نماذج Hugging Face المذكورة في الورقة البحثية عند الاستخدام الأول.

للحصول على أسئلة وأجوبة من البداية إلى النهاية، انسخ إعدادات OpenAI المتوافقة المشتركة واملأ القيم الثلاث:

cp .env.example .env
OPENAI_BASE_URL=https://api.openai.com/v1
OPENAI_MODEL=your-model-name
OPENAI_API_KEY=your-api-key

نقطة النهاية والنموذج نفساهما يولّدان الإجابات ويقومان بتحكيم ASR الدلالي.

التقييم السريع

bash run_demo.sh

يقوم هذا الأمر ببناء فهرس BGE-M3 محلي للقطة RSG المكونة من 520 مستندًا، ويشغّل RSQ على سياقات الاسترجاع المُعدّة للمجموعة الكاملة، ويصفّي ويعيد تعبئة Top-5 للتوليد، ويقيّم كلا الكاشفين. تُكتب النتائج في outputs/demo/:

  • rsq-metrics.json: AUROC لـ RSQ وكشف السموم عند إزالة 5% من النظيف؛
  • rsg-metrics.json: مقاييس RSG على لقطة المجموعة الخالية من الاستعلامات؛
  • filtered-top5.jsonl: المستندات الخمسة المحتفظ بها للتوليد بعد RSQ.
  • rsg-*-top5.jsonl وjoint-*-top5.jsonl: السياقات المحتفظ بها لكل هجوم تجريبي بعد RSG وحده وبعد التصفية المشتركة. الأسئلة والأجوبة أمر منفصل واختياري.

مع الأمثلة المنشورة، يصل RSQ إلى 100% AUROC و100% كشف للسموم عند إزالة 5% من النظيف لكل من PR-W وCEM-C. يصل RSG إلى 100% AUROC و100% كشف للسموم عند نفس ميزانية الإزالة النظيفة؛ قاعدته الثابتة تزيل 85% من المستندات السامة و0% من المستندات النظيفة. هذه القيم هي فحص وظيفي على العرض التوضيحي المنسّق، وليست النتيجة الإجمالية للورقة البحثية.

تُقرأ حقول الحقيقة الأساسية فقط بواسطة أوامر التقييم. ولا تُمرَّر إلى RSQ أو RSG.

بناء الفهارس المحلية الكاملة

bash data_preparation.sh

بشكل افتراضي، يبني هذا 3 مجموعات بيانات × 3 مسترجعين تم تقييمهم في الورقة البحثية: BGE-M3، وE5-large-v2، وall-MiniLM-L6-v2. يتم وضع المخرجات تحت دليل data/indices/ المتجاهَل. يمكن تحديد مجموعة فرعية دون تحرير النص البرمجي:

DATASETS="nq" ENCODERS="bge-m3" DEVICE="cuda:0" bash data_preparation.sh

يُنتَج كل فهرس من المجموعة الكاملة المنشورة باستخدام إعدادات التجميع، والبادئة، والاقتطاع، والتطبيع بجيب التمام الخاصة بالورقة البحثية.

RSQ: التصفية عبر الإنترنت في وقت الاستعلام

جهّز استرجاعًا نظيفًا واسترجاعًا مع الهجمات المرفقة:

uv run ragsieve prepare-contexts \
  --dataset-dir data/datasets/nq \
  --index-dir data/indices/nq/bge-m3 \
  --subset data/demo/subset.json \
  --attacks data/demo/attacks.jsonl \
  --output outputs/demo/contexts.jsonl \
  --device cuda:0

يقوم prepare-contexts بإجراء بحث دقيق على المجموعة الكاملة مرة واحدة لكل استعلام، ويقيّم المستندات المحقونة بشكل منفصل، ويحفظ أفضل 100 بترتيبها الأصلي. يقيّم RSQ المرشحات 1--5 مقابل الرتب 6--20؛ الرتب المتبقية متاحة لإعادة التعبئة. شغّل RSQ، واحسب المقاييس على مستوى المستند، وأعد تعبئة سياق التوليد:

uv run ragsieve detect \
  --input outputs/demo/contexts.jsonl \
  --output outputs/demo/rsq-predictions.jsonl \
  --device cuda:0

uv run ragsieve evaluate \
  --predictions outputs/demo/rsq-predictions.jsonl \
  --output outputs/demo/rsq-metrics.json

uv run ragsieve filter-contexts \
  --contexts outputs/demo/contexts.jsonl \
  --predictions outputs/demo/rsq-predictions.jsonl \
  --output outputs/demo/filtered-top5.jsonl

uv run ragsieve qa \
  --input outputs/demo/filtered-top5.jsonl \
  --output outputs/demo/qa-records.jsonl \
  --summary outputs/demo/qa-summary.json \
  --env-file .env

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

RSG: فحص المجموعة غير المتصل

يستهلك RSG نص المستند والمتجهات التي يحتفظ بها فهرس RAG بالفعل:

uv run ragsieve detect-graph \
  --documents data/demo/corpus.jsonl \
  --embeddings data/indices/demo/bge-m3/embeddings.npy \
  --output outputs/demo/rsg-predictions.jsonl \
  --device cuda:0

uv run ragsieve evaluate-graph \
  --predictions outputs/demo/rsg-predictions.jsonl \
  --labels data/demo/labels.jsonl \
  --output outputs/demo/rsg-metrics.json

يبني RSG رسمًا بيانيًا دقيقًا لأعلى 16 جارًا بجيب التمام، ويحتفظ بالجيران القريبين دلاليًا والبعيدين معجميًا، ويقيس ارتفاع كثافة كل مستند فوق أرضية جواره الخاصة، ويجمع ذيل المجموعة التجريبي مع سلامة نظام الكتابة.

النشر المشترك

النشر المشترك تسلسلي: يستبعد RSG المستندات أولًا، ثم يقيّم RSQ الخمسة الأوائل الجدد مقابل الرتب 6--20 الباقية. تُزال المرشحات المُعلَّمة ويُعاد تعبئة السياق مرة واحدة من الترتيب الباقي؛ لا يُعاد تقييم المستندات البديلة. بعد bash run_demo.sh، يكون مثال PR-W كالتالي:

uv run ragsieve quarantine-contexts \
  --contexts data/demo/contexts.jsonl \
  --graph-predictions outputs/demo/rsg-predictions.jsonl \
  --condition pr_w \
  --output outputs/demo/serial-pr_w-contexts.jsonl
uv run ragsieve detect \
  --input outputs/demo/serial-pr_w-contexts.jsonl \
  --output outputs/demo/serial-pr_w-rsq.jsonl --device cuda:0
uv run ragsieve filter-contexts \
  --contexts outputs/demo/serial-pr_w-contexts.jsonl \
  --predictions outputs/demo/serial-pr_w-rsq.jsonl \
  --output outputs/demo/joint-pr_w-top5.jsonl

uv run ragsieve qa \
  --input outputs/demo/joint-pr_w-top5.jsonl \
  --output outputs/demo/joint-pr_w-qa.jsonl \
  --summary outputs/demo/joint-pr_w-qa-summary.json \
  --env-file .env

بالنسبة لـ RSG وحده، شغّل filter-contexts على السياقات الأصلية باستخدام --graph-predictions و--condition فقط. بالنسبة لـ CEM-C، استخدم --condition ipi_cem_c ومسارات مخرجات منفصلة. يربط --condition مسح RSG بشرط الاسترجاع الذي يتم تقييمه؛ تستخدم الأسئلة والأجوبة غير المسمومة مسح RSG منفصل للمجموعة النظيفة. تحتوي لقطة RSG المرفقة على كلا هجومي العرض التوضيحي. خطوات المجموعة الكاملة والأسئلة والأجوبة النظيفة موجودة في دليل القطع الأثرية.

استئصال المكونات

الأدلة المحفوظة كافية لتشغيل عمليات الاستئصال المنشورة دون تحميل النماذج مرة أخرى:

uv run ragsieve ablate \
  --predictions outputs/demo/rsq-predictions.jsonl \
  --variant without-answer-anchor \
  --output outputs/demo/rsq-without-answer-anchor.jsonl
uv run ragsieve evaluate \
  --predictions outputs/demo/rsq-without-answer-anchor.jsonl \
  --output outputs/demo/rsq-without-answer-anchor-metrics.json
تنزيل الأداة