AI कोड असिस्टेंट ऐसे पैकेज नाम बता रहे हैं जो अस्तित्व में ही नहीं हैं, और हमलावर इन hallucinations (भ्रमों) को वास्तविक सप्लाई-चेन जोखिमों में बदल रहे हैं।
जब Lasso Security के सुरक्षा शोधकर्ता Bar Lanyado ने एक AI-संचालित कोडिंग टूल से Python क्लाइंट के बारे में पूछा, तो मॉडल ने huggingface-cli इंस्टॉल करने का सुझाव दिया। यह पैकेज एक काल्पनिक (phantom) नाम है; वास्तविक लाइब्रेरी huggingface_hub नाम से मौजूद है। खतरे को साबित करने के लिए, Lanyado ने PyPI (Python Package Index) पर इस फर्जी नाम को एक खाली प्लेसहोल्डर के रूप में रजिस्टर कर दिया। तीन महीनों के भीतर, इस प्लेसहोल्डर को 30,000 से अधिक डाउनलोड मिले, यह सार्वजनिक दस्तावेज़ों में दिखाई दिया और यहाँ तक कि Alibaba के रिपॉजिटरी से लिए गए कोड सैंपल्स में भी नज़र आया।
एक काल्पनिक पैकेज वास्तविक खतरा कैसे बन जाता है
- Prompt → hallucination – एक डेवलपर AI से मदद मांगता है। शोर-शराबे वाले इंटरनेट डेटा पर प्रशिक्षित मॉडल, एक सुनने में विश्वसनीय लगने वाला पैकेज नाम गढ़ देता है।
- Copy-paste → documentation – यह सुझाव किसी README, Stack Overflow उत्तर, या आंतरिक विकी (internal wiki) में शामिल हो जाता है। एक बार लिखे जाने के बाद, यह नाम पूरे समुदाय में फैल जाता है।
- Code integration – AI पर भरोसा करते हुए, डेवलपर उस नाम को requirements फ़ाइल में जोड़ देता है और उसे प्रोडक्शन में भेज देता है।
मौजूदा सुरक्षा उपाय इस समस्या को क्यों नहीं पकड़ पाते
स्टैटिक एनालिसिस टूल्स और वल्नरेबिलिटी स्कैनर्स ज्ञात CVEs और रिलीज़ इतिहास वाली लाइब्रेरीज़ की तलाश करते हैं। AI के सुझाव से पहले शून्य डाउनलोड वाला एक नया प्रकाशित पैकेज न तो CVE रखता है, न ही उसकी कोई प्रतिष्ठा होती है, और इसलिए वह सुरक्षित दिखाई देता है। मानक “क्या यह वर्ज़न असुरक्षित है?” वाला चेक 'false' परिणाम देता है, जिससे डेवलपर्स को सुरक्षा का एक झूठा अहसास होता है।
यह प्रयोग क्या साबित करता है
- AI द्वारा गढ़े गए नाम प्रोडक्शन तक पहुँचते हैं – 30,000 से अधिक डाउनलोड यह दर्शाते हैं कि डेवलपर्स वास्तव में इन काल्पनिक पैकेजों को डाउनलोड कर रहे हैं।
- Hallucinations दस्तावेज़ बन जाते हैं – एक बार जब कोई फर्जी नाम सार्वजनिक गाइड में आ जाता है, तो यह अनिश्चित काल तक बना रह सकता है, जिससे त्रुटि फैलती रहती है।
- रजिस्ट्रेशन करना बहुत आसान है – PyPI पर पैकेज प्रकाशित करने में कोई लागत नहीं आती और इसमें केवल कुछ मिनट लगते हैं, जिससे सप्लाई-चेन के दुरुपयोग की राह आसान हो जाती है।
प्रभावी रक्षात्मक कदम
- हर डिपेंडेंसी (dependency) को सत्यापित करें – किसी नई आवश्यकता को जोड़ने से पहले, पैकेज इंडेक्स में खोजें और पुष्टि करें कि नाम किसी मौजूदा, दस्तावेजीकृत लाइब्रेरी से मेल खाता है।
- आधिकारिक स्रोतों से क्रॉस-चेक करें – सुझाए गए नाम की तुलना वेंडर के रिपॉजिटरी या आधिकारिक इंस्टॉलेशन गाइड से करें।
- कम उपयोग वाले नए पैकेजों को उच्च जोखिम मानें – किसी भी ऐसी डिपेंडेंसी को मैन्युअल समीक्षा के लिए चिह्नित करें जिसके डाउनलोड बहुत कम हों या जिसकी रिलीज़ डेट बहुत हाल की हो।
आगे क्या ध्यान रखें
निष्कर्ष सरल है: AI का सुझाव कोई गारंटी नहीं है। हर नई डिपेंडेंसी को एक अनवेरिफाइड (unvetted) थर्ड-पार्टी कंपोनेंट की तरह मानें, उसकी उत्पत्ति (provenance) की पुष्टि करें, और किसी काल्पनिक पैकेज को प्रोडक्शन में शामिल करने से पहले सप्लाई चेन पर नज़र रखें।
