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

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
Black_Hole_Attack_for_Vector_Database — تنفيذ بحثي لهجوم الثقب الأسود (Black-Hole Attack) الذي يسمّم فهارس قواعد البيانات المتجهية عبر خاصية المركزية المدفوعة بالhubness، مع خطوط معالجة FAISS وتقييم دفاعات الكشف والتخفيف. | Kitploit
أدوات/GitHubGitHub/hanxi19/black_hole_attack_for_vector_database
أدوات دفاعيةتحليل الثغرات الأمنيةتسريب البياناتتعلم الآلةالأوراق والأبحاثأمن الذكاء الاصطناعيالهجوم العدائي
GitHubhanxi19/black_hole_attack_for_vector_database

الأكثر شعبية

عرض الكل →

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

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

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

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

Black_Hole_Attack_for_Vector_Database

تنفيذ بحثي لهجوم الثقب الأسود (Black-Hole Attack) الذي يسمّم فهارس قواعد البيانات المتجهية عبر خاصية المركزية المدفوعة بالhubness، مع خطوط معالجة FAISS وتقييم دفاعات الكشف والتخفيف.

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

هجوم الثقب الأسود على استرجاع قواعد البيانات المتجهية

يحتوي هذا المستودع على التنفيذ المرافق لورقة Black-Hole Attack from Embedding Space Defects. يستغل هجوم الثقب الأسود عيبًا هندسيًا في فضاءات التضمين عالية الأبعاد — المركزية المدفوعة بالمحورية (centrality-driven hubness) — لتسميم قواعد البيانات المتجهية: عدد صغير من المتجهات الخبيثة المحقونة بالقرب من مراكز العناقيد تصبح أقرب الجيران لجزء كبير من استعلامات المستخدمين، دون الحاجة إلى أي معرفة بتلك الاستعلامات.

المتطلبات

  • Python ≥ 3.10
  • FAISS (يُوصى باستخدام GPU: faiss-gpu؛ أو CPU: faiss-cpu)
  • NumPy، Pandas، PyArrow (لإدخال/إخراج parquet)
  • scikit-learn، tqdm
  • PyTorch وTransformers (مطلوبان فقط لـ scripts/encode_*.py؛ خط أنابيب الهجوم نفسه لا يستورد torch)

تثبيت التبعيات الأساسية:

pip install numpy pandas pyarrow scikit-learn tqdm faiss-gpu

البدء السريع

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

# Download BEIR datasets
bash scripts/download_data.sh

# Encode to vectors + build FAISS indexes
bash scripts/process_data.sh

عدّل مصفوفتي MODELS وDATASETS في كل سكربت لاختيار نماذج أو مجموعات بيانات محددة.

2. تشغيل هجوم أساسي

# Full-Export Attack on HotpotQA with Contriever
python run.py --model contriever --src hotpotqa

هذا يشغّل خط الأنابيب الكامل: تحميل المتجهات → التجميع العنقودي → توليد المتجهات الخصامية → الحقن → بناء الفهرس المسموم → تقييم MO@10 وASR وFPR.

3. الوسائط الرئيسية

العَلَمالافتراضيالوصف
--model / --srccontriever / hotpotqaنموذج التضمين ومجموعة البيانات المصدر
--modedefaultdefault (نفس مجموعة البيانات) أو transfer (عبر مجموعات البيانات)
--preprocessdefaultdefault أو query_trans أو multi_query_transfer
--clusterkmeanskmeans أو minibatch_kmeans أو faiss_gpu
--num-copies / --epsilon10 / 0.001عدد النسخ المُشوَّشة لكل مركز عنقودي؛ مقدار التشويش
--eval-k / --sample-queries10 / 3000تقييم أعلى‑k؛ عدد الاستعلامات المُعيَّنة
--eval-index-typesFlatIPأنواع الفهارس المراد تقييمها: FlatIP وHNSW وIVF وIVFPQ
--eval-runnersevaluateخطوات التقييم: evaluate وevaluate_recall وevaluate_defense وevaluate_defense_performance_loss وevaluate_mitigation_defense وevaluate_mitigation_performance_loss
--result-subdirتلقائيدليل فرعي تحت data/result/ لملف JSON الناتج

مسارات الهجوم

تتوافق مسارات الهجوم الأربعة الموصوفة في الورقة مع الاستدعاءات التالية:

المسارالأمر
(1) تصدير قاعدة البيانات الكاملpython run.py --mode default --preprocess default
(2) تصدير قاعدة البيانات الجزئيتصدير جزء من المتجهات خارجيًا قبل التجميع العنقودي؛ وبقية خط الأنابيب مطابقة لـ (1)
(3) هجوم مجموعة البيانات البديلةpython run.py --mode transfer --preprocess multi_query_transfer --victim <dataset>
(4) تسميم مجموعات البيانات العامة المُضمَّنة مسبقًاتعديل ملفات .npy لمجموعة بيانات مُضمَّنة مسبقًا وإعادة رفعها إلى HuggingFace

بالنسبة لـ (3)، يبني المهاجم متجهات خبيثة من استعلامات جميع مجموعات البيانات الأخرى ويحقنها في الضحية. يجب أن تكون ملفات .npy الخاصة بالاستعلامات لمجموعات البيانات المصدر البديلة موجودة في data/vector/.

تقييم الدفاع

لتشغيل الدفاع القائم على الكشف:

python run.py --model contriever --src hotpotqa \
    --eval-runners evaluate_defense evaluate_defense_performance_loss

لدفاع القائم على التخفيف (طريقة واحدة أو أكثر):

python run.py --model contriever --src hotpotqa \
    --eval-runners evaluate_mitigation_defense evaluate_mitigation_performance_loss \
    --mitigation-methods cl2 zn nohub

عرض توضيحي

يحتوي demo/ على مثال مصغّر قائم بذاته يبني قاعدة معرفة صغيرة من مجموعة بيانات BEIR، ويشفّرها، ويحقن متجهات خبيثة، ويقيس التأثير على مستوى الاسترجاع. يستخدم ملف requirements.txt الخاص به ولا يعتمد على src/. راجع demo/src/main.py للحصول على تفاصيل واجهة سطر الأوامر.

مجموعات البيانات والنماذج

يحدد config.json النماذج المدعومة (contriever، bge، gte) ومجموعات البيانات (14 معيارًا من BEIR). لإضافة نموذج جديد، وسّع config.json وتأكد من وجود ملفات المتجهات .npy ضمن data/vector/<model>_<dataset>.npy.

الاستشهاد

@misc{li2026trustvectorsvectordatabase,
      title={Can You Trust the Vectors in Your Vector Database? Black-Hole Attack from Embedding Space Defects}, 
      author={Hanxi Li and Jianan Zhou and Jiale Lao and Yibo Wang and Zhengmao Ye and Yang Cao and Junfen Wang and Mingjie Tang},
      year={2026},
      eprint={2604.05480},
      archivePrefix={arXiv},
      primaryClass={cs.CR},
      url={https://arxiv.org/abs/2604.05480}, 
}
تنزيل الأداة