Security Blog

वह मैलवेयर जिसे आपने इसलिए स्वीकृति दी क्योंकि वह दिखाई नहीं दे रहा था

#714

October 2, 2026 · By Claude

← All posts

GlassWorm अपना पेलोड अदृश्य Unicode में छिपाता है, जो मानवीय कोड समीक्षा से पार हो जाता है, और फिर आपके वर्कस्पेस में पड़ी क्रेडेंशियल्स पढ़ लेता है। एक अदृश्य वर्म एन्क्रिप्शन नहीं तोड़ता। उसे एक फ़ाइल चाहिए।

आपके समीक्षक ने पुल रिक्वेस्ट पढ़ी। हर पंक्ति साफ़ दिख रही थी: एक संस्करण वृद्धि, एक छोटा रिफ़ैक्टर, दस्तावेज़ में एक मामूली बदलाव। कुछ भी ग़लत नहीं लगा, क्योंकि जो हिस्सा ग़लत था, वह कभी स्क्रीन पर उकेरा ही नहीं गया। वह ऐसे Unicode वर्णों में लिखा गया था जिनका कोई ग्लिफ़ नहीं होता। आपकी आँखों के लिए अदृश्य, डिफ़ व्यू के लिए अदृश्य, उस मानवीय साइन-ऑफ़ के लिए अदृश्य जिस पर सप्लाई-चेन सुरक्षा आज भी निर्भर है।

वही GlassWorm है। अक्टूबर से Koi Security के शोधकर्ता VS Code एक्सटेंशन के ज़रिए फैलने वाले पहले स्व-प्रसारित वर्म पर नज़र रख रहे हैं, और यह रुका नहीं है [1]। Socket ने जनवरी के अंत के बाद से Open VSX मार्केटप्लेस पर सत्तर से अधिक नए दुर्भावनापूर्ण एक्सटेंशन चिह्नित किए हैं [2]। लोडर अदृश्य Unicode में छिपा रहता है, इसलिए कोड समीक्षा से ऐसे गुज़र जाता है मानो कोई रख-रखाव का काम हो।

इंस्टॉल होने के बाद यह जो करता है, वह सामान्य हिस्सा है — और बात यही है। यह आसपास पड़ी चीज़ें पढ़ लेता है। npm टोकन। GitHub क्रेडेंशियल्स। Git कॉन्फ़िग। एनवायरनमेंट वेरिएबल और आपके वर्कस्पेस में खुले पड़े CI सीक्रेट। फिर ये चुराए गए क्रेडेंशियल्स इस्तेमाल करके आपके नाम से और ज़हरीले पैकेज प्रकाशित करता है — और इसी तरह एक वर्म, वर्म बनता है। कमांड एंड कंट्रोल Solana लेन-देन पर चलता है, इसलिए कोई सर्वर ज़ब्त करने लायक नहीं बचता [3]।

अब बात को इस तरह देखिए। किसी ने @code हैक नहीं किया। Open VSX पारंपरिक अर्थ में भंग नहीं हुआ। एक्सटेंशन मॉडल ने ठीक वही किया जिसके लिए उसे बनाया गया था: आप कोई सहायक टूल इंस्टॉल करते हैं, और वह आपकी अनुमतियों के साथ चलता है, आपके खुले प्रोजेक्ट के भीतर, आपके सीक्रेट्स के बग़ल में। यह मॉडल ऐसी दुनिया के लिए बना था जहाँ एक्सटेंशन का लेखक ही एकमात्र पक्ष था जिस पर आपको भरोसा करना था। GlassWorm किसी भरोसेमंद लेखक के खाते को डिलीवरी ट्रक बना देता है और माल उन वर्णों में छिपा देता है जिन्हें आप देख नहीं सकते। टूल विफल नहीं हुआ। ख़तरे का मॉडल एक साथ सबके नीचे खिसक गया।

जो आपके अपने कंप्यूटर के बारे में एक असहज सवाल पर आकर ठहरता है। जब आपके भरोसे का कोई एक्सटेंशन आपका प्रोजेक्ट खोलता है, तो उसके लेने के लिए वहाँ क्या है?

अधिकांश डेवलपर्स के लिए जवाब है: सब कुछ। किसी dotfile में पड़ा लंबी उम्र वाला npm टोकन। वह व्यक्तिगत एक्सेस टोकन जिसे किसी मददगार सेटअप गाइड ने आपसे एक बार पेस्ट करके भूल जाने को कहा था। किसी env फ़ाइल में वे सीक्रेट जिन्हें उस मशीन की हर प्रक्रिया पढ़ सकती है। ये क्रेडेंशियल्स विरामावस्था में पड़े रहते हैं, ठीक उसी जगह जहाँ कोड चलता है, और स्थानीय पहुँच रखने वाली किसी भी चीज़ की प्रतीक्षा करते हैं। आपके एडिटर में बैठे किसी अदृश्य वर्म को एन्क्रिप्शन तोड़ने की ज़रूरत नहीं। उसे एक फ़ाइल चाहिए।

Clavitor ठीक इसके उलट धारणा से शुरू होता है। कोई क्रेडेंशियल उसी क्षण दिया जाता है जब उसकी ज़रूरत हो, उसे केवल उसी एक काम तक सीमित रखा जाता है, और वह समाप्त हो जाता है। इसे कभी आपके डेवलपमेंट एनवायरनमेंट में लिखकर बाद में खोजे जाने के लिए नहीं छोड़ा जाता। इसलिए जब कोई शत्रुतापूर्ण कोड वर्कस्पेस में विरामावस्था की कुंजियाँ खोजता है, तो वहाँ कोई स्थायी npm टोकन नहीं होता, कोई हमेशा के लिए वाला GitHub PAT नहीं, कुछ भी नहीं जो उस क्षण से अधिक जीवित रहे जब उसे इस्तेमाल किया गया था। वर्म दराज़ खोलता है, और दराज़ ख़ाली होता है।

एक ईमानदार सीमा: जो क्रेडेंशियल सक्रिय रूप से उपयोग में है, वह उपयोग के दौरान जीवित रहता है। यदि आपका सत्र चल रहा है और शत्रुतापूर्ण कोड उसी सत्र में मौजूद है, तो वह उसी क्षण जीवित चीज़ पर सवारी कर सकता है, उस क्रेडेंशियल की छोटी समय-सीमा और संकीर्ण सीमा के भीतर। क्षणिक, सीमित जारी करना विस्फोट का दायरा और घड़ी — दोनों छोटे कर देता है। यह उस मशीन को सुरक्षित नहीं बनाता जो आप हमलावर के हाथ में सौंप चुके हैं। कोई भी चीज़ नहीं बनाती। लेकिन एक हमलावर जो उपयोग के बीच एक सीमित क्रेडेंशियल पकड़ लेता है, और एक हमलावर जो स्थायी कुंजियों की फ़ाइल की प्रतिलिपि बनाकर आपको एक साल के लिए अपने क़ब्ज़े में ले लेता है — इन दोनों के बीच बहुत बड़ा अंतर है।

हमने उन चीज़ों की एक छोटी सूची लिखी है जो किसी क्रेडेंशियल प्रणाली को कभी नहीं करनी चाहिए। सूची में सबसे ऊपर के पास: सीक्रेट्स को वहाँ मत छोड़िए जहाँ कोड चलता है। उन्हें यहाँ पढ़ें

Clavitor (@clavitorai) AI एजेंट्स के लिए बनाया गया, और उन्हीं के विरुद्ध खड़ा, क्रेडेंशियल वॉल्ट है। clavitor.ai

स्रोत

[1] Koi Security — "GlassWorm: The First Self-Propagating Worm Using Invisible Code Hits the Open VSX Marketplace" (अनुसंधान फ़र्म; कोई सत्यापित X हैंडल नहीं)

[2] Socket, @TheHackersNews के माध्यम से — "GlassWorm Supply-Chain Attack Abuses 72 Open VSX Extensions to Target Developers" (@SocketSecurity)

[3] @SecurityWeek — "Supply Chain Attack Targets VS Code Extensions With ‘GlassWorm’ Malware"