Skip to content
KitploitKITPLOIT
उपकरणब्लॉग
जमा करें
उपकरणब्लॉग
जमा करें

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

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

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

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

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
PoisonCraft — यह रिपॉज़िटरी POISONCRAFT: लार्ज लैंग्वेज मॉडल्स के लिए रिट्रीवल-ऑगमेंटेड जनरेशन की व्यावहारिक पॉइज़निंग का आधिकारिक कार्यान्वयन प्रदान करती है। | Kitploit
उपकरण/GitHubGitHub/andyshaw01/poisoncraft
भेद्यता विश्लेषणशोषणमशीन लर्निंगपेपर और शोधAI सुरक्षाप्रतिकूल हमला
GitHubandyshaw01/poisoncraft

PoisonCraft

यह रिपॉज़िटरी POISONCRAFT: लार्ज लैंग्वेज मॉडल्स के लिए रिट्रीवल-ऑगमेंटेड जनरेशन की व्यावहारिक पॉइज़निंग का आधिकारिक कार्यान्वयन प्रदान करती है।

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

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

सभी देखें →

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

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

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

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

PoisonCraft

यह रिपॉज़िटरी POISONCRAFT: Practical Poisoning of Retrieval-Augmented Generation for Large Language Models. का आधिकारिक कार्यान्वयन प्रदान करती है।

अवलोकन

Framework

POISONCRAFT यह प्रदर्शित करने का लक्ष्य रखता है कि कैसे एक दुर्भावनापूर्ण अभिनेता Retrieval-Augmented Generation (RAG) पाइपलाइनों द्वारा उपयोग किए जाने वाले कॉर्पस में "जहरीली" (poisoned) सामग्री डाल सकता है, जिससे एक Large Language Model भ्रमित होकर दुर्भावनापूर्ण सामग्री को hallucinate या संदर्भित कर सकता है। यह कोडबेस निम्नलिखित के लिए स्क्रिप्ट प्रदान करता है:

  • मानक डेटासेट (जैसे, Natural Questions, MS MARCO, HotpotQA) तैयार करना और प्रीप्रोसेस करना।

  • क्वेरी-जैसे पाठ में adversarial suffixes (अर्थात, "poisons") इंजेक्ट करना ताकि पुनर्प्राप्ति परिणामों को क्षीण या हेरफेर किया जा सके।

  • विभिन्न retrieverों (जैसे, Contriever, SimCSE, और BGE) के अंतर्गत poisoning प्रभावशीलता का मूल्यांकन करना और transferability को मापना।

त्वरित उपयोग

पर्यावरण सेटअप

नीचे पर्यावरण को कॉन्फ़िगर करने के लिए एक उच्च-स्तरीय मार्गदर्शिका दी गई है। सटीक आवश्यकताएँ requirements.txt में सूचीबद्ध हैं। हम संघर्षों से बचने के लिए एक नया virtual environment बनाने की अनुशंसा करते हैं:

root@kitploit:~
# 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 Key और Model Configuration सेट करें

इस परियोजना के कुछ भाग, जैसे domain classification और query categorization, API कॉल (जैसे, OpenAI GPT मॉडल) पर निर्भर करते हैं। आपको API key और मॉडल सेटिंग्स को निम्नानुसार कॉन्फ़िगर करना होगा:

  1. src/models_configs/ निर्देशिका पर जाएँ।
  2. उपयुक्त कॉन्फ़िगरेशन फ़ाइल (जैसे, gpt3.5_config.py) खोजें।
  3. api_keys फ़ील्ड को अपनी API key के साथ अपडेट करें:
    root@kitploit:~
    "api_key_info": {
        "api_keys": ["your_openai_api_key"],
        "api_key_use": 0
    }
    

नोट: यह परियोजना कई LLM प्रदाताओं (जैसे, OpenAI, Llama, और PaLM2) का समर्थन करती है। सुनिश्चित करें कि आप अपने मॉडल के लिए उपयुक्त कॉन्फ़िगरेशन फ़ाइल चुनते हैं।

कोड कैसे चलाएँ

हम पाइपलाइन के विभिन्न चरणों के लिए scripts फ़ोल्डर के अंतर्गत विभिन्न bash स्क्रिप्ट प्रदान करते हैं। नीचे एक चरण-दर-चरण संदर्भ दिया गया है:

डेटासेट तैयार करना

1. डेटासेट डाउनलोड करें और तैयार करें

डेटासेट डाउनलोड और अनज़िप करने तथा training/test विभाजन बनाने के लिए scripts/run_prepare_dataset.sh चलाएँ:

root@kitploit:~
bash scripts/run_prepare_dataset.sh

यह स्क्रिप्ट आंतरिक रूप से कॉल करती है:

  • experiments/prepare_datasets.py
  • experiments/classify_queries_by_domain.py (domain classification के लिए, यदि आवश्यक हो)

2. डेटासेट प्रीप्रोसेस करें

प्रत्येक domain के लिए top-k ground truth similarity scores की गणना करने हेतु, चलाएँ:

root@kitploit:~
bash scripts/run_process_data.sh

3. [वैकल्पिक] BEIR को Ground Truth के लिए मूल्यांकित करना

इस चरण को केवल तभी निष्पादित करें यदि आप किसी retriever मॉडल का मूल्यांकन करना चाहते हैं, क्योंकि इसमें काफी समय लग सकता है। इन चरणों का पालन करें:

  1. पुनर्प्राप्ति परिणामों की गणना करने के लिए BEIR evaluation स्क्रिप्ट चलाएँ:
    root@kitploit:~
    python src/beir_eval/eval_beir.py --model_code bge-small --dataset nq --top_k 100
    
  2. ground truth scores उत्पन्न करने के लिए पुनर्प्राप्त परिणामों का उपयोग करें:
    root@kitploit:~
    bash scripts/run_process_data.sh
    

Poisoning Attack प्रशिक्षण

adversarial suffixes (अर्थात, "poisons") उत्पन्न करने के लिए, आप उपयोग कर सकते हैं:

root@kitploit:~
bash scripts/run_multi_poisoncraft.sh
  • यह स्क्रिप्ट run_poisoncraft.sh के कई रन समानांतर रूप से प्रारंभ करेगी, जिनमें से प्रत्येक अलग-अलग adversarial suffix lengths और domain indexes का पता लगाएगा।
  • मुख्य तर्क experiments/poisoncraft_exp.py को कॉल करता है।

आप निम्न जैसे मापदंडों को अनुकूलित कर सकते हैं:

  • DOMAIN_LIST (उन क्वेरीज़ के domain indexes जिन्हें आप poison करना चाहते हैं)
  • ADV_LENGTH_LIST (परीक्षण करने के लिए adversarial suffix lengths)

Retrieval Attack मूल्यांकन चलाना

adversarial suffixes उत्पन्न करने के बाद, आप मूल्यांकन कर सकते हैं कि कितनी क्वेरीज़ "poisoned" संदर्भ प्राप्त करती हैं:

root@kitploit:~
bash scripts/run_retrieval_attack.sh

यह स्क्रिप्ट:

  • पूर्व-गणना किए गए adversarial suffixes को लोड करती है।
  • experiments/retrieval_attack.py का उपयोग करके एक attack test चलाती है।
  • कितनी क्वेरीज़ poisoned पाठ को पुनर्प्राप्त करने में समाप्त हुईं, इसके परिणामों को लॉग करती है।

Targeted Generation Attack मूल्यांकन चलाना

वैकल्पिक रूप से, LLM-स्तरीय मूल्यांकन (अर्थात, top-k पुनर्प्राप्ति परिणामों सहित अंतिम पाठ निर्माण) के लिए, आप उपयोग कर सकते हैं:

root@kitploit:~
bash scripts/run_target_attack.sh

परिणाम और लॉगिंग

  • लॉग logs/ निर्देशिका में संग्रहीत होते हैं।
  • परिणाम (जैसे, poisoned queries और attack success rates) results/ निर्देशिका में सहेजे जाते हैं।

Acknowledgement

  • Open-Prompt-Injection: मूल मॉडल कोड इस रिपॉज़िटरी पर आधारित है।
  • PoisonedRAG: कुछ कार्यान्वयन इस परियोजना से अनुकूलित किए गए थे।
  • Beir Benchmark: मूल्यांकन के लिए एक benchmark framework के रूप में उपयोग किया गया।
  • Contriever: Retrieval-Augmented Generation (RAG) क्षमताओं के लिए उपयोग किया गया।
  • llms-attacks: adversarial training के लिए कुछ कार्यान्वयन इस रिपॉज़िटरी से प्राप्त किए गए थे।
टूल डाउनलोड करें