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

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

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

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

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

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
D-Scan — LLM आंतरिक अवस्थाओं और 100+ अटेंशन/प्रोबेबिलिटी फीचर्स का विश्लेषण करके RAG प्रणालियों में दस्तावेज़ विषाक्तता हमलों का पता लगाने वाले क्लासिफायर को प्रशिक्षित करता है। | Kitploit
उपकरण/GitHubGitHub/yingtaoren/d-scan
रक्षात्मक उपकरणमशीन लर्निंगAI सुरक्षाविसंगति का पता लगाना
GitHubyingtaoren/d-scan

D-Scan

LLM आंतरिक अवस्थाओं और 100+ अटेंशन/प्रोबेबिलिटी फीचर्स का विश्लेषण करके RAG प्रणालियों में दस्तावेज़ विषाक्तता हमलों का पता लगाने वाले क्लासिफायर को प्रशिक्षित करता है।

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

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

सभी देखें →

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

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

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

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

जब संदर्भ काटता है: दस्तावेज़-स्तरीय ध्यान पतन के माध्यम से RAG विषाक्तता का पता लगाना

D-SCAN, RAG (Retrieval-Augmented Generation) प्रणालियों में दस्तावेज़ विषाक्तता हमलों का पता लगाने के लिए एक विश्लेषण ढांचा है। यह जनरेशन के दौरान LLM की आंतरिक अवस्थाओं (टोकन प्रायिकताएं और ध्यान भार) को एकत्र करता है, बहु-आयामी विशेषताओं को निकालता है, और स्वच्छ तथा विषाक्त पुनर्प्राप्त दस्तावेज़ों के बीच अंतर करने के लिए वर्गीकरणकर्ताओं को प्रशिक्षित करता है।

1. स्थापना और आवश्यकताएं

पूर्वापेक्षाएँ

  • Python >= 3.9
  • CUDA-संगत GPU (8B-पैरामीटर मॉडल अनुमान के लिए >= 24GB VRAM की सिफारिश की जाती है)

मॉडल तैयारी

यह परियोजना डिफ़ॉल्ट रूप से Llama-3.1-8B-Instruct का उपयोग करती है। मॉडल को स्थानीय पथ पर डाउनलोड करें और collect_inner_state.py में MODEL_ID वेरिएबल को अपडेट करें:

MODEL_ID = "/your/path/to/Llama-3.1-8B-Instruct"

2. त्वरित शुरुआत

पूर्ण कार्यप्रवाह में तीन चरण होते हैं: आंतरिक अवस्थाएँ एकत्र करें → विशेषताएँ गणना करें → वर्गीकरणकर्ता प्रशिक्षित करें। प्रश्न और संबंधित पुनर्प्राप्त दस्तावेज़ https://huggingface.co/datasets/An998/D-SCAN पर प्रदान किए गए हैं।

चरण 1: मॉडल की आंतरिक अवस्थाएँ एकत्र करें

# Update configuration parameters in collect_inner_state.py, then run
python collect_inner_state.py

चरण 2: विशेषता मेट्रिक्स की गणना करें

# Analyze both attack and clean data, compute all features, and save results
python compute_feature.py \
    --attack_dir ./saved_reppl_weights_serial_query1_attack2_2wiki \
    --clean_dir ./saved_reppl_weights_serial_query1_pure1_5_2wiki \
    --output_dir ./analysis_results/2wiki_all \
    --max_attack_samples 3000 \
    --max_clean_samples 3000

चरण 3: वर्गीकरणकर्ता प्रशिक्षित करें और मूल्यांकन करें

fit_D-SCAN.ipynb खोलें और निम्नलिखित कार्यों के लिए कक्षों को क्रमिक रूप से निष्पादित करें:

  1. चरण 2 में उत्पन्न विशेषता डेटा लोड करें
  2. Logistic Regression / Random Forest वर्गीकरणकर्ताओं को प्रशिक्षित करें (5-Fold CV)
  3. परीक्षण सेट पर स्थानांतरण प्रदर्शन का मूल्यांकन करें

3. पाइपलाइन विवरण

3.1 डेटा संग्रह (collect_inner_state.py)

प्रत्येक प्रश्न-दस्तावेज़ इनपुट के लिए, LLM बहु-नमूना जनरेशन (डिफ़ॉल्ट: 10 नमूने, temperature=1.0) करता है और निम्नलिखित आंतरिक अवस्थाएँ एकत्र करता है:

फ़ील्डप्रकारविवरण
outer_ppl_probsList[Tensor]प्रत्येक नमूने के लिए टोकन जनरेशन प्रायिकता
inner_ppl_matrixList[List[Tensor]]प्रत्येक जनरेशन चरण पर इनपुट अनुक्रम पर ध्यान भार (लेयर-औसत)
doc_rangesDict[str, List[int]]इनपुट अनुक्रम में प्रत्येक दस्तावेज़ के लिए टोकन स्थिति सीमा
generated_sequencesList[List[int]]प्रत्येक नमूने के लिए उत्पन्न टोकन ID अनुक्रम

मुख्य कॉन्फ़िगरेशन पैरामीटर

MODEL_ID = "/path/to/model"     # Model path
NUM_SAMPLES = 10                # Number of samples per question
MAX_NEW_TOKENS = 50             # Maximum generated tokens
TEMPERATURE = 1.0               # Sampling temperature
data_type = 'pure1_5'           # Data type: 'pure1_5' (clean) or 'attack2' (attack)
dataset_name = 'hotpotqa'       # Dataset: 'hotpotqa', '2wiki', 'musique'

आउटपुट data_{batch_id}_reppl.pt फ़ाइलों और results_stats_*.jsonl सांख्यिकी फ़ाइलों के रूप में सहेजे जाते हैं।


3.2 विशेषता गणना (compute_feature.py)

एकत्रित आंतरिक अवस्थाओं से 10 श्रेणियों के साथ 100+ आयामी विशेषताएँ निकालता है। वर्गीकरणकर्ता इन विशेषताओं का उपयोग यह निर्धारित करने के लिए करता है कि किसी दिए गए क्वेरी के लिए पुनर्प्राप्त दस्तावेज़ों के बीच विषाक्त दस्तावेज़ मौजूद हैं या नहीं।

मेट्रिक अवलोकन

#श्रेणीक्लास नाम# विशेषताएँमुख्य विचार
1जनरेशन प्रायिकता सांख्यिकीPerplexityMetrics8विषाक्त दस्तावेज़ जनरेशन के दौरान मॉडल अनिश्चितता बढ़ा सकते हैं, जो प्रायिकता वितरण परिवर्तनों में परिलक्षित होता है
2ध्यान एन्ट्रॉपीAttentionEntropyMetrics4उच्च एन्ट्रॉपी = बिखरा हुआ ध्यान = संभावित परस्पर विरोधी जानकारी; निम्न एन्ट्रॉपी = केंद्रित ध्यान
3ध्यान संकेंद्रणAttentionConcentrationMetrics8Top-K अनुपात और Gini गुणांक के माध्यम से मापता है कि ध्यान कुछ टोकनों पर केंद्रित है या नहीं
4दस्तावेज़ ध्यान घनत्वDocumentAttentionDensityMetrics6ध्यान योग को दस्तावेज़ लंबाई से विभाजित करता है, ध्यान आवंटन में लंबाई पूर्वाग्रह को समाप्त करता है
5बहु-नमूना संगतताSampleConsistencyMetrics4विषाक्तता के तहत, नमूनों में ध्यान पैटर्न असंगत हो सकते हैं (कोसाइन समानता, JS विचलन)
6ध्यान गतिशीलताAttentionDynamicsMetrics4जनरेशन के दौरान प्रमुख-दस्तावेज़ स्विच की आवृत्ति और एन्ट्रॉपी परिवर्तन परिमाण
7टोकन-स्तरीय ध्यान उतार-चढ़ावTokenLevelAttentionMetrics16जनरेशन चरणों में प्रत्येक इनपुट टोकन स्थिति पर ध्यान की स्थिरता (std, एन्ट्रॉपी)
8उत्तर प्रायिकता गहन सांख्यिकीAnswerProbabilityMetrics18प्रायिकता क्वांटाइल, उच्च/निम्न प्रायिकता टोकन अनुपात, लॉग प्रायिकता, परप्लेक्सिटी, आदि
9प्रायिकता गतिशीलताProbabilityDynamicsMetrics14जनरेशन अनुक्रम में प्रवृत्ति ढलान, ऑटोकोरिलेशन, अस्थिरता, स्पाइक अनुपात
10क्रॉस-नमूना प्रायिकता संगतताCrossSampleProbabilityConsistencyMetrics13नमूनों में कोसाइन समानता, Pearson सहसंबंध, MSE, विचलन सूचकांक

विस्तृत मेट्रिक विवरण

1. PerplexityMetrics (जनरेशन प्रायिकता सांख्यिकी)

outer_ppl_probs (प्रत्येक उत्पन्न टोकन की प्रायिकता) से गणना की जाती है:

  • ppl_mean_prob: सभी उत्पन्न टोकनों में औसत प्रायिकता
  • ppl_std_prob: प्रायिकता मानक विचलन
  • ppl_min_prob: न्यूनतम प्रायिकता (चरम अनिश्चितता)
  • ppl_low_prob_ratio: निम्न-प्रायिकता टोकनों का अनुपात (<0.1)
  • ppl_cross_sample_var: नमूनों में औसत प्रायिकताओं का प्रसरण
  • ppl_coef_variation: भिन्नता का गुणांक (CV = std/mean)
  • ppl_skewness: प्रायिकता वितरण विषमता
  • ppl_kurtosis: प्रायिकता वितरण कर्टोसिस

2. AttentionEntropyMetrics (ध्यान एन्ट्रॉपी)

inner_ppl_matrix (प्रत्येक चरण पर ध्यान भार) से गणना की जाती है:

  • attn_entropy_mean/std/max: ध्यान वितरण एन्ट्रॉपी का माध्य, मानक विचलन, और अधिकतम
  • attn_entropy_cv: ध्यान एन्ट्रॉपी का भिन्नता गुणांक

3. AttentionConcentrationMetrics (ध्यान संकेंद्रण)

  • attn_top5/10/20_ratio_mean/std: Top-K% टोकनों द्वारा कैप्चर किया गया ध्यान हिस्सा
  • attn_gini_mean/std: ध्यान वितरण का Gini गुणांक (असमानता माप)

4. DocumentAttentionDensityMetrics (दस्तावेज़ ध्यान घनत्व)

  • doc_attn_dens_std/range/max/min: दस्तावेज़ों में ध्यान घनत्व का std, रेंज, अधिकतम, और न्यूनतम
  • doc_attn_dens_entropy: दस्तावेज़ ध्यान घनत्व वितरण की एन्ट्रॉपी
  • doc_attn_dens_temporal_var_mean: दस्तावेज़ ध्यान घनत्व का औसत अस्थायी प्रसरण

5. SampleConsistencyMetrics (बहु-नमूना संगतता)

  • sample_attn_consistency/std: टोकन-स्तरीय ध्यान की क्रॉस-नमूना कोसाइन समानता
  • sample_doc_consistency: दस्तावेज़-स्तरीय ध्यान की क्रॉस-नमूना कोसाइन समानता
  • sample_doc_js_divergence: दस्तावेज़-स्तरीय ध्यान का क्रॉस-नमूना JS विचलन

6. AttentionDynamicsMetrics (ध्यान गतिशीलता)

  • attn_doc_switch_mean/max: प्रमुख दस्तावेज़ स्विच गणना
  • attn_entropy_change_mean/std: चरण-वार ध्यान एन्ट्रॉपी परिवर्तन

7. TokenLevelAttentionMetrics (टोकन-स्तरीय ध्यान उतार-चढ़ाव)

टूल डाउनलोड करें