झायजेनीने अलीकडेच २०२५ मधील सॉफ्टवेअर सप्लाय चेन हल्ल्यांच्या स्वरूपात एक चिंताजनक नमुना पाहिला आहे.दोन लोकप्रिय पॅकेज मॅनेजर्समध्ये उदयास येत आहे: पीपीआयआय आणि npmआमच्या चालू असलेल्या धोक्यांविषयीच्या गुप्त माहितीच्या प्रयत्नांचा एक भाग म्हणून,झायजेनीचे मालवेअर पूर्वसूचना (MEW) या टूलने पूर्वी दुसऱ्या रजिस्ट्रीवर अपलोड केलेल्या एका दुर्भावनापूर्ण पॅकेजचे एक वेगळे परंतु पद्धतशीरपणे समान उदाहरण ओळखले. हे प्रकरण अधोरेखित करते की, धोकादायक घटक कसे विकसित होत आहेत आणि विविध परिसंस्थांमध्ये हल्ल्याची तंत्रे कशी पुन्हा वापरत आहेत, विशेषतः याच्या माध्यमातून. दुर्भावनापूर्ण पायथन पॅकेजेस आणि दुर्भावनापूर्ण npm पॅकेजेसत्यामुळे ओपन सोर्स पुरवठा साखळींमध्ये दुर्भावनापूर्ण पॅकेजेस घुसण्याचा धोका वाढतो.
झायजेनीचे एमईडब्ल्यू: साम्य ओळखणे
झायजेनीचे MEW टूल हे ओपन-सोर्स रजिस्ट्रीवर प्रकाशित होताच, दुर्भावनापूर्ण पॅकेजेस, विशेषतः २०२५ मधील सॉफ्टवेअर सप्लाय चेन हल्ल्यांशी संबंधित पॅकेजेस शोधण्यासाठी आणि त्यांना चिन्हांकित करण्यासाठी तयार केले आहे. हे नवीन पॅकेजेसच्या संशयास्पद वर्तनाचे विश्लेषण करून कार्य करते.
या उदाहरणात, त्याने दोन ओळखले. दुर्भावनापूर्ण पायथन पॅकेजेस (graphalgo PyPI वर) आणि दुर्भावनापूर्ण npm पॅकेजेस (express-cookie-parser एनपीएमवर).
सॉफ्टवेअर सप्लाय चेन हल्ल्यांमध्ये दुर्भावनापूर्ण पायथन आणि एनपीएम पॅकेजेस (२०२५)
आपल्या अलर्ट्सना चालना देणाऱ्या सामायिक वैशिष्ट्यांचा शोध घेऊया:
टायपोस्वॅटिंग
त्या दोघांनी आधीपासूनच लोकप्रिय असलेल्या पॅकेजेसची नक्कल करण्याचा प्रयत्न केला.
- ग्राफाल्गो (पायपीआय): "ग्राफ आणि नेटवर्क तयार करण्यासाठी व हाताळण्यासाठी असलेले पायथॉन पॅकेज." नावाच्या वापरकर्त्याने अपलोड केले “लॅरीटेक” १३ जून, २०२५ रोजी, या पॅकेजने स्वतःला मूळ गैर-हानिकारक ग्राफाल्गो प्रकल्पाचा PyPi पर्याय म्हणून सादर केले, ज्याचे नंतर ग्राफडिक्ट असे नामकरण करण्यात आले.
- एक्सप्रेस-कुकी-पार्सर (एनपीएम)या पॅकेजने सुप्रसिद्ध 'cookie-parser' पॅकेजची नक्कल केली, इतकेच नव्हे तर त्याच्या वैशिष्ट्यांचीही हुबेहूब प्रतिकृती बनवली. README.md. अशा प्रकारचे सोंग घेणे, हा आधीपासून असलेल्या विश्वासाचा गैरफायदा घेण्याचा एक जुना डाव आहे.
संरक्षणाची पहिली फळी म्हणून अस्पष्टीकरण
दोन्ही पॅकेजेसनी त्यांचा दुर्भावनापूर्ण कोड मूळ फाइल्समध्ये लपवला होता. ग्राफलगोअस्पष्ट केलेला कोड यामध्ये आढळला /utils/load_libraries.py. बाबतीत एक्सप्रेस-कुकी-पार्सर, cookie-loader.min.js त्यात अस्पष्ट पेलोड समाविष्ट होता.
ऑबफस्केशनचा हा प्राथमिक स्तर सामान्यतः सहज तपासणी आणि स्टॅटिक विश्लेषणात अडथळा आणण्यासाठी वापरला जातो. हे ऑबफस्केशन बरेच सोपे होते: वारंवार ZLib कॉम्प्रेशन आणि बेस64 एन्कोडिंग. या प्रकारच्या ऑबफस्केशनवरून हे स्पष्टपणे दिसून येते की सॉफ्टवेअर आपले कार्य लपवण्याचा प्रयत्न करत आहे. इतर पुराव्यांसह, यामुळे Xygeni MEW ला पॅकेजेसना संभाव्य मालवेअर म्हणून वर्गीकृत करणे शक्य झाले. पुष्टीकरणाच्या टप्प्यात, आमच्या समीक्षकांनी त्वरित एक डीऑबफस्केशन स्क्रिप्ट तयार केली, ज्यामुळे स्पष्टपणे दुर्भावनापूर्ण असलेला ड्रॉपर टप्पा उघड झाला.
बहु-टप्प्यांची पेलोड डिलिव्हरी आणि एक सामायिक मूळ बिंदू
दोन्ही पॅकेजेस सुरुवातीच्या “ म्हणून कार्यरत होती”ड्रॉपर्स,” खऱ्या पेलोडसाठी पार्श्वभूमी तयार करत. त्यांनी एक सामान्य बाह्य “ सामायिक केले.बीफाइल यूआरएल:https://raw.githubusercontent.com/johns92/blog_app/refs/heads/main/server/.env.example
ही एकसारखी बाह्य सीड फाईल एकाच धोकादायक घटकाचा (threat actor) प्रबळ संकेत आहे. विशेष म्हणजे, या सीड फाईलमधील मजकूर साधे एन्व्हायर्नमेंट व्हेरिएबल्स (उदा., JWT_SECRET, PORT) असल्याचे दिसते, ज्यामुळे तिच्या वास्तविक कार्याबद्दल तपासणीत दिशाभूल होण्याची शक्यता आहे.
डीजीए सह डायनॅमिक सी२ रिझोल्यूशन
या दुर्भावनापूर्ण पॅकेजेसमध्ये आढळणारी एक अत्याधुनिक युक्ती म्हणजे कमांड अँड कंट्रोल (C2) सर्व्हरला गतिशीलपणे शोधण्यासाठी डोमेन जनरेशन अल्गोरिदम (DGA) चा वापर करणे. हे तंत्र, जे २०२५ मधील प्रगत सॉफ्टवेअर सप्लाय चेन हल्ल्यांमध्ये अनेकदा दिसून येते, सीड फाईलच्या सामग्रीमधून मिळवलेल्या SHA256 हॅशवर आणि इतर हार्डकोडेड मूल्यांवर अवलंबून असते. असे केल्याने, C2 पायाभूत सुविधा वारंवार बदलतात, ज्यामुळे पारंपरिक ब्लॅकलिस्टिंग खूप कमी प्रभावी ठरते. या प्रकरणात, npm व्हेरिएंटने एका निश्चित मूल्याचा वापर केला. 496AAC7E त्याच्या DGA लॉजिकचा भाग म्हणून.
सातत्य प्रस्थापित करणे
दोन्ही हल्लेखोरांनी बाधित सिस्टीमवर कायमस्वरूपी अस्तित्व निर्माण करण्याचा प्रयत्न केला. त्यांच्या रणनीतीमध्ये एक फाईल टाकणे, startup.py (पायपीसाठी) किंवा startup.js (npm साठी), विविध ऑपरेटिंग सिस्टीमवर (विंडोज, लिनक्स, मॅकओएस) सामान्य गूगल क्रोम वापरकर्ता डेटा डिरेक्टरीमध्ये.
अंमलबजावणीनंतरची स्वच्छता
पुरावे कमीत कमी ठेवण्यासाठी, दोन्ही दुर्भावनापूर्ण स्क्रिप्ट्सनी साफसफाईची कार्यवाही केली. यामध्ये त्यांच्या सुरुवातीच्या ड्रॉपर फाइल्स हटवण्याचा समावेश होता.load_libraries.py, cookie-loader.min.js) आणि वैध पॅकेज फाइल्समध्ये बदल करणे__init__.py, index.js) आता हटवलेल्या घटकांचे संदर्भ काढून टाकण्यासाठी.
दुर्भावनापूर्ण पायथॉन आणि एनपीएम पॅकेजेसमध्ये तडजोडीचे निर्देशक
- पायपीआय पॅकेज: ग्राफअल्गो (लॅरीटेक द्वारे प्रकाशित, १३ जून, २०२५)
- एनपीएम पॅकेज: एक्सप्रेस-कुकी-पार्सर (विशेषतः आवृत्ती 1.4.12)
- शेअर केलेल्या सीड यूआरएलमध्ये प्रवेश:
https://raw.githubusercontent.com/johns92/blog_app/refs/heads/main/server/.env.example
- स्थायी फाइलनावे:
startup.py(अजगर)startup.js(जावास्क्रिप्ट) - सामान्य स्थायी मार्ग (ओएस-अवलंबित)गुगल क्रोम वापरकर्ता डेटा डिरेक्टरीमध्ये (उदा.,
AppData\Local\Google\Chrome\UserData\Scripts\विंडोजवर,~/.config/google-chrome/Scripts/लिनक्सवर, इत्यादी).
सॉफ्टवेअर सप्लाय चेन हल्ल्यांमध्ये दुर्भावनापूर्ण पॅकेजेसपासून बचाव कसा करावा २०२५
विकसकांसाठी शिफारस केलेला दृष्टिकोन
ही घटना २०२५ मधील सॉफ्टवेअर सप्लाय चेन हल्ल्यांच्या बदलत्या धोक्याच्या स्वरूपाचा एक मौल्यवान अभ्यास आहे. यातून हे स्पष्ट होते की, दुर्भावनापूर्ण पायथॉन पॅकेजेस आणि दुर्भावनापूर्ण एनपीएम पॅकेजेस विश्वसनीय इकोसिस्टममध्ये कसे शिरकाव करू शकतात आणि अनेकदा खूप उशीर होईपर्यंत ते पकडले जात नाहीत. म्हणूनच, लवकर ओळख, स्मार्ट टूलिंग आणि सक्रिय सिस्टीम स्वच्छता हे आता कोणत्याही सुरक्षित डेव्हऑप्स वर्कफ्लोचे आवश्यक भाग आहेत. डेव्हलपर्सना खालील गोष्टींचा विचार करण्यास प्रोत्साहित केले जाते:
अवलंबित्व पुनरावलोकन
जर तुमच्या प्रकल्पांमध्ये समाविष्ट असेल ग्राफलगो or एक्सप्रेस-कुकी-पार्सरत्यांना हटवण्याची कारवाई करणे शहाणपणाचे ठरेल.
- PyPI साठी:
pip uninstall graphalgo - npm साठी:
npm uninstall express-cookie-parser
सिस्टम स्वच्छता
एक व्यापक सिस्टम स्कॅन करण्याचा विचार करा. तसेच, कोणत्याही अनपेक्षित गोष्टींसाठी सामान्य क्रोम युझर डेटा डिरेक्टरी पाथ स्वतः तपासणे उचित आहे. startup.py or startup.js फायली
सक्रिय सुरक्षा उपाय
- नवीन अवलंबित्वांचे मूल्यांकन कराएकीकरणापूर्वी नवीन पॅकेजेसचे सखोल मूल्यांकन करण्यासाठी एक नियमित पद्धत स्थापित करा, विशेषतः अपरिचित प्रकाशकांच्या पॅकेजेसवर लक्ष केंद्रित करा.
- सुरक्षा साधनांचे एकत्रीकरण कराझायजेनीच्या एमईडब्ल्यू सारखी साधने, इतर सॉफ्टवेअर कंपोझिशन ॲनालिसिस (SCA) उपाययोजना, संशयास्पद वर्तन आणि असुरक्षितता ओळखून संरक्षणाचा एक महत्त्वपूर्ण स्तर प्रदान करू शकतात.
- सर्वात कमी विशेषाधिकारकिमान विशेषाधिकाराच्या तत्त्वावर विकास वातावरण चालवल्याने तडजोडीचा संभाव्य परिणाम मर्यादित ठेवण्यास मदत होऊ शकते.
- नेटवर्क जागरूकताबाहेर जाणाऱ्या नेटवर्क ट्रॅफिकमधील असामान्य कनेक्शन्सचे निरीक्षण केल्यास काहीवेळा DGA-निर्मित C2 कम्युनिकेशन्स उघडकीस येऊ शकतात.
चे प्रमुख घटक load_libraries.py (ग्राफाल्गो कडून)
download_remote_content(): निर्दिष्ट URL वरून फायली मिळवण्याचे काम हाताळते.run_process(): बाह्य पायथन स्क्रिप्ट्स स्वतंत्रपणे कार्यान्वित करते, आणि गोपनीयता राखण्यासाठी आउटपुट दाबून ठेवते.get_output_file_path()कायमस्वरूपी startup.py फाईलसाठी सिस्टममधील आदर्श स्थान निश्चित करते.remove_self()अंमलबजावणीनंतर सुरुवातीच्या दुर्भावनापूर्ण फाइल्स आणि पॅकेजमधील बदलांच्या साफसफाईचे नियोजन करते.simple_shift_encrypt()/simple_shift_decrypt()संप्रेषण चॅनेल अस्पष्ट करण्यासाठी विशेष क्रिप्टोग्राफिक फंक्शन्स, जे DGA अंमलबजावणीसाठी अत्यावश्यक आहेत.load_libraries()सुरुवातीच्या डाउनलोडपासून ते अंतिम पेलोड कार्यान्वयन आणि क्लीनअपपर्यंतच्या संपूर्ण बहु-टप्प्यांच्या प्रक्रियेचे समन्वय साधणारे केंद्रीय कार्य.
परिणाम
MEW ने ओळखलेल्या इतर संभाव्य दुर्भावनापूर्ण पॅकेजेसप्रमाणेच, डिपेंडेंसी फायरवॉलने, ही दुर्भावनापूर्ण पॅकेजेस त्यांच्या डिपेंडेंसीमध्ये समाविष्ट करणाऱ्या वापरकर्त्यांना तात्काळ संरक्षित केले. पुष्टीकरणानंतर, आम्ही दोन्ही रजिस्ट्रींसाठी सूचना प्रक्रियेचे पालन केले, ज्यांनी पुनरावलोकनानंतर दोन्ही पॅकेजेस काढून टाकली.





