
शैक्षिक Python टार्गेट रेंज जो CVE-2026-22807 का अनुकरण करता है, जो मॉडल लोडिंग में TOCTOU के माध्यम से AI सप्लाई चेन RCE है। इसमें कमजोर लाइब्रेरी, PoC स्क्रिप्ट, और सुरक्षा अनुसंधान एवं शिक्षण के लिए डायनामिक पेलोड जनरेशन शामिल है।
⚠️ अस्वीकरण / Disclaimer
यह प्रोजेक्ट केवल सुरक्षा अनुसंधान और शैक्षिक उद्देश्यों के लिए है, जिसका उद्देश्य AI मॉडल लोडिंग प्रक्रिया में सप्लाई चेन हमले के सिद्धांत (Remote Code Execution) का प्रदर्शन करना है। कृपया उत्पादन वातावरण में उत्पन्न दुर्भावनापूर्ण मॉडल का उपयोग न करें, और इस प्रोजेक्ट को किसी भी अवैध हमले के लिए उपयोग करना सख्त वर्जित है। डेवलपर अनुचित उपयोग से उत्पन्न किसी भी कानूनी जिम्मेदारी को वहन नहीं करता है।
यह एक हल्का Python टार्गेट रेंज है, जिसका उपयोग CVE-2026-22807 (एक विशिष्ट AI सप्लाई चेन भेद्यता तर्क) का अनुकरण और पुनरुत्पादन करने के लिए किया जाता है।
यह टार्गेट रेंज प्रदर्शित करता है कि जब AI इन्फरेंस फ्रेमवर्क (जैसे vLLM, Transformers आदि) मॉडल लोड करते हैं तो टाइम-ऑफ-चेक टू-टाइम-ऑफ-यूज़ (TOCTOU) समस्या उत्पन्न होती है:
यदि लोडर trust_remote_code=False की जाँच करने से पहले, मॉडल आर्किटेक्चर (AutoConfig/AutoModel) को पार्स करने के लिए उपयोगकर्ता-प्रदत्त Python कोड को समय से पहले इम्पोर्ट कर लेता है, तो हमलावर सुरक्षा जाँच को बायपास करके रिमोट कोड एक्ज़ीक्यूशन (RCE) प्राप्त कर सकता है।
| फ़ाइल नाम | भूमिका | विवरण |
|---|---|---|
vulnerable_lib.py | 🎯 लक्ष्य (Victim) | भेद्य AI मॉडल लोडर लाइब्रेरी (MiniLLM) का अनुकरण करता है। गलत तर्क क्रम शामिल है। |
poc_dynamic.py | 🔫 हमलावर (Attacker) | स्वचालित हमला स्क्रिप्ट। दुर्भावनापूर्ण मॉडल निर्देशिका उत्पन्न करने और लोडिंग प्रक्रिया ट्रिगर करने के लिए जिम्मेदार। |
dynamic_evil_model/ | 📦 दुर्भावनापूर्ण पेलोड | स्क्रिप्ट चलाने के बाद स्वचालित रूप से उत्पन्न निर्देशिका, जिसमें config.json और इंजेक्टेड कोड वाला malicious.py शामिल है। |
सुनिश्चित करें कि Python 3.x स्थापित है। इस टार्गेट रेंज में कोई तृतीय-पक्ष लाइब्रेरी निर्भरता नहीं है।
हमला स्क्रिप्ट को सीधे चलाएँ, डिफ़ॉल्ट रूप से whoami कमांड निष्पादित होगा।
python poc_dynamic.py
अपेक्षित आउटपुट: आप कंसोल पर PWNED शब्द और वर्तमान सिस्टम उपयोगकर्ता नाम देखेंगे, उसके बाद प्रोग्राम "Remote code not allowed" अपवाद फेंकेगा। यह साबित करता है कि सुरक्षा बायपास हो गई है।
आप किसी भी सिस्टम कमांड को तर्क के रूप में स्क्रिप्ट में पास कर सकते हैं, और एक विशिष्ट "बम" उत्पन्न कर सकते हैं।
Windows उदाहरण (कैलकुलेटर खोलें):
python poc_dynamic.py calc
Linux/Mac उदाहरण (फ़ाइल देखें):
python poc_dynamic.py cat /etc/passwd
यह टार्गेट रेंज निम्नलिखित खतरनाक प्रक्रिया को पुनरुत्पादित करता है:
config.json पढ़ता है।auto_map फ़ील्ड का पता लगाता है, मॉडल क्लास की पुष्टि करने के लिए सीधे importlib के माध्यम से लक्ष्य Python फ़ाइल को इम्पोर्ट करता है।import तंत्र के कारण, दुर्भावनापूर्ण फ़ाइल के शीर्ष स्तर का os.system() तुरंत निष्पादित होता है।trust_remote_code की जाँच करता है। हालाँकि इस समय रोककर त्रुटि दिखाई जाती है, लेकिन हमला पहले ही पूरा हो चुका होता है।❌ कमजोर कोड (vulnerable_lib.py):
# 1. पहले कोड लोडिंग ट्रिगर करें (RCE यहाँ होता है)
self._resolve_model_class()
# 2. बाद में सुरक्षा जाँच करें (घोड़ा चोरी होने के बाद दरवाज़ा बंद करना)
if not self.trust_remote_code:
raise RuntimeError("Aborted!")
✅ सुधार समाधान:
# 1. पहले सुरक्षा जाँच करें
if not self.trust_remote_code and self._needs_remote_code():
raise RuntimeError("Aborted!")
# 2. जाँच पास होने के बाद ही कोड लोड करें
self._resolve_model_class()