TL; डॉ
१ मे ते ६ मे २०२६ दरम्यान, एकच एनपीएम पब्लिशर, alone5511आठ शून्य-अवलंबित्व असलेले पॅकेजेस पुश केले जे लक्ष्यित असल्याचे दिसते मायक्रोसॉफ्ट / अझ्युर-शैलीतील अंतर्गत पॅकेज नेमस्पेस.
पॅकेजेसने वापरलेली नावे जसे की cosmos-explorer, ms.analytics-web, icons.generated, latency-tracking-internal, carbonite-internalआणि carboniteappअनेक आवृत्त्यांमध्ये उच्च सेम्वर मूल्यांचा वापर केला गेला जसे की 99.9.0 आणि 99.9.13खाजगी अंतर्गत पॅकेजेसना मागे टाकण्यासाठी तयार केलेली ही एक सामान्य डिपेंडेंसी-कन्फ्युजन युक्ती आहे.
प्रकाशकाने १ मे ते ६ मे २०२६ दरम्यान सर्व आठ सिबलिंग पॅकेजेस npm वरून आधीच अप्रकाशित केले होते. थेट रजिस्ट्री मेटाडेटाने पुष्टी केली की टारबॉल्स आता npm CDN वरून HTTP 404 परत पाठवतात.
तथापि, क्लस्टर अजूनही महत्त्वाचा आहे.
कॅनोनिकल नमुन्यांमधील पेलोड, carbonite-internal:99.9.0 आणि carboniteapp:99.9.0, इंस्टॉलच्या वेळी याच्या माध्यमातून चालते preinstall हुक. हे होस्ट फिंगरप्रिंट डेटा गोळा करते, मशीनचा सार्वजनिक आयपी मिळवते api.ipify.orgएक बनावट “प्रो-लेव्हल इंटेलिजन्स रिपोर्ट” तयार करतो, होस्टला चिन्हांकित करतो RCE VERIFIEDआणि टेलिग्राम बॉट API द्वारे टेलिग्राम बॉटला अहवाल पाठवते.
झायजेनीचे मालवेअर पूर्वसूचना (MEW) प्रणालीने ९१/१०० पेक्षा जास्त गुणांसह कॅनोनिकल नमुन्यांना संभाव्यतः दुर्भावनापूर्ण म्हणून वर्गीकृत केले.
आम्ही या प्रकरणाचा मागोवा घेत आहोत, की ही मायक्रोसॉफ्टच्या अंतर्गत नावांच्या डिपेंडन्सीमध्ये गोंधळ निर्माण करणारी मोहीम असून, यामध्ये इन्स्टॉलच्या वेळी होस्ट फिंगरप्रिंटिंग आणि टेलिग्राम बीकनची माहिती बाहेर काढणे (एक्सफिल्ट्रेशन) यांचा समावेश आहे.
क्लस्टर: आठ पॅकेजेस, एक प्रकाशक
प्रकाशक खाते alone5511 वापरलेला ईमेल पत्ता:
खात्याला सत्यापित ईमेल नव्हता, नाही SCM सत्यापन, आणि 2 चा एनपीएम प्रतिष्ठा स्कोअर.
संदर्भित गिटहब आयडेंटिटी, alonebeast002/beastcryptक्लस्टर संदर्भात देखील दिसून आले.
प्रकाशकाने सहा दिवसांच्या कालावधीत आठ संबंधित पॅकेजेस प्रसिद्ध केली. सर्व पॅकेजेस शून्य अवलंबित्व असलेली होती आणि एकाच सामान्य पद्धतीचे अनुसरण करत होती: लहान पॅकेज, इन्स्टॉल-टाइम स्क्रिप्ट, होस्ट फिंगरप्रिंटिंग आणि टेलिग्राम बीकनिंग.
| # | पॅकेज | दुर्भावनापूर्ण आवृत्ती | तयार केले, यूटीसी | अप्रकाशित, यूटीसी | पेलोडची पुष्टी झाली. | हुक स्थापित करा |
|---|---|---|---|---|---|---|
| 1 | कॉसमॉस-एक्सप्लोरर | 1.1.3 | 2026-05-01T18:26Z | 2026-05-01T19:01Z | अनुमानित, समान प्रकाशक / क्लस्टर | पूर्व-स्थापित, गृहीत |
| 2 | सिग्नल्सडीके-वेब | 1.0.0, 10.0.0 | 2026-05-04T13:57Z | 2026-05-04T18:51Z | अनुमानित | पूर्व-स्थापित, गृहीत |
| 3 | एमएस.ॲनालिटिक्स-वेब | 99.0.0, 99.9.13 | 2026-05-04T18:47Z | 2026-05-05T10:07Z | अनुमानित | पूर्व-स्थापित, गृहीत |
| 4 | चिन्हे.तयार केली | 99.9.13 | 2026-05-05T10:02Z | 2026-05-05T12:57Z | अनुमानित | पूर्व-स्थापित, गृहीत |
| 5 | विलंब-ट्रॅकिंग | 99.9.0 | 2026-05-05T11:57Z | 2026-05-05T12:57Z | अनुमानित | पूर्व-स्थापित, गृहीत |
| 6 | लेटन्सी-ट्रॅकिंग-इंटरनल | रजिस्ट्री रेकॉर्डमधून काढून टाकलेल्या आवृत्त्या | 2026-05-06T06:02Z | 2026-05-06T08:35Z | अनुमानित | पूर्व-स्थापित, गृहीत |
| 7 | कार्बनिटॲप | 99.9.0 | 2026-05-06T05:49Z | 2026-05-06T08:35Z | हो, संपूर्ण स्कॅनर कोड-फ्लो | पूर्व-स्थापित करा: नोड इंडेक्स.जेएस |
| 8 | कार्बोनिट-अंतर्गत | 99.9.0 | 2026-05-06T06:14Z | 2026-05-06T08:36Z | हो, संपूर्ण स्कॅनर कोड-फ्लो | पूर्व-स्थापित करा: नोड इंडेक्स.जेएस |
क्लस्टरमधील एकूण दुर्भावनापूर्ण आवृत्ती-टपल्स: 9+.
काही सिबलिंग पॅकेज रेकॉर्ड्समधून अनपब्लिश केल्यानंतर आवृत्त्या काढून टाकण्यात आल्या होत्या, ज्यामुळे केवळ सार्वजनिक रजिस्ट्री डेटावरून अचूक पुनर्रचना करणे मर्यादित होते.
नावे का महत्त्वाची आहेत
पॅकेजची नावे हा सर्वात मजबूत संकेत आहे.
ते अंतर्गत SDK, टेलीमेट्री, आयकॉन-जनरेशन, एक्सप्लोरर किंवा लेटन्सी-ट्रॅकिंग पॅकेजेससारखे दिसतात:
हे नाव सहज दिलेले नाही. हे ठरवून ठेवल्यासारखे दिसते. अवलंबित्व गोंधळ.
नंतरच्या अनेक पॅकेजेसमध्ये उच्च आवृत्ती क्रमांक वापरले गेले:
हे महत्त्वाचे आहे कारण डिपेंडेंसी-कन्फ्युजन हल्ले अनेकदा अंतर्गत खाजगी-रजिस्ट्री पॅकेजेसपेक्षा सार्वजनिक पॅकेजेसच्या उच्च आवृत्त्यांवर अवलंबून असतात. जर बिल्ड सिस्टीम चुकीच्या पद्धतीने कॉन्फिगर केली असेल, तर पॅकेज मॅनेजर अभिप्रेत असलेल्या अंतर्गत आवृत्तीऐवजी सार्वजनिक npm आवृत्ती निवडू शकतो.
प्रकाशक देखील कालांतराने अधिक आक्रमक होत असल्याचे दिसते.
सुरुवातीच्या पॅकेजेसमध्ये सामान्य दिसणाऱ्या आवृत्त्या वापरल्या गेल्या, जसे की 1.1.3 आणि 1.0.0नंतर पॅकेजेस आत हलवली गेली. 99.x.x आणि 99.9.xतो बदल, एखाद्या घटकाने अंतर्गत पॅकेज रिझोल्यूशन वर्तनासाठी मोहिमेत बदल केल्याच्या संकेताशी सुसंगत आहे.
इन्स्टॉलेशनच्या वेळी काय होते
प्रमाणभूत नमुने, carbonite-internal:99.9.0 आणि carboniteapp:99.9.0घोषित करा preinstall हुक:
याचा अर्थ असा की, npm आवश्यक गोष्टी स्थापित करणे पूर्ण करण्यापूर्वीच पेलोड चालतो.
इन्स्टॉलच्या वेळी मिळणारी ही सर्वात पहिली संभाव्य संधी आहे. डेव्हलपरला पॅकेज इम्पोर्ट करण्याची गरज नाही. बिल्डला ॲप्लिकेशन कोड कार्यान्वित करण्याची आवश्यकता नाही. केवळ इन्स्टॉल करणेच पुरेसे आहे.
पेलोड लहान, सुमारे २.४ केबी आहे आणि बीकनिंग पलीकडे त्याचा कोणताही कार्यात्मक उद्देश नाही.
पेलोड वर्तन
The index.js फाइल चार मुख्य क्रिया करते.
प्रथम, ते कॉल करते api.ipify.org होस्टचा सार्वजनिक आयपी पत्ता मिळवण्यासाठी:
दुसरे म्हणजे, ते Node.js OS API वापरून मूलभूत होस्ट फिंगरप्रिंटिंग डेटा गोळा करते:
तिसरे, ते गोळा केलेल्या डेटाला एका शाब्दिक बॅनरसह बहु-ओळी अहवालामध्ये स्वरूपित करते:
अहवालाचा शेवट असा होतो:
चौथे, ते एका माध्यमातून टेलिग्रामला अहवाल पाठवते. sendTelegram(report) Telegram Bot API एंडपॉईंट वापरून फंक्शन:
अचूक टेलिग्राम बॉट टोकन अप्रकाशित टारबॉलमध्ये जतन केलेले आहे आणि ते npm च्या अंतर्गत स्टोरेजमधून परत मिळवता आले पाहिजे.
“RCE VERIFIED” बॅनर का महत्त्वाचा आहे
अक्षरशः RCE VERIFIED मार्कर कार्यात्मकदृष्ट्या सूचक आहे.
पेलोड बॅकडोअर तैनात करत नाही. तो टिकून राहत नाही. तो थेट क्लाउड क्रेडेंशियल्स चोरत नाही. त्याऐवजी, तो पॅकेज इन्स्टॉलेशन दरम्यान कोड कार्यान्वित झाला होता याची पुष्टी करतो.
डिपेंडेंसी-कन्फ्युजन प्रूफ-ऑफ-एक्झिक्यूशन मोहिमेसाठी एवढे पुरेसे आहे.
जर हल्लेखोराला लक्ष्यित वातावरणातून टेलिग्राम संदेश मिळाला, तर त्यांना कळते की सार्वजनिक npm पॅकेज एका वास्तविक होस्ट, CI रनर, डेव्हलपर वर्कस्टेशन किंवा बिल्ड वातावरणात शोधून कार्यान्वित केले गेले आहे.
दुसऱ्या शब्दांत सांगायचे तर, मालवेअर केवळ होस्ट मेटाडेटा गोळा करत नाही. तर, ते लक्ष्यित पॅकेज रिझोल्यूशनचा गैरफायदा घेता येतो की नाही, हे तपासत आहे.
झायगेनी एमईडब्ल्यू वर्गीकरण
Xygeni MEW ने कॅनोनिकल नमुन्यांचे वर्गीकरण असे केले बहुधा दुर्भावनापूर्ण९१/१०० पेक्षा जास्त गुणांसह.
आढळलेल्यांमध्ये खालील गोष्टींचा समावेश होता:
| गंभीरता | शोध | याचा अर्थ |
|---|---|---|
| गंभीर | संवेदनशील_डेटा_गळती | req.write(data) होस्ट-फिंगरप्रिंट अहवाल एका आउटबाउंड टेलिग्राम POST मध्ये पाठवते. |
| उच्च | दुर्भावनापूर्ण_स्थापना_स्क्रिप्ट्स | प्रीइन्स्टॉल: node index.js इन्स्टॉलच्या वेळी बीकन ट्रिगर करते. |
| कमी | संशयास्पद_विनंती | api.ipify.org द्वारे सार्वजनिक बौद्धिक संपदा शोधणे |
| कमी | संशयास्पद_विनंती | टेलिग्राम बॉट एपीआय आउटबाउंड एंडपॉइंट |
| कमी | क्षुल्लक_पॅकेज | केवळ संकेत देण्यापलीकडे पॅकेजचा कोणताही अर्थपूर्ण उद्देश नाही. |
| माहिती | संवेदनशील_डेटा_गणना | अपटाइम, वापरकर्त्याची माहिती आणि होस्टनेम यांसारखे होस्ट तपशील सूचीबद्ध केले जातात. |
दोन्ही carbonite-internal:99.9.0 आणि carboniteapp:99.9.0 त्यामध्ये समान कोड-फ्लो आयडी आणि बाइट-समतुल्य इन्स्टॉल स्क्रिप्ट्ससह एकसारखे पेलोड होते.
MEW पब्लिशर-प्रोजेक्ट्स इंडेक्सने सर्व आठ पॅकेजेसना एकाच पब्लिशर / पेलोड क्लस्टरचा भाग म्हणून चिन्हांकित केले.
स्वयं-अप्रकाशित करण्याची पद्धत का महत्त्वाची आहे
प्रकाशित झाल्यानंतर काही मिनिटांपासून ते काही तासांच्या आत प्रकाशकाने आठही संबंधित पॅकेजेस अप्रकाशित केली.
ते वर्तन महत्त्वाचे आहे.
अधिकृत देखभालकर्ते कधीकधी पॅकेजेस अप्रकाशित करतात, परंतु येथील वेळ हल्लेखोराच्या साफसफाईसारखी दिसते. पॅकेजेस दिसू लागली, लक्ष्यित प्रणालीद्वारे ओळखली गेल्यास त्यांनी इन्स्टॉल-टाइम पेलोड कार्यान्वित केला आणि नंतर ती सार्वजनिक रजिस्ट्री ॲक्सेसमधून नाहीशी झाली.
त्यामुळे बचाव करणाऱ्या खेळाडूंसाठी दोन समस्या निर्माण होतात.
सर्वप्रथम, अनपब्लिश केल्यानंतर सार्वजनिक npm मेटाडेटा अपूर्ण होतो. काही आवृत्ती नोंदी काढून टाकल्या जाऊ शकतात किंवा त्यांची पुनर्रचना करणे अधिक कठीण होऊ शकते.
दुसरे म्हणजे, सध्याच्या रजिस्ट्री स्थितीवर अवलंबून असलेले संरक्षक, एक्सपोजरच्या कालावधीत उपस्थित असलेले परंतु आता इन्स्टॉल न करता येणारे पॅकेजेस चुकवू शकतात.
त्या कारणास्तव, npm ने फॉरेन्सिक्ससाठी अप्रकाशित टारबॉल्स अंतर्गतरीत्या जतन केले पाहिजेत. टेलिग्राम बॉट टारबॉल्समधील टोकन प्राप्त करणाऱ्या चॅनेलची गणना करण्यास आणि संभाव्य पीडितांची पुनर्रचना करण्यास मदत करू शकतात.
तडजोड आणि शोधाचे निर्देशक
प्रकाशक आणि खाते
| फील्ड | मूल्य |
|---|---|
| एनपीएम वापरकर्तानाव | alone5511 |
| एनपीएम प्रकाशक ईमेल | raistargaming703@gmail.com |
| एनपीएम प्रतिष्ठा | 2 |
| ईमेल सत्यापित | नाही |
| SCM सत्यापित | नाही |
| संदर्भित गिटहब ओळख | alonebeast002/beastcrypt |
प्रभावित पॅकेजची नावे
संशयास्पद आवृत्तीचे नमुने
डिपेंडेंसी-कन्फ्युजनच्या तपासात ह्या उच्च आवृत्त्या विशेषतः महत्त्वाच्या ठरतात, कारण त्या प्रायव्हेट पॅकेज आवृत्त्यांपेक्षा वरचढ ठरू शकतात.
नेटवर्क एंडपॉइंट्स
| प्रकार | मूल्य |
|---|---|
| सार्वजनिक आयपी तपासणी | https://api.ipify.org |
| गळती सिंक | https://api.telegram.org/bot<token>/sendMessage |
| बाहेर काढण्याची पद्धत | टेलिग्राम बॉट एपीआय पोस्ट |
पेलोड मार्कर
इन्स्टॉल स्क्रिप्टमध्ये या स्ट्रिंग शोधा:
तसेच हा मॅनिफेस्ट पॅटर्न देखील फ्लॅग करा:
विशेषतः यासोबत जोडल्यास:
- शून्य अवलंबित्व
- लहान पॅकेज आकार
- अंतर्गत दिसणारे पॅकेजचे नाव
- उच्च सेम्व्हर आवृत्ती
- होस्ट फिंगरप्रिंटिंग एपीआय
- टेलिग्राम बॉट एपीआय ट्रॅफिक
होस्ट फिंगरप्रिंटिंग एपीआय
कॅनोनिकल पेलोडमध्ये खालील गोष्टींचा वापर केला जातो:
ते यांपर्यंतही पोहोचते:
होस्टचा सार्वजनिक आयपी मिळवण्यासाठी.
शोध नोंदी
अनेक नियम ही मोहीम पकडू शकतात आणि त्याचे प्रकार बंद करू शकतात.
सर्वप्रथम, Telegram शी संपर्क साधणाऱ्या npm install स्क्रिप्ट्सवर लक्ष ठेवा:
पॅकेज इन्स्टॉल स्क्रिप्टने सहसा टेलिग्रामवर POST करू नये. जोपर्यंत एखादा अत्यंत स्पष्ट आणि तपासलेला अपवाद नसेल, तोपर्यंत याला आक्रमक कृती समजा.
दुसरे, ध्वज preinstall अंतर्गत नावांसारखी नावे असलेल्या, लहान आणि शून्य अवलंबित्व असलेल्या पॅकेजेसमध्ये स्क्रिप्ट्स.
लहान पॅकेज, उच्च सेम्व्हर आवृत्ती आणि अंतर्गत नेमस्पेस-शैलीतील नाव यांचे संयोजन हे डिपेंडेंसी-गोंधळाचे एक प्रबळ संकेत आहे.
तिसरे, कमी प्रतिष्ठा असलेल्या सार्वजनिक npm खात्यांद्वारे प्रकाशित केलेल्या खाजगी अभियांत्रिकी मॉड्यूल्ससारख्या दिसणाऱ्या पॅकेज नावांबद्दल सतर्क रहा.
या गटातील उदाहरणांमध्ये यांचा समावेश आहे:
चौथे, CI सिस्टीम आणि डेव्हलपर वर्कस्टेशन्सवर आठ पॅकेज नावांचे लॉकफाईल संदर्भ शोधा.
शोध:
कोणत्याही जुळणीमुळे डिपेंडेंसी-कन्फ्युजन रिव्ह्यू सुरू झाला पाहिजे.
सुचविलेल्या रजिस्ट्री कृती
अहवाल सादर करतेवेळी हा क्लस्टर आधीच अप्रकाशित होता. तथापि, अप्रकाशित केल्याने धोका नाहीसा होत नाही.
npm-संबंधित शिफारस केलेल्या कृती:
- अप्रकाशित करण्याची कारवाई ही देखरेख करणाऱ्याच्या कायदेशीर कृतीऐवजी हल्लेखोराने केलेली साफसफाई होती का, याची खात्री करा.
- प्रकाशकाचे खाते निलंबित करा किंवा त्यावर बंदी घाला
alone5511. - प्रकाशक, ईमेल पत्ता, पॅकेजची नावे आणि पेलोड मार्कर्स हे अब्यूज आणि सप्लाय-चेन ब्लॉकलिस्टमध्ये जोडा.
- न्यायवैद्यक तपासणीसाठी अप्रकाशित टारबॉल अंतर्गत स्टोरेजमध्ये जतन करा.
- जतन केलेल्या टारबॉलमधून टेलिग्राम बॉट टोकन काढा.
- शक्य असेल तिथे, प्राप्त होणारा चॅनल ओळखण्यासाठी आणि संभाव्य पीडितांच्या टेलिमेट्रीची पुनर्रचना करण्यासाठी टेलिग्रामचा वापर करा.
तडजोड प्रतिसाद तपासणी सूची
एक्सपोजर विंडो दरम्यान तुमच्या लॉकफाईल्स, बिल्ड लॉग्स, पॅकेज कॅशे किंवा CI इन्स्टॉल हिस्ट्रीमध्ये प्रभावित पॅकेजेसपैकी कोणतेही आढळल्यास, त्याला डिपेंडेंसी-कन्फ्युजन एक्झिक्युशन इव्हेंट समजा.
शिफारसित प्रतिसाद:
- पॅकेज कोठे स्थापित केले आहे ते ओळखा: स्थानिक वर्कस्टेशन, सीआय रनर, बिल्ड एजंट किंवा कंटेनर इमेज.
- लॉकफाईल्स, एनपीएम कॅशे, बिल्ड लॉग्स, शेल हिस्ट्री आणि पॅकेज मॅनेजर आउटपुट जतन करा.
- आउटबाउंड नेटवर्क लॉग तपासा
api.telegram.orgआणिapi.ipify.orgइन्स्टॉल करण्याच्या कालावधीत. - इन्स्टॉलेशन संवेदनशील व्हेरिएबल्स, क्रेडेन्शियल्स किंवा अंतर्गत नेटवर्क ऍक्सेस असलेल्या वातावरणात झाले आहे की नाही, याचे पुनरावलोकन करा.
- जर होस्ट एक विशेषाधिकार प्राप्त CI रनर किंवा डेव्हलपर वर्कस्टेशन असेल, तर इन्स्टॉल एनवायरनमेंटमध्ये उपलब्ध असलेले टोकन्स रोटेट करा.
- पब्लिक/प्रायव्हेट रजिस्ट्रीमधील गोंधळासाठी पॅकेज रिझोल्यूशन कॉन्फिगरेशनची तपासणी करा.
- स्कोप केलेले खाजगी पॅकेजेस आणि रजिस्ट्री पिनिंगची अंमलबजावणी करा.
- अंतर्गत नामकरण पद्धतींशी जुळणारे अमान्य सार्वजनिक पॅकेजेस ब्लॉक करा.
- जोडा guardrails इन्स्टॉल स्क्रिप्टसाठी, विशेषतः
preinstall,installआणिpostinstall.
बचावपटूंनी काय लक्षात ठेवावे
ही मोहीम तांत्रिकदृष्ट्या गुंतागुंतीची नाही. आणि नेमके म्हणूनच ती महत्त्वाची आहे.
पेलोड लहान, थेट आणि चालवायला सोपा आहे. हल्लेखोराला सातत्य किंवा प्रगत मालवेअरची गरज नसते. त्यांना फक्त एका चुकीच्या पद्धतीने कॉन्फिगर केलेल्या पॅकेज-रिझोल्यूशन पाथची आवश्यकता असते.
खरा धोका अवलंबित्व गोंधळाचा आहे.
परिचित वाटणारे अंतर्गत नाव, उच्च आवृत्ती क्रमांक आणि एक पॅकेज preinstall हुक सामान्य बनू शकतो npm install तुमच्या परिसराच्या आतून एका प्रकाशस्तंभात रूपांतरित व्हा.
कारण DevSecOps संघांनो, धडा स्पष्ट आहे: अंतर्गत पॅकेजची नावे ही संवेदनशील मालमत्ता आहेत. त्यांना हल्ल्यासाठी एक पृष्ठभाग म्हणून माना.
खाते-स्तरावरील अंमलबजावणी, ब्लॉकलिस्टिंग आणि अप्रकाशित टारबॉल जतन करण्यासाठी npm कडे तक्रार नोंदवली.





