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

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

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

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

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

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
Cawdog — CAWODOG एक proof-of-concept परियोजना है जो दर्शाती है कि ऑफ़लाइन औद्योगिक मशीनों पर तैनात Python-आधारित AI मॉडलों की सुरक्षा कैसे की जाए। तीन क्रमिक चरणों (0 → 2) के माध्यम से, परियोजना दर्शाती है: * कैसे एक सरल Python AI एप्लिकेशन को आसानी से रिवर्स-इंजीनियर किया जा सकता है, * कैसे हमलावर पैकेज्ड बाइनरी से मॉडल निकाल सकते हैं, और * कैसे ONNX रूपांतरण, मॉडल एन्क्रिप्शन और एक अलग रनटाइम इंजन का उपयोग करके AI परिनियोजन को मज़बूत किया जाए। PoC एक चंचल डॉग-डिटेक्टर मॉडल (“Cat World Dominance Group”) का उपयोग करता है, ताकि वास्तविक औद्योगिक IP-सुरक्षा अवधारणाओं को स्पष्ट किया जा सके जो AI-संचालित नियंत्रण प्रणालियों, जैसे कि Starlinger के StarX प्लेटफ़ॉर्म, पर लागू होती हैं। यह साथ में दिए गए श्वेतपत्र “Hardening Python IP for Offline Industrial AI Deployments.” के लिए एक संदर्भ कार्यान्वयन के रूप में कार्य करता है। | Kitploit
उपकरण/GitLabGitLab/lycis/cawdog
एम्बेडेड सिस्टम सुरक्षास्थैतिक विश्लेषणएन्क्रिप्शन/डिक्रिप्शन उपकरणकोड विश्लेषणरिवर्स इंजीनियरिंगहार्डवेयर और IoT सुरक्षापेपर और शोधलर्निंग और शिक्षाAI सुरक्षा

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

सभी देखें →

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

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

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

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

विवरण

CAWODOG एक proof-of-concept परियोजना है जो दर्शाती है कि ऑफ़लाइन औद्योगिक मशीनों पर तैनात Python-आधारित AI मॉडलों की सुरक्षा कैसे की जाए। तीन क्रमिक चरणों (0 → 2) के माध्यम से, परियोजना दर्शाती है: * कैसे एक सरल Python AI एप्लिकेशन को आसानी से रिवर्स-इंजीनियर किया जा सकता है, * कैसे हमलावर पैकेज्ड बाइनरी से मॉडल निकाल सकते हैं, और * कैसे ONNX रूपांतरण, मॉडल एन्क्रिप्शन और एक अलग रनटाइम इंजन का उपयोग करके AI परिनियोजन को मज़बूत किया जाए। PoC एक चंचल डॉग-डिटेक्टर मॉडल (“Cat World Dominance Group”) का उपयोग करता है, ताकि वास्तविक औद्योगिक IP-सुरक्षा अवधारणाओं को स्पष्ट किया जा सके जो AI-संचालित नियंत्रण प्रणालियों, जैसे कि Starlinger के StarX प्लेटफ़ॉर्म, पर लागू होती हैं। यह साथ में दिए गए श्वेतपत्र “Hardening Python IP for Offline Industrial AI Deployments.” के लिए एक संदर्भ कार्यान्वयन के रूप में कार्य करता है।

GitLablycis/cawdog

Cawdog

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

CAWODOG – Python-आधारित औद्योगिक AI के लिए IP संरक्षण PoC

CAWODOG (Cat World Dominance Group) ऑफ़लाइन औद्योगिक मशीनों पर तैनात Python-आधारित AI मॉडलों की सुरक्षा के लिए एक मनोरंजक लेकिन यथार्थवादी proof-of-concept है।

मुख्य विचार:
कुत्तों (CAWODOG का "दुश्मन") का पता लगाने वाला एक छोटा इमेज क्लासिफायर लें, उसे एक सरल ऐप में लपेटें, और फिर तैनाती को IP चोरी के विरुद्ध उत्तरोत्तर हार्डन करें।

यह PoC एक आंतरिक श्वेतपत्र के साथी के रूप में डिज़ाइन किया गया है:

ऑफ़लाइन औद्योगिक AI तैनातियों के लिए Python IP को हार्डन करना


लक्ष्य

यह रिपॉजिटरी चरण-दर-चरण प्रदर्शित करती है:

  • एक सरल Python तैनाती से मॉडल चुराना कितना आसान है
  • Python एप्लिकेशन को UI बनाम इंजन में संरचित कैसे करें
  • निम्न का उपयोग करके इंजन को पैकेज और हार्डन कैसे करें:
    • Nuitka onefile बिल्ड
    • ONNX एक्सपोर्ट
    • मॉडल आर्टिफैक्ट की सममित एन्क्रिप्शन
  • प्रत्येक चरण में हमलावर के वर्कफ़्लो कैसे दिखते हैं

रिपॉजिटरी संरचना

.
├── 0/                     # Step 0 – Unhardened baseline
│   ├── model/             # Training + inference code
│   ├── app/               # Gradio-based web UI
│   ├── requirements.txt
│   └── (optional) build / run helpers
│
├── 1/                     # Step 1 – Packaged with Nuitka (Level 1)
│   ├── app/               # Same UI, adapted entrypoint
│   ├── model/             # Same model logic as step 0
│   ├── build.sh           # Nuitka onefile build script
│   └── requirements.txt
│
├── 2/                     # Step 2 – Encrypted ONNX model (Level 2)
│   ├── model/             # Training + ONNX export + encryption
│   ├── engine/            # Engine module (decryption + ONNX runtime + scoring)
│   ├── app/               # UI calling the engine only
│   ├── hardening/         # Encryption key + utilities (dev only)
│   ├── build.sh           # Nuitka onefile build script
│   └── requirements.txt
│
└── attacker/              # Attacker tooling (optional, for demo)
    ├── run_and_extract.sh # Finds Nuitka temp dir and lists contents
    ├── steal_model.sh     # Copies model file out of extracted payload
    └── use_stolen_model.py# Uses stolen model in a separate script

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

  • Python 3.13 (या 3.11+, यदि आप Nuitka बिल्ड को समायोजित करने का निर्णय लेते हैं)
  • एक कार्यशील वर्चुअल वातावरण (python -m venv .venv)
  • OS: macOS पर परीक्षण किया गया; Linux को मामूली बदलावों के साथ काम करना चाहिए
  • अनुशंसित: git, pip, और बुनियादी कमांड-लाइन परिचितता

अधिकांश चरणों के लिए आवश्यकता है:

pip install -r requirements.txt

चरण 0 – आधार रेखा (बिना हार्डनिंग)

फ़ोल्डर: 0/ लक्ष्य: एक प्रशिक्षित मॉडल और एक सरल वेब UI के साथ एक सादा Python ऐप। कोई सुरक्षा नहीं।

इसमें क्या शामिल है

  • एक छोटा इमेज क्लासिफायर (PyTorch + torchvision) जो इन्हें अलग करने के लिए प्रशिक्षित है:
    • dog बनाम not_dog
  • प्रशिक्षण स्क्रिप्ट (model_training.py) जो:
    • data/dog और data/not_dog को स्वतः train/validation में विभाजित करती है
    • एक मॉडल फ़ाइल सहेजती है, जैसे model/models/dog_model.pt
  • इन्फ़रेंस स्क्रिप्ट (model_inference.py) जो:
    • dog_model.pt लोड करती है
    • "dog" होने की प्रायिकता लौटाती है
    • एक साधारण "शत्रु स्कोर" की गणना एक खिलौना ह्यूरिस्टिक के रूप में करती है
  • Gradio ऐप (app/gradio_app.py) जो:
    • ब्राउज़र में इमेज अपलोड की अनुमति देता है
    • इन्फ़रेंस + शत्रु स्कोर को कॉल करता है
    • प्रायिकताएँ और CAWODOG परिणाम दिखाता है

चरण 0 को कैसे चलाएँ

रिपॉजिटरी रूट से:

cd 0
python -m venv .venv
source .venv/bin/activate          # on Windows: .venv\Scripts\activate
pip install -r requirements.txt
  1. डेटा तैयार करें:

    0/data/
      dog/
        <dog images>.jpg
      not_dog/
        <non-dog images>.jpg
    
  2. मॉडल प्रशिक्षित करें:

    python -m model.model_training
    

    यह कुछ इस प्रकार बनाएगा:

    model/models/dog_model.pt
    
  3. Gradio ऐप चलाएँ:

    python -m app.gradio_app
    
  4. मुद्रित URL खोलें (डिफ़ॉल्ट http://127.0.0.1:7860) और इमेज के साथ परीक्षण करें।

सुरक्षा गुण

  • मॉडल फ़ाइल सादे PyTorch वेट्स (.pt फ़ाइल) के रूप में संग्रहीत है।
  • सभी मॉडल लॉजिक और स्कोरिंग लॉजिक पठनीय Python में हैं।
  • कोई भी प्रोजेक्ट निर्देशिका को कॉपी करके सब कुछ पुनः उपयोग कर सकता है।

यह "पहले" वाली तस्वीर है।

चरण 1 – स्तर 1 हार्डनिंग (Nuitka Onefile)

फ़ोल्डर: 1/ लक्ष्य: Nuitka का उपयोग करके ऐप को एक एकल निष्पादन योग्य में पैकेज करें। सुरक्षा प्रभाव: यह इसे एक उत्पाद जैसा दिखाता है, लेकिन IP की सुरक्षा नहीं करता।

चरण 0 की तुलना में क्या बदलता है

  • Nuitka के लिए एक समर्पित प्रवेश बिंदु (जैसे app/main.py या cawodog_app.py)
  • बिल्ड स्क्रिप्ट (build.sh) जो:
    • निर्भरताएँ स्थापित करती है
    • Nuitka को --standalone और --onefile के साथ चलाती है
    • मॉडल फ़ाइल (dog_model.pt) को बंडल में शामिल करती है
  • परिणाम एक onefile बाइनरी है (जैसे cawodog_step1_nuitka)।

उदाहरण बिल्ड (सरलीकृत)

cd 1
source .venv/bin/activate
./build.sh

बिल्डिंग के बाद, आपको कुछ इस प्रकार मिलता है:

./cawodog_step1_nuitka

इसे चलाने से पहले की तरह Gradio UI शुरू होगा, लेकिन अब एक एकल निष्पादन योग्य से।

हमलावर सिमुलेशन (वैकल्पिक, attacker/ का उपयोग करके)

attacker फ़ोल्डर दिखाता है कि एक हमलावर कैसे:

  1. onefile बाइनरी चला सकता है (जो एक अस्थायी फ़ोल्डर में अनपैक होती है)
  2. $TMPDIR के अंतर्गत Nuitka onefile अनपैक निर्देशिका का पता लगा सकता है
  3. उस निर्देशिका से dog_model.pt कॉपी कर सकता है
  4. ऐप के बाहर भविष्यवाणियाँ चलाने के लिए use_stolen_model.py का उपयोग कर सकता है

मुख्य निष्कर्ष: स्तर 1 सार्थक सुरक्षा नहीं है। यह पैकेजिंग है, सुरक्षा नहीं।

चरण 2 – स्तर 2 हार्डनिंग (एन्क्रिप्टेड ONNX इंजन)

फ़ोल्डर: 2/ लक्ष्य: मॉडल स्तर पर वास्तविक IP सुरक्षा प्रस्तुत करें। सुरक्षा प्रभाव: प्रतिस्पर्धी केवल एक फ़ाइल कॉपी करके मॉडल का उपयोग नहीं कर सकते।

मुख्य अवधारणाएँ

  1. मॉडल प्रारूप रूपांतरण

    • PyTorch के ONNX एक्सपोर्ट का उपयोग करके dog_model.pt को dog_model.onnx में बदलें।
  2. मॉडल एन्क्रिप्शन

    • dog_model.onnx को AES-GCM के साथ एन्क्रिप्ट करके dog_model.enc बनाएँ
    • एक सममित कुंजी hardening/dev_model.key में संग्रहीत करें (PoC उद्देश्यों के लिए)
  3. इंजन एब्स्ट्रैक्शन

    • engine/core.py प्रस्तुत करें जो:

      • रनटाइम पर dog_model.enc को डिक्रिप्ट करता है
      • इसे ONNX Runtime में लोड करता है
      • predict_is_dog() और enemy_score() जैसे फ़ंक्शन उजागर करता है
  4. UI ऑर्केस्ट्रेटर के रूप में

    • app/gradio_app.py अब कच्ची मॉडल फ़ाइलें या आंतरिक विवरण नहीं देखता।
    • यह केवल इंजन फ़ंक्शन को कॉल करता है।

चरण 2 के लिए विशिष्ट वर्कफ़्लो

cd 2
python -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt
  1. मॉडल को प्रशिक्षित करें (या पुनः उपयोग करें) (चरण 0 के समान, लेकिन 2/ के अंदर):

    python -m model.model_training
    
  2. ONNX में एक्सपोर्ट करें:

    python -m model.export_to_onnx
    # produces model/models/dog_model.onnx
    
  3. ONNX मॉडल को एन्क्रिप्ट करें:

    python -m hardening.encrypt_model
    # produces model/models/dog_model.enc and hardening/dev_model.key
    
  4. Nuitka के साथ बिल्ड करें (build.sh के माध्यम से):

    ./build.sh
    

    पूरा होने पर एक कुंजी मुद्रित होगी। प्रोग्राम को एन्क्रिप्टेड मॉडल लोड करने के लिए आपको पर्यावरण चर CAWODOG_MODEL_KEY_HEX को उस कुंजी पर सेट करना होगा। कोई भी भिन्न कुंजी त्रुटि का परिणाम देगी।

  5. परिणामी onefile बाइनरी चलाएँ। UI को पहले जैसा ही व्यवहार करना चाहिए।

सुरक्षा गुण

  • डिस्क पर मॉडल फ़ाइल (dog_model.enc) एन्क्रिप्टेड है।
  • एक सामान्य हमलावर निम्न नहीं कर सकता:
    • dog_model.enc को सीधे PyTorch में लोड करना
    • मॉडल का सरलता से निरीक्षण या संशोधन करना
  • एक हमलावर को अब आवश्यकता होगी:
    • एन्क्रिप्शन कुंजी जानने की
    • AES-GCM डिक्रिप्शन लॉजिक को समझने की
    • ONNX फ़ाइल को निकालने और पुनर्निर्माण करने की

यह अभी भी हार्डवेयर रूट ऑफ़ ट्रस्ट से बंधा नहीं है, और एक कुशल रिवर्स-इंजीनियर अंततः मॉडल का पुनर्निर्माण कर सकता है, लेकिन स्तर 1 की तुलना में बाधा काफी अधिक है।

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