Hugging Face से डाउनलोड करने से पहले AI-मॉडल की बैकडूर और छिपे हुए कोड की जाँच करें
सिर्फ 5 मिनट में Hugging Face के किसी भी मॉडल फ़ाइल को सीधे कमांड लाइन से स्कैन करें - ModelAudit स्कैनर pickle-फ़ाइलों, वेट और कॉन्फ़िग में दुर्भावनापूर्ण कोड, छिपे हुए सीक्रेट और नेटवर्क «बीकन» जाँचेगा, बिना मॉडल को लोड या चलाए।
- 1.सुनिश्चित करें कि कंप्यूटर पर Python का सही वर्शन मौजूद है। टर्मिनल खोलें (Windows में - PowerShell) और नीचे दी गई कमांड चलाएँ। ModelAudit के लिए Python 3.10 से 3.13 तक चाहिए।
अगर वर्शन 3.10 से कम या 3.13 से ज़्यादा है, तो python.org की आधिकारिक साइट से Python 3.12 इंस्टॉल करें - यह मुफ़्त है। अगर वर्शन की जगह कोई एरर आए, तो py --version (Windows) या python3 --version (macOS/Linux) ट्राई करें।
Python ↗प्रॉम्प्टpython --version
यह प्रॉम्प्ट क्या करता हैयह कमांड आपके कंप्यूटर पर इंस्टॉल किए गए Python का वर्शन नंबर दिखाती है। कुछ भी बदलने की ज़रूरत नहीं - बस कॉपी करके Enter दबाएँ। - 2.एक ही कमांड से ModelAudit स्कैनर इंस्टॉल करें:
अगर pip न मिले, तो pip3 install "modelaudit[all]" ट्राई करें। इंस्टॉल में 1 - 2 मिनट लगते हैं। इस दौरान मॉडल नहीं डाउनलोड होता और न चलता है - स्कैनर फ़ाइलों का स्टैटिक विश्लेषण करता है।
ModelAudit ↗प्रॉम्प्टpip install "modelaudit[all]"
यह प्रॉम्प्ट क्या करता हैयह कमांड ModelAudit स्कैनर को अलग-अलग मॉडल फ़ॉर्मैट (PyTorch, ONNX, TensorFlow, Keras, SafeTensors, GGUF आदि) के सभी मॉड्यूल के साथ इंस्टॉल करती है। कुछ भी बदलने की ज़रूरत नहीं है। - 3.जाँच लें कि स्कैनर इंस्टॉल हो गया है और उपलब्ध स्कैनरों की सूची देखें:
सूची में आपको लगभग 45 मॉड्यूल दिखेंगे: pickle-ओपकोड की जाँच, ZIP-आर्काइव, कॉन्फ़िग वगैरह। अगर कमांड न मिले, तो टर्मिनल बंद करके दोबारा खोलें।
ModelAudit ↗प्रॉम्प्टmodelaudit scan --list-scanners
यह प्रॉम्प्ट क्या करता हैयह कमांड सभी इन-बिल्ट स्कैनरों के ID दिखाती है - चाहें तो इन्हें चुन-चुन कर भी चला सकते हैं। कुछ भी बदलने की ज़रूरत नहीं है। - 4.Hugging Face के मॉडल को मैन्युअली डाउनलोड किए बिना स्कैन करें। ब्राउज़र से मॉडल का पता लें और प्लेसहोल्डर की जगह कमांड में डालें:
असली पते का उदाहरण: https://huggingface.co/bert-base-uncased - तब कमांड होगी modelaudit scan hf://bert-base-uncased. ModelAudit खुद मॉडल फ़ाइलों को टेम्पररी फ़ोल्डर में डाउनलोड करेगा, स्कैन करेगा और हटा देगा। अगर यह सर्विस आपके क्षेत्र में उपलब्ध न हो, तो मिरर इस्तेमाल करें या मॉडल फ़ाइल डाउनलोड करें
ModelAudit ↗प्रॉम्प्टmodelaudit scan hf://[मालिक_का_नाम]/[मॉडल_का_नाम]
यह प्रॉम्प्ट क्या करता है[मालिक_का_नाम]/[मॉडल_का_नाम] की जगह Hugging Face पेज से मॉडल का पता डालें। जैसे, पेज https://huggingface.co/microsoft/resnet-50 के लिए कमांड होगी: modelaudit scan hf://microsoft/resnet-50. स्कैनिंग में मॉडल के साइज़ के हिसाब से कुछ सेकंड से लेकर कुछ मिनट लग सकते हैं। - 5.नतीजा पढ़ें: स्कैनर हर फाइंडिंग (issues) और उसके खतरे के स्तर के साथ टेबल दिखाएगा। हरी पंक्तियाँ - जाँच पास, पीली/लाल - संदिग्ध जगहें: खतरनाक pickle-ओपकोड, एम्बेडेड लिंक और IP-पते, छिपे हुए API-की, Keras में Lambda जैसे संदिग्ध लेयर।
मेटाडेटा में huggingface.co जैसे URL वाली एकमात्र फाइंडिंग आम तौर पर ठीक है (मॉडल खुद की ओर इशारा करता है)। Error स्तर की लाल फाइंडिंग, खासकर कोड एग्ज़ीक्यूशन (code execution) से जुड़ी हों - यह इस मॉडल को छोड़कर दूसरा ढूँढने का संकेत है।
ModelAudit ↗ - 6.अगर मॉडल साफ़ है - डाउनलोड करके हमेशा की तरह इस्तेमाल करें। रिपोर्ट सेव करना चाहते हैं (जैसे सहकर्मियों या CI के लिए) - उसे JSON-फ़ाइल में निकालें:
JSON-रिपोर्ट में फाइंडिंग issues ऐरे में होती हैं - सिर्फ उन्हीं को गिनें; checks ऐरे वही समस्याएँ दोहराता है, उन्हें दो बार मत गिनें। कमांड्स की आधिकारिक डॉक्यूमेंटेशन promptfoo.dev साइट पर है।
ModelAudit ↗प्रॉम्प्टmodelaudit scan hf://[मालिक_का_नाम]/[मॉडल_का_नाम] --format json --output results.json
यह प्रॉम्प्ट क्या करता हैवही जाँच, लेकिन नतीजा आपके मौजूदा फ़ोल्डर में results.json फ़ाइल में सेव होता है। [मालिक_का_नाम]/[मॉडल_का_नाम] की जगह Hugging Face से मॉडल का पता डालें, जैसे स्टेप 4 में।
- मुफ़्तModelAuditओपन सोर्स टूल: इंस्टॉल और स्कैनिंग पूरी तरह मुफ़्त हैं, कार्ड की ज़रूरत नहीं।
- मुफ़्तHugging Face (मॉडल डाउनलोड)मॉडल डाउनलोड और रिपॉज़िटरी देखना मुफ़्त टियर में बिना किसी सीमा के मुफ़्त हैं; मॉडल पेजों के विजेट से ट्रायल रिक्वेस्ट भी मुफ़्त हैं, पर फ्रीक्वेंसी की सीमा के साथ।
आज ही क्यों
AI सेवाएँ तेज़ी से बदलती हैं - इंटरफ़ेस और मुफ़्त सीमाएँ बताए गए से अलग हो सकती हैं।