Skip to content
KitploitKITPLOIT
उपकरणएक्सप्लॉइटब्लॉग
Log in
जमा करें
उपकरणएक्सप्लॉइटब्लॉग
जमा करें

हैकिंग, पेनटेस्ट और साइबर सुरक्षा उपकरण आपके सुरक्षा शस्त्रागार के लिए!

Kitploit हैकिंग, साइबर सुरक्षा और पेंटेस्टिंग टूल्स की एक निर्देशिका है। कमजोरियों को खोजने, सिस्टम का विश्लेषण करने, परीक्षण को स्वचालित करने और अपनी सुरक्षा को मजबूत करने के लिए नवीनतम प्रोजेक्ट अपडेट खोजें।

फ़ीडसंपर्कगोपनीयता© 2026 Kitploit

टूल निर्देशिका

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
Black_Hole_Attack_for_Vector_Database — ब्लैक-होल अटैक का अनुसंधान कार्यान्वयन, जो केंद्रीयता-संचालित हबनेस के माध्यम से वेक्टर डेटाबेस इंडेक्स को ज़हरीला बनाता है, FAISS पाइपलाइनों और डिटेक्शन/मिटिगेशन रक्षा मूल्यांकन के साथ। | Kitploit
उपकरण/GitHubGitHub/hanxi19/black_hole_attack_for_vector_database
रक्षात्मक उपकरणभेद्यता विश्लेषणडेटा निष्कासनमशीन लर्निंगपेपर और शोधAI सुरक्षाप्रतिकूल हमला
GitHubhanxi19/black_hole_attack_for_vector_database

सबसे लोकप्रिय

सभी देखें →

हमारे समुदाय द्वारा सबसे अधिक उपयोग किए जाने वाले उपकरण खोजें।

सभी उपकरण खोजें

हमारे उपकरणों का संग्रह ब्राउज़ करें

सभी उपकरण देखें →

Black_Hole_Attack_for_Vector_Database

ब्लैक-होल अटैक का अनुसंधान कार्यान्वयन, जो केंद्रीयता-संचालित हबनेस के माध्यम से वेक्टर डेटाबेस इंडेक्स को ज़हरीला बनाता है, FAISS पाइपलाइनों और डिटेक्शन/मिटिगेशन रक्षा मूल्यांकन के साथ।

रिपॉजिटरी देखें
4263 महीने पहलेअभी तक समीक्षित नहीं
साझा करें

वेक्टर डेटाबेस रिट्रीवल पर ब्लैक-होल अटैक

यह रिपॉज़िटरी पेपर Black-Hole Attack from Embedding Space Defects के साथ आने वाले कार्यान्वयन को समाहित करती है। ब्लैक-होल अटैक उच्च-आयामी एम्बेडिंग स्पेस में एक ज्यामितीय दोष—केंद्रीयता-प्रेरित हबनेस—का शोषण करके वेक्टर डेटाबेस को ज़हरीला बनाता है: क्लस्टर सेंट्रोइड्स के निकट इंजेक्ट किए गए कुछ ही संख्या के दुर्भावनापूर्ण वेक्टर उपयोगकर्ता क्वेरीज़ के एक बड़े हिस्से के लिए निकटतम पड़ोसी बन जाते हैं, बिना उन क्वेरीज़ का कोई ज्ञान आवश्यक हुए।

आवश्यकताएँ

  • Python ≥ 3.10
  • FAISS (GPU अनुशंसित: faiss-gpu; CPU: faiss-cpu)
  • NumPy, Pandas, PyArrow (parquet I/O के लिए)
  • 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-subdirautoआउटपुट JSON के लिए data/result/ के अंतर्गत सबडायरेक्टरी

आक्रमण पथ

पेपर में वर्णित चार आक्रमण पथ निम्नलिखित इनवोकेशन्स के अनुरूप हैं:

पथकमांड
(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/ पर निर्भर नहीं करता है। CLI विवरण के लिए 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}, 
}
टूल डाउनलोड करें