8 सितंबर को, NPM इकोसिस्टम के भीतर एक महत्वपूर्ण सॉफ्टवेयर सप्लाई चेन अटैक का पता चला, जिसने कई व्यापक रूप से उपयोग की जाने वाली JavaScript लाइब्रेरीज को प्रभावित किया। यह घटना पहली बार तब सार्वजनिक हुई जब लेजर (Ledger) के चीफ टेक्नोलॉजी ऑफिसर, चार्ल्स गुइलेमेट (Charles Guillemet) ने चेतावनी जारी की कि एक भरोसेमंद डेवलपर के Node Package Manager अकाउंट से छेड़छाड़ की गई थी। शुरुआती आकलन से पता चला कि एक अरब से ज़्यादा डाउनलोड्स छिपे हुए मैलवेयर के संपर्क में थे, जिसे क्रिप्टोकरेंसी चुराने के लिए डिज़ाइन किया गया था। हालांकि, बाद की जांचों से पता चला कि प्रभावित पैकेजों में सामूहिक रूप से 2.6 अरब से ज़्यादा साप्ताहिक डाउनलोड्स थे।

Supply Chain Attack Exposes Over 2 Billion
सप्लाई चेन अटैक से 2 अरब से ज़्यादा का खुलासा
यह अटैक "qix" नाम के एक डेवलपर के अकाउंट पर केंद्रित था, जो कई लोकप्रिय JavaScript लाइब्रेरीज को मेंटेन करता है। इनमें chalk, strip-ansi, color-convert, और debug शामिल हैं, जिनका उपयोग सर्वर-साइड और फ्रंट-एंड दोनों एनवायरनमेंट्स में अनगिनत प्रोजेक्ट्स में होता है। हमलावरों ने एक नकली सपोर्ट ईमेल के ज़रिए अकाउंट एक्सेस किया और लगभग 18 पैकेजों में मैलिशियस अपडेट्स पुश किए। ऑटोमेटेड डिपेंडेंसी इंस्टॉल्स के कारण, ब्रीच के कुछ ही घंटों में मैलवेयर तेज़ी से फैल गया।
गुइलेमेट ने समझाया कि मैलिशियस कोड को ट्रांजैक्शन्स के दौरान क्रिप्टोकरेंसी वॉलेट एड्रेस को साइलेंटली बदलने के लिए डिज़ाइन किया गया था। इसने उन यूज़र्स को जोखिम में डाला जो सॉफ्टवेयर वॉलेट्स पर निर्भर करते हैं, क्योंकि अगर वे ट्रांजैक्शन को अप्रूव करते समय यह नोटिस नहीं करते कि रिसीपिएंट एड्रेस बदल दिया गया है, तो वे फंड खो सकते हैं।
मैलवेयर क्रिप्टो क्लिपर और मेटामास्क
सिक्योरिटी रिसर्चर्स ने मैलवेयर को "क्रिप्टो क्लिपर" के रूप में पहचाना। यह ट्रांजैक्शन के विभिन्न चरणों में वॉलेट एड्रेस को बदलकर काम करता है। जिन मामलों में कोई वॉलेट डिटेक्ट नहीं होता है, मैलवेयर ब्राउज़र फंक्शन्स जैसे fetch और XMLHttpRequest में हुक करके डीसेंट्रलाइज्ड एप्लीकेशन्स के भीतर आउटगोइंग डेटा को मॉडिफाई करता है। यह इसे एप्लीकेशन डेटा के भीतर एड्रेस को स्कैन और ऑल्टर करने की अनुमति देता है।
अगर MetaMask जैसे वॉलेट एक्सटेंशन का पता चलता है, तो मैलवेयर ट्रांजैक्शन साइन होने से पहले उसे इंटरसेप्ट करके ज़्यादा डायरेक्ट हो जाता है। यह मेमोरी में वॉलेट एड्रेस को मॉडिफाई करता है ताकि जब यूज़र ट्रांजैक्शन की समीक्षा करे, तो धोखाधड़ी वाला एड्रेस पहले से ही मौजूद हो। मैलवेयर Levenshtein एल्गोरिथम पर निर्भर करता है, जो ऐसे एड्रेस जेनरेट करता है जो ओरिजिनल से मिलते-जुलते हों। यह समानता यूज़र्स द्वारा ऑल्टरेशन की पहचान करने की संभावना को कम करती है।

Supply Chain Attack Exposes Over 2 Billion
अटैक के पहले संकेत
डेवलपर्स को पहली बार अटैक के संकेत तब मिले जब बिल्ड सिस्टम्स ने एक अनपेक्षित एरर मैसेज दिया। error-ex नामक डिपेंडेंसी के आगे के निरीक्षण में ऑबफस्केटेड कोड का पता चला जिसमें checkethereumw नामक एक संदिग्ध फंक्शन था, जो Ethereum वॉलेट्स को टारगेट करने का संकेत दे रहा था। बाद में एनालिस्ट्स ने पुष्टि की कि मैलवेयर में Bitcoin, Ethereum, Solana, Tron, Litecoin, और Bitcoin Cash सहित कई ब्लॉकचेन पर वॉलेट एड्रेस के रेफरेंस थे।
प्रभावित पैकेजों में JavaScript इकोसिस्टम में सबसे ज़्यादा इस्तेमाल होने वाले कुछ पैकेज शामिल थे। अकेले Chalk को 300 मिलियन से ज़्यादा साप्ताहिक डाउनलोड्स मिलते हैं, debug को 350 मिलियन से ज़्यादा, और strip-ansi को 260 मिलियन से ज़्यादा। कुल मिलाकर, प्रभावित लाइब्रेरीज को हर हफ्ते सामूहिक रूप से 2.6 अरब से ज़्यादा बार डाउनलोड किया जाता है, जो डेवलपर कम्युनिटी में इसके प्रभाव की गहराई को दर्शाता है।
हार्डवेयर बनाम सॉफ्टवेयर वॉलेट्स
हालांकि संक्रमित लाइब्रेरीज में से कई सीधे क्रिप्टोकरेंसी प्रोजेक्ट्स से जुड़ी नहीं हैं, डिपेंडेंसी चेन्स में उनके इंटीग्रेशन का मतलब है कि यहां तक कि असंबंधित एप्लीकेशन्स भी उजागर हो सकते थे। क्रिप्टोकरेंसी वॉलेट्स और डीसेंट्रलाइज्ड एप्लीकेशन्स के साथ इंटरैक्ट करने वाले प्रोजेक्ट्स को सबसे ज़्यादा जोखिम में माना जाता है।
गुइलेमेट के अनुसार, क्लियर-साइनिंग फीचर्स वाले हार्डवेयर वॉलेट्स के यूज़र्स सुरक्षित रहते हैं क्योंकि ऐसे डिवाइस उन्हें अप्रूवल से पहले हर ट्रांजैक्शन को वेरिफाई करने की अनुमति देते हैं। इसके विपरीत, सॉफ्टवेयर वॉलेट्स के यूज़र्स को ज़्यादा जोखिम का सामना करना पड़ता है और उन्हें तब तक अत्यधिक सावधानी बरतने की सलाह दी जाती है जब तक कि डिपेंडेंसीज़ को पूरी तरह से रिव्यू और सुरक्षित न कर लिया जाए।
अटैकर और चुराई गई फंड्स का पता लगाना
अटैकर के क्रिप्टोकरेंसी एड्रेस की पहचान कर ली गई है और पब्लिक ब्लॉकचेन की ट्रांसपेरेंसी की बदौलत उन पर सक्रिय रूप से नज़र रखी जा रही है। ऑपरेशन से जुड़ा एक प्राइमरी Ethereum एड्रेस 0xFc4a4858bafef54D1b1d7697bfb5c52F4c166976 है, साथ ही कई अन्य बैकअप एड्रेस भी हैं। रिपोर्टिंग के समय तक, चुराई गई फंड्स को मूव नहीं किया गया था। यह मॉनिटरिंग लगातार एनालिसिस का अवसर प्रदान करती है, हालांकि चुराई गई संपत्तियों का पूरा दायरा अभी भी स्पष्ट नहीं है।

Supply Chain Attack Exposes Over 2 Billion
JavaScript और कम्युनिटी की भूमिका
JavaScript और web3 कम्युनिटी ने इस घटना को रोकने के लिए तेज़ी से काम किया है। प्रभावित पैकेजों के मैलिशियस वर्ज़न्स को रजिस्ट्री से काफी हद तक हटा दिया गया है, लेकिन उन प्रोजेक्ट्स के लिए जोखिम बना हुआ है जो अभी भी अपने लॉकफाइल्स के भीतर पुराने वर्ज़न्स पर निर्भर हो सकते हैं। डेवलपर्स को अपनी डिपेंडेंसीज़ का ऑडिट करने, सुरक्षित वर्ज़न्स लॉक करने और आगे के एक्सपोज़र को रोकने के लिए क्लीन बिल्ड्स को रीइंस्टॉल करने के लिए प्रोत्साहित किया जा रहा है।
सिक्योरिटी प्रोफेशनल्स डेवलपर्स को क्रेडेंशियल्स रोटेट करने, NPM और GitHub जैसे अकाउंट्स पर टू-फैक्टर ऑथेंटिकेशन लागू करने, और स्ट्रिक्ट वर्ज़न कंट्रोल बनाए रखने के लिए npm ci जैसे डिटरमिनिस्टिक इंस्टॉलेशन मेथड्स का उपयोग करने की भी सलाह देते हैं। इसके अतिरिक्त, यूज़र्स को सभी क्रिप्टोकरेंसी ट्रांजैक्शन्स को सावधानीपूर्वक वेरिफाई करने की सलाह दी जाती है, खासकर अगर वे सॉफ्टवेयर वॉलेट्स पर निर्भर हों।
अंतिम विचार
इस घटना को NPM इकोसिस्टम को प्रभावित करने वाले सबसे व्यापक ब्रीचेस में से एक बताया गया है। जबकि कम्युनिटी की प्रतिक्रिया अपेक्षाकृत तेज़ थी, यह अटैक आधुनिक सॉफ्टवेयर सप्लाई चेन्स की नाजुकता और ओपन-सोर्स कंपोनेंट्स पर व्यापक निर्भरता से पैदा होने वाले जोखिमों को रेखांकित करता है।
जैसा कि गुइलेमेट ने ज़ोर दिया, साइन करने से पहले हर ट्रांजैक्शन की समीक्षा करना आवश्यक है। यह ब्रीच एक रिमाइंडर के रूप में काम करता है कि एप्लीकेशन इंफ्रास्ट्रक्चर में गहराई से एम्बेडेड छोटे लाइब्रेरीज भी कॉम्प्रोमाइज होने पर महत्वपूर्ण अटैक वेक्टर्स बन सकते हैं। डेवलपर्स और यूज़र्स दोनों के लिए, web3 और सॉफ्टवेयर डेवलपमेंट इकोसिस्टम में सुरक्षा बनाए रखने के लिए निरंतर सतर्कता अब एक महत्वपूर्ण हिस्सा है।






