Log in to leave a comment
No posts yet
हाल ही में Axios लाइब्रेरी के हाईजैक होने और Shai-Hulud वॉर्म (worm) का प्रसार चौंकाने वाला है। इसने साबित कर दिया है कि एक विश्वसनीय मेंटेनर का खाता हैक होने से दुर्भावनापूर्ण कोड (malicious code) सीधे हमारे कोड बेस में घुस सकता है। एक स्टार्टअप के लिए, जहाँ कोई समर्पित सुरक्षा टीम नहीं होती, एक npm install के माध्यम से AWS एक्सेस की (access keys) चोरी होना किसी आपदा से कम नहीं है। हालाँकि, यदि आप सिस्टम स्तर पर सुरक्षा जाल बिछाते हैं, तो भले ही कोई दुर्भावनापूर्ण स्क्रिप्ट चलती है, आप डेटा के बाहर जाने का रास्ता काट सकते हैं।
भले ही हमलावर पैकेज इंस्टॉलेशन के समय दुर्भावनापूर्ण कोड चला दे, लेकिन यदि आप नेटवर्क स्तर पर अनधिकृत बाहरी ट्रांसमिशन को रोकते हैं, तो आप क्रेडेंशियल लीक होने के नुकसान को शून्य कर सकते हैं। AWS सुरक्षा समूह (Security Group) डिफ़ॉल्ट रूप से सभी आउटबाउंड ट्रैफ़िक की अनुमति देते हैं। यह हमलावर के सर्वर पर डेटा भेजने के लिए 'हाईवे' बिछाने जैसा है।
registry.npmjs.org जैसे स्वीकृत डोमेन को ही Host हेडर या SNI जानकारी के मिलान के आधार पर अनुमति दें।.env फाइलों का उपयोग बंद करें। AWS Secrets Manager का उपयोग करें और एक ऐसी लेयर बनाएँ जो एप्लिकेशन रनटाइम के दौरान केवल SDK के माध्यम से मेमोरी में सीक्रेट लोड करे।ऐसा करने से, Shai-Hulud 2.0 जैसे वॉर्म जो फाइल सिस्टम को स्कैन करके .env चुराने की कोशिश करते हैं, उनके हमलों को भौतिक रूप से निष्क्रिय किया जा सकता है।
हमले तब होते हैं जब डेवलपर की जानकारी के बिना निर्भरता ट्री (dependency tree) के भीतर संस्करण अपने आप बढ़ जाते हैं। npm install लचीले संस्करण श्रेणियों (^1.0.0) को हल करते समय package-lock.json को संशोधित करने का बड़ा जोखिम रखता है। आपको पैकेज मैनेजर की अखंडता सत्यापन सुविधा का बहुत सख्ती से उपयोग करना चाहिए।
.npmrc फ़ाइल में save-exact=true जोड़ें। यह सुनिश्चित करता है कि सभी पैकेज बिना कैरेट (^) के केवल सटीक संस्करण के साथ सहेजे जाएं।npm install को npm ci से बदलें। यदि यह package-lock.json से थोड़ा भी अलग होता है, तो यह इंस्टॉलेशन को अस्वीकार कर देगा और बिल्ड को तुरंत रोक देगा।package.json के overrides फ़ील्ड में "axios": "1.14.0" डालें। यह सभी अप्रत्यक्ष निर्भरताओं को भी सुरक्षित संस्करण पर स्थिर कर देगा।npm ci मौजूदा node_modules को हटा देता है और नए सिरे से इंस्टॉल करता है, जिससे दूषित फ़ाइलों के बचने की कोई गुंजाइश नहीं रहती। अतिरिक्त लाभ यह है कि निर्भरता गणना (dependency calculation) को छोड़ने के कारण बिल्ड की गति बढ़ जाती है।
चूंकि कोई व्यक्ति व्यक्तिगत रूप से हर पैकेज की जांच नहीं कर सकता, इसलिए पाइपलाइन को स्वयं 'वीटो' (veto) शक्ति देनी होगी। npm audit केवल ज्ञात CVE डेटाबेस को देखता है। ज़ीरो-डे हमलों या अज्ञात दुर्भावनापूर्ण गतिविधियों को पकड़ने में इसकी स्पष्ट सीमाएं हैं।
no-restricted-imports नियम का उपयोग करके Axios जैसी विशिष्ट लाइब्रेरी के उपयोग को रोकें और कोड स्तर पर केवल आंतरिक रूप से सत्यापित HTTP क्लाइंट का उपयोग करने के लिए मजबूर करें।Socket.dev जैसे व्यवहार-आधारित विश्लेषण को अपनाने से सुरक्षा घटनाओं के मामले में मैन्युअल जांच का समय हर हफ्ते 2 घंटे से अधिक बचाया जा सकता है।
| उपकरण का नाम | विश्लेषण विधि | प्रभाव |
|---|---|---|
| npm audit | CVE DB तुलना | डिफ़ॉल्ट टूल, स्थिर भेद्यता विश्लेषण |
| Socket.dev | व्यवहार-आधारित विश्लेषण | अज्ञात दुर्भावनापूर्ण कोड पैटर्न का पता लगाना |
| Harden-Runner | eBPF रनटाइम मॉनिटरिंग | बिल्ड सर्वर के संदिग्ध नेटवर्क अनुरोधों को रोकना |
यदि आपने हमले की खबर सुनी है, तो शायद पहले ही बहुत देर हो चुकी हो। यह देखने के लिए कि क्या आपका वातावरण प्रभावित हुआ है, सिस्टम लॉग और नेटवर्क गतिविधि रिकॉर्ड को स्कैन करें। दुर्भावनापूर्ण कोड आमतौर पर C2 सर्वर के साथ संवाद करने के लिए पहले DNS क्वेरी भेजता है। यह रिकॉर्ड सबसे ठोस सुराग है।
tcpdump का उपयोग करके उन अनुरोधों की खोज करें जिनमें sfrclak.com या plaincryptojs से संबंधित कीवर्ड शामिल हों। यदि मिलते हैं, तो उस उपकरण को तुरंत अलग (isolate) कर दें।ps -ef कमांड के साथ जांचें कि क्या npm की किसी चाइल्ड प्रोसेस के रूप में bun या powershell चल रहा है।हमलावर अपने निशान मिटाने की कोशिश करते हैं, लेकिन वे अक्सर node के अलावा कोई अप्रत्याशित प्रक्रिया बनाकर या .github/workflows/ के तहत अजीब YAML फाइलें डालकर अपनी उपस्थिति बनाए रखने की कोशिश करते हैं। आपको सावधानीपूर्वक जांचना चाहिए कि क्या कोई नई फाइल बनी है जो Git status में नहीं दिख रही है। नेटवर्क व्हाइटलिस्ट, npm ci, और रनटाइम विश्लेषण टूल के इस 3-चरणीय सुरक्षा जाल को व्यवस्थित करके, आप सुरक्षा समाचारों पर दिन भर चिंता करना काफी कम कर सकते हैं।