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

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

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

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

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

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
Priv-QDNN — क्वांटाइज़्ड न्यूरल नेटवर्क के प्राइवेसी मूल्यांकन के लिए रिसर्च कोडबेस: PTQ/QAT के अंतर्गत टारगेट/शैडो मॉडल को ट्रेन करता है और DP सुरक्षा उपायों के साथ मेंबरशिप-इन्फरेंस हमले (MIA, RMIA, व्हाइट-बॉक्स) चलाता है। | Kitploit
उपकरण/GitHubGitHub/jefffffffu/priv-qdnn
गोपनीयतामशीन लर्निंगपेपर और शोधलर्निंग और शिक्षाAI सुरक्षा
GitHubjefffffffu/priv-qdnn

Priv-QDNN

क्वांटाइज़्ड न्यूरल नेटवर्क के प्राइवेसी मूल्यांकन के लिए रिसर्च कोडबेस: PTQ/QAT के अंतर्गत टारगेट/शैडो मॉडल को ट्रेन करता है और DP सुरक्षा उपायों के साथ मेंबरशिप-इन्फरेंस हमले (MIA, RMIA, व्हाइट-बॉक्स) चलाता है।

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

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

सभी देखें →

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

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

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

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

Priv-QDNN

यह रिपॉज़िटरी क्वांटाइज़्ड डीप न्यूरल नेटवर्क के प्राइवेसी मूल्यांकन के लिए एक शोध कोडबेस है। यह सामान्य पोस्ट-ट्रेनिंग क्वांटाइज़ेशन (PTQ) और क्वांटाइज़ेशन-अवेयर ट्रेनिंग (QAT) सेटिंग्स के अंतर्गत टारगेट/शैडो मॉडल के प्रशिक्षण, मध्यवर्ती हमला विशेषताओं को डिस्क पर सहेजने, और मेंबरशिप-इन्फरेंस-संबंधित हमलों और मेट्रिक्स (जैसे, MIA, RMIA, WhiteBoxMIA, WhiteBoxMIA_Partial) के एक सूट को चलाने का समर्थन करता है। कोडबेस रक्षित मॉडलों के लिए Opacus-आधारित डिफरेंशियल प्राइवेसी प्रशिक्षण पथों को भी एकीकृत करता है (जैसे, दिए गए उदाहरण स्क्रिप्ट्स में dropout / DP / adversarial वेरिएंट)।

मूल्यांकन वर्कफ़्लो दो चरणों में विभाजित है: (1) प्रशिक्षण (--training target|shadow|both) जो save/<attack_method>/... आर्टिफ़ैक्ट्स को भौतिक रूप देता है, और (2) केवल-हमला मूल्यांकन (--training None) जो सहेजे गए posteriors/मॉडलों को लोड करता है और result/<attack_method>/... के अंतर्गत मेट्रिक्स की रिपोर्ट करता है।

इंस्टॉलेशन

सामान्य प्रयोगों के लिए आपको NVIDIA GPU समर्थन वाली एक मशीन की आवश्यकता होगी। हम PyTorch के लिए CUDA 12.1 व्हील्स की सलाह देते हैं (नीचे दिए गए कमांड देखें)। requirements.txt में पिन किए गए वर्ज़न से मेल खाने के लिए Python 3.10 का उपयोग करें।

आप अधिकांश आवश्यकताओं को इसके साथ इंस्टॉल कर सकते हैं:

conda create --name priv-qdnn python=3.10
conda activate priv-qdnn
pip install -r requirements.txt --extra-index-url https://download.pytorch.org/whl/cu121

नोट्स:

  • केवल-CPU PyTorch के लिए, pip install -r requirements.txt को --extra-index-url के बिना चलाएँ (यदि आपके प्लेटफ़ॉर्म के लिए PyPI CPU व्हील्स उपलब्ध हों)।
  • यदि आप AdaRound / AIMET क्वांटाइज़ेशन पथों का उपयोग करते हैं, तो आपके पास एक कार्यशील aimet-torch इंस्टॉल होना चाहिए (देखें quantization/PTQ/adaround.py)। यदि pip आपके प्लेटफ़ॉर्म पर aimet-torch को हल नहीं कर पाता, तो पहले Qualcomm AIMET इंस्टॉलेशन निर्देशों का पालन करें, फिर शेष निर्भरताएँ इंस्टॉल करें।

डेटासेट

डेटासेट इस रिपॉज़िटरी में शामिल नहीं हैं। चार समर्थित हैं, और वे इस बात में भिन्न हैं कि उन्हें कितनी सेटअप की आवश्यकता होती है।

CIFAR-100 और CINIC-10 (स्वचालित)

दोनों को पहली बार उपयोग पर data/ में लाया जाता है, इसलिए किसी मैन्युअल चरण की आवश्यकता नहीं है — बस सुनिश्चित करें कि पहली बार प्रयोग चलाते समय मशीन में नेटवर्क पहुँच हो।

  • CIFAR-100 को data/load_data.py में torchvision.datasets.CIFAR100(..., download=True) द्वारा डाउनलोड किया जाता है।
  • CINIC-10 को Edinburgh DataShare मिरर से data/cinic10.py में fetch_cinic10() द्वारा डाउनलोड और निकाला जाता है। यह एक बड़ा संग्रह है, इसलिए पहली बार चलाने के लिए समय और डिस्क का बजट रखें।

Texas100 और Location (मैन्युअल)

इन दोनों में कोई स्वचालित डाउनलोडर नहीं है। कच्चे संग्रह प्राप्त करें, उन्हें data/<dataset>/raw/ के अंतर्गत अनपैक करें, फिर उन्हें उन .npy फ़ाइलों में परिवर्तित करें जिनकी लोडर अपेक्षा करते हैं।

डेटासेटकच्चा संग्रह
Texas100https://www.comp.nus.edu.sg/~reza/files/dataset_texas.tgz
Locationhttps://github.com/privacytrustlab/datasets (location सेट)

अनपैक करने के बाद अपेक्षित लेआउट:

data/texas/raw/texas/100/feats
data/texas/raw/texas/100/labels
data/location/raw/bangkok

फिर train/test splits बनाएँ:

python data/prepare_tabular.py --dataset both

--dataset texas, location, या both स्वीकार करता है। किसी भिन्न स्थान को इंगित करने के लिए --raw_root का उपयोग करें (डिफ़ॉल्ट data/<dataset>/raw), और विभाजन बदलने के लिए --test_size / --seed का उपयोग करें (डिफ़ॉल्ट 0.2 और 41)।

यह उन फ़ाइलों को लिखता है जिन्हें data/tabular_datasets.py लोड करता है:

data/<dataset>/{train_feats,train_labels,test_feats,test_labels}.npy

यदि ये .npy फ़ाइलें अनुपस्थित हैं, तो --dataset_name texas या --dataset_name location का उपयोग करने वाला कोई भी रन FileNotFoundError के साथ विफल हो जाता है जो अनुपस्थित पथ का नाम बताता है।

Priv-QDNN की कोड संरचना

  • attack: आक्रमण कार्यान्वयन और मूल्यांकन प्रवेश बिंदु (MIA, RMIA, WhiteBox_MIA, आदि)।
  • training: लक्ष्य/शैडो प्रशिक्षण लूप और रक्षात्मक प्रशिक्षण वेरिएंट (DP / adversarial शाखाएँ, उपयोगिताएँ)।
  • model: प्रशिक्षण और आक्रमणों द्वारा उपयोग की जाने वाली मॉडल परिभाषाएँ और रैपर।
  • quantization: PTQ/QAT क्वांटाइज़ेशन पाइपलाइन और हेल्पर (AIMET AdaRound एकीकरण सहित)।
  • data: डेटासेट डाउनलोड हेल्पर, तैयारी स्क्रिप्ट, और PyTorch Dataset रैपर।
  • dp: DP प्रशिक्षण पथों द्वारा उपयोग की जाने वाली विभेदक गोपनीयता उपयोगिताएँ।
  • example: एंड-टू-एंड प्रयोगों के लिए शेल स्क्रिप्ट (MIA डेटा संग्रह + केवल-आक्रमण मूल्यांकन / रक्षा)।
  • experiment: पेपर के विश्लेषण के पीछे के यांत्रिक अध्ययन — LOOD-शैली स्मरणीकरण स्कोर (memorization.py) और ग्रेडिएंट-नॉर्म क्वांटाइज़ेशन तालिकाएँ (grad_norm_quantization_table.py, grad_norm_range_normalized_table.py)।
  • plot: पेपर के लिए आकृति और तालिका निर्माण; आउटपुट PDF और CSV plot/figures/ में जाते हैं।
  • main.py: एकीकृत CLI प्रवेश (--training प्रशिक्षण और केवल-आक्रमण मोड के बीच स्विच करता है)।
  • parameter_parser.py: सभी कमांड-लाइन तर्क और डिफ़ॉल्ट।
  • extract_last_layer_grad_norm.py: सदस्य और गैर-सदस्य उपसमुच्चय के लिए अंतिम-परत क्लासिफायर ग्रेडिएंट के प्रति-नमूना L2 नॉर्म, जिन्हें experiment/ तालिकाओं द्वारा पुनः उपयोग किया जाता है।

डेमो प्रयोग

सदस्यता अनुमान डेटा संग्रह + केवल-आक्रमण MIA (CIFAR-100)

निम्नलिखित पैटर्न रिपॉज़िटरी के इच्छित वर्कफ़्लो से मेल खाता है: save/MIA/... को भरने के लिए MIA के साथ प्रशिक्षित करें, फिर --training None के साथ MIA चलाएँ।

# Stage 1: train target + shadow and save MIA artifacts
python main.py \
  --dataset_name cifar100 \
  --net_name resnet18 \
  --quantization hawq --a_bit 8 --w_bit 8 \
  --attack_method MIA \
  --training both \
  --num_epochs 50 --trials 3 \
  --device cuda:0

# Stage 2: attack-only MIA evaluation (confidence threshold attack only)
python main.py \
  --dataset_name cifar100 \
  --net_name resnet18 \
  --quantization hawq --a_bit 8 --w_bit 8 \
  --attack_method MIA \
  --compleaknr_attacks confidence \
  --training None \
  --trials 3 \
  --device cuda:0

प्रत्येक आक्रमण रन के लिए, कंसोल संबंधित आक्रमण कार्यान्वयन से प्रगति प्रिंट करेगा (उदा., MIA के लिए trial-वार मेट्रिक्स; केवल-आक्रमण रन result/MIA/... में सहेजे जाते हैं)।

कौन से ब्लैक-बॉक्स आक्रमण चलाने हैं, यह चुनना

--compleaknr_attacks केवल-आक्रमण MIA प्रविष्टि को नियंत्रित करता है:

  • confidence — केवल confidence threshold आक्रमण चलाता है। यह केवल सहेजे गए posteriors का उपभोग करता है, इसलिए यह तेज़ है और इसे किसी मॉडल फ़ाइल की आवश्यकता नहीं होती।
  • all (आर्ग्युमेंट का डिफ़ॉल्ट) — सभी छह ब्लैक-बॉक्स वेरिएंट चलाता है: confidence threshold, entropy threshold, modified entropy, दो train-आधारित आक्रमण (posteriors पर LR/RF, और posteriors plus label पर), और SAMIA।

ध्यान दें कि दोनों मोड की आवश्यकताएँ भिन्न हैं। पहले पाँच वेरिएंट केवल सहेजे गए posteriors पढ़ते हैं, लेकिन SAMIA अतिरिक्त रूप से सहेजे गए target और shadow मॉडल को save/MIA/.../target/<trial>/model.pth और save/MIA/.../shadow/0/model.pth से लोड करता है और आउटपुट संवेदनशीलता का अनुमान लगाने के लिए perturbed इनपुट पर उन्हें क्वेरी करता है। यह अभी भी ब्लैक-बॉक्स है इस अर्थ में कि केवल मॉडल आउटपुट का उपयोग किया जाता है — कोई gradients या आंतरिक activations नहीं — लेकिन इसके लिए उन checkpoints का उपस्थित होना आवश्यक है, और यह काफ़ी धीमा है।

यदि आप --compleaknr_attacks छोड़ देते हैं, तो सभी छह चलते हैं। जब आप केवल तेज़ पथ चाहते हैं या जब मॉडल checkpoints उपलब्ध नहीं हैं, तो ऊपर के अनुसार confidence को स्पष्ट रूप से पास करें।

बैच स्क्रिप्ट (defense + MIA)

आप इसके माध्यम से बड़े sweeps भी पुनरुत्पादित कर सकते हैं:

bash example/MIA_cifar100_train.sh
bash example/MIA_cinic10_train.sh
bash example/defense/run_adv.sh
bash example/defense/run_dp.sh
bash example/defense/run_dropout.sh
bash example/RMIA.sh

डिवाइस ID (cuda:*) और हाइपर-पैरामीटर को अपने क्लस्टर के लिए उन स्क्रिप्ट्स के अंदर संपादित करें।

डिफ़ेंस उदाहरण (CIFAR-100)

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