AI कोडिंग असिस्टेंट्स बहुत पहले ही साधारण ऑटो-कम्प्लीट विजेट्स से कहीं आगे निकल चुके हैं। वे आपके रिपॉजिटरी को इंडेक्स करते हैं, आपके एनवायरनमेंट वेरिएबल्स को पढ़ते हैं, शेल कमांड्स का सुझाव देते हैं, और आपके टर्मिनल में सुधार (fixes) सुझाते हैं। वे आपके सोर्स कोड, आपके लोकल टोकन, आपके क्लाउड CLI कॉन्फ़िगरेशन और आपकी SSH कीज़ के साथ एक ही मेमोरी स्पेस में रहते हैं। यह निकटता उन्हें बहुत ही प्रत्यक्ष रूप से आपके अटैक सरफेस (attack surface) का हिस्सा बनाती है, न कि केवल सैद्धांतिक रूप से।
अधिकांश टीमों ने इन टूल्स को जल्दबाजी में अपना लिया। एक डेवलपर एक एक्सटेंशन इंस्टॉल करता है, पर्सनल एक्सेस टोकन के साथ ऑथेंटिकेट करता है, और AI-जनरेटेड सुझावों को स्वीकार करना शुरू कर देता है। सुरक्षा समीक्षाएं (Security reviews) शायद ही कभी इसकी गति का मुकाबला कर पाती हैं। दो हालिया खतरे, Djinn Stealer और ChocoPoC, ठीक यही दिखाते हैं कि यह अंतर क्यों खतरनाक है।
वह पड़ोसी जिसकी आपने जांच करना भूल गए
सोचिए कि आपका असिस्टेंट वास्तव में कहाँ स्थित है। यदि आप GitHub Copilot, Cursor, Continue, या किसी समान टूल का उपयोग करते हैं, तो संभवतः आपके पास आपकी खुली फाइलों, आपके प्रोजेक्ट स्ट्रक्चर और कभी-कभी आपके पूरे लोकल फाइल सिस्टम तक रीड एक्सेस (read access) होता है। यह डिस्क पर अनुमानित स्थानों पर ऑथेंटिकेशन टोकन स्टोर करता है। यह आपके IDE के अंदर चलता है, जो स्वयं आपकी यूजर परमिशन के साथ चलता है। इसका मतलब है कि आपके वर्कस्टेशन को कॉम्प्रोमाइज करने वाला मैलवेयर (malware) क्रेडेंशियल्स की तलाश में भटकने की जरूरत नहीं है। AI असिस्टेंट ने पहले ही सभी महत्वपूर्ण कीज़ को एक सुविधाजनक स्थान पर इकट्ठा कर लिया है।
यह कोई काल्पनिक आर्किटेक्चरल खामी नहीं है। Djinn Stealer को ठीक इसी लेआउट का फायदा उठाने के लिए बनाया गया है। यह विशेष रूप से डेवलपर क्रेडेंशियल्स और AI टूल सेशन्स को निशाना बनाता है। फाइल सिस्टम के हर कोने को खंगालने के बजाय, यह उन टोकन के पीछे जाता है जो आपके कोडिंग वर्कफ़्लो को शक्ति देते हैं। यदि आपका असिस्टेंट GitHub, GitLab, या किसी क्लाउड प्रोवाइडर के लिए ऑथेंटिकेटेड है, तो उस सेशन को चुराने से हमलावर को कोड से कहीं अधिक मिलता है। यह उन्हें आपकी पहचान दे देता है। वे आपके नाम से कमिट (commits) पुश कर सकते हैं, प्राइवेट रिपॉजिटरी पढ़ सकते हैं, और उन्हीं APIs की जांच कर सकते हैं जिनका आप दैनिक रूप से उपयोग करते हैं।
Djinn Stealer: आपके साम्राज्य की चाबियों की तलाश
जब Djinn Stealer किसी मशीन पर पहुँचता है, तो यह एक चतुर चोर की तरह व्यवहार करता है जिसे पता होता है कि कौन से दराजों में अतिरिक्त चाबियाँ रखी हैं। यह AI टूल कॉन्फ़िगरेशन डायरेक्टरीज़, ब्राउज़र सेशन स्टोर्स और उन क्रेडेंशियल फाइलों की तलाश करता है जिन्हें डेवलपर्स महीनों के काम के दौरान इकट्ठा करते हैं। यह स्टिलर (stealer) जानता है कि आधुनिक डेवलपमेंट एनवायरनमेंट एक्सेस को केंद्रीकृत (centralize) करते हैं। आपके AI असिस्टेंट के लिए एक OAuth टोकन पैकेज रजिस्ट्रियों, कंटेनर रिपॉजिटरी और इंफ्रास्ट्रक्चर APIs तक पहुंच के साथ ओवरलैप हो सकता है।
जोखिम तब कई गुना बढ़ जाता है जब डेवलपर्स स्थानीय रूप से प्रूफ-ऑफ-कांसेप्ट (proof-of-concept) कोड का परीक्षण करते हैं। आप किसी सुरक्षा शोधकर्ता से एक दिलचस्प रिपॉजिटरी क्लोन करते हैं, यह देखने के लिए एक स्क्रिप्ट चलाते हैं कि यह कैसे काम करती है, और वह स्क्रिप्ट बैकग्राउंड में चुपचाप एक क्रेडेंशियल हार्वेस्टर (credential harvester) चला देती है। क्योंकि आपके AI असिस्टेंट के टोकन आपके होम डायरेक्टरी के तहत मानक पथों (standard paths) में रहते हैं, इसलिए स्टिलर README पढ़ने से पहले ही उन्हें निकाल (exfiltrate) सकता है। सबसे बुरा हिस्सा यह है कि ये टोकन अक्सर कॉर्पोरेट SSO को बायपास कर देते हैं क्योंकि वे प्रोडक्शन सिस्टम के लिए नहीं, बल्कि प्रोडक्टिविटी टूल्स के लिए बनाए गए थे।
ChocoPoC: जब डिपेंडेंसीज़ झूठ बोलती हैं
जहाँ Djinn Stealer घर में डकैती करता है, वहीं ChocoPoC मेल स्लॉट के माध्यम से चुपके से अंदर घुस आता है। यह खतरा Python डिपेंडेंसीज़ के अंदर दुर्भावनापूर्ण पथों (malicious paths) को छिपाता है, विशेष रूप से frint और skytext नामक पैकेज। पेलोड (payload) उस दृश्य स्क्रिप्ट में नहीं होता जहाँ एक सामान्य समीक्षा उसे पकड़ सके। इसके बजाय, यह खुद को और गहराई में दफना देता है,
