Shai hulud - npm packages - supply chain attack

शाई-हुलुद: एनपीएम पैकेज वर्म की व्याख्या

विषय - सूची

अवश्य पढ़ें पोस्ट

रुचि के नवीनतम पोस्ट

TL, डॉ

14 सितंबर, 2025 को शोधकर्ताओं ने पहचान की शाई-हुलुदएक स्व-प्रतिकृति करने वाला कीड़ा जो अंदर छिपा हुआ है एनपीएम पैकेजएक सामान्य निर्भरता अपडेट को पूर्ण पैमाने पर बदल देना आपूर्ति श्रृंखला हमलासबसे पहले देखा गया @ctrl/टिनीकलर डेनियल डॉस सैंटोस परेरा द्वारा बनाया गया पैकेज, शाई-हुलुड गुप्त जानकारियों को इकट्ठा करता है, उन्हें गिटहब रिपॉजिटरी और वर्कफ़्लो के माध्यम से लीक करता है, और चुराए गए क्रेडेंशियल्स का उपयोग करके खुद को रजिस्ट्री में पुनः प्रकाशित करता है। कुछ ही दिनों में, संक्रमित पैकेजों की संख्या दर्जनों से बढ़कर सैकड़ों हो गई, जिससे यह पुष्टि हो गई कि शैहुलुद यह सिर्फ एक और ट्रोजन नहीं है, बल्कि एक ऐसा वर्म है जिसे एनपीएम इकोसिस्टम में स्वचालित रूप से फैलने के लिए डिज़ाइन किया गया है।

प्रभाव: कोई भी डेवलपर या सीआई रनर जो सार्वजनिक एनपीएम पैकेज इंस्टॉल करता है, वह जोखिम में है।

तत्काल कार्रवाई: ज्ञात संस्करणों को ब्लॉक करें, केवल लॉकफ़ाइल-आधारित इंस्टॉलेशन पर स्विच करें, npm और GitHub टोकन को रोटेट करें, वर्कफ़्लो का ऑडिट करें और सुरक्षा उल्लंघन के संकेतकों (IoCs) की निगरानी करें।

क्या हुआ?

RSI npm पैकेजों में Shai-Hulud आपूर्ति श्रृंखला हमला यह हाल के समय की सबसे विनाशकारी घटनाओं में से एक है। अलग-थलग ट्रोजन के विपरीत, यह वर्म कई चीजों को मिलाता है। पहचान पत्र की चोरी, स्वचालित डेटा चोरी और स्व-प्रतिकृतिपरिणामस्वरूप, संक्रमण की समयसीमा हफ्तों से घटकर मात्र घंटों तक सीमित हो गई।

डेवऑप्स टीमों के लिए सबक स्पष्ट है: यदि प्रत्येक इंस्टॉलेशन कोड को निष्पादित कर सकता है, तो प्रत्येक निर्भरता अपडेट एक संभावित उल्लंघन बिंदु है।

संभावित प्रारंभिक वेक्टर और लक्षित क्रेडेंशियल

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

  • npm कॉन्फ़िगरेशन फ़ाइलें पसंद .npmrc, जिसमें अक्सर पब्लिश टोकन शामिल होते हैं।
  • पर्यावरण चर और GitHub PATs के साथ कॉन्फ़िगरेशन और CI/CD रहस्य।
  • क्लाउड मेटाडेटा एंडपॉइंट्स (AWS, GCP, Azure) जो पार्श्व स्थानांतरण के लिए अल्पकालिक क्रेडेंशियल प्रदान करते हैं।

इसलिए, क्रेडेंशियल की चोरी एक लॉन्चपैड बन गई। वैध npm टोकन और GitHub सीक्रेट्स की मदद से, Shai-Hulud बिना किसी अतिरिक्त मानवीय प्रयास के कई पैकेजों और रिपॉजिटरी में खुद को दोहरा सकता था।

शाई-हुलुद आपूर्ति श्रृंखला हमले का कार्यकारी प्रभाव

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

  • npm पब्लिश टोकन और GitHub सीक्रेट्स चुराना।
  • यह स्वयं को अन्य npm पैकेजों में पुनः प्रकाशित करता है।
  • स्थायीता के लिए दुर्भावनापूर्ण GitHub Actions वर्कफ़्लो जोड़ना।

कौन प्रभावित होता है:

सार्वजनिक npm पैकेज इंस्टॉल करने वाली कोई भी टीम खतरे में है। इसके अलावा, कैश्ड npm या GitHub टोकन वाले डेवलपर्स को भी भारी जोखिम का सामना करना पड़ता है। व्यापक दायरे वाले सीक्रेट्स का उपयोग करने वाले CI रनर भी असुरक्षित हैं।

व्यावसायिक जोखिम

व्यापार पर इसका प्रभाव तेजी से बढ़ता है। चोरी किए गए टोकन से अकाउंट हैक, पैकेज हाइजैकिंग और यहां तक ​​कि क्लाउड का दुरुपयोग भी हो सकता है। इसके अलावा, GitHub वर्कफ़्लो में निरंतरता के कारण इसे साफ़ करना कठिन हो जाता है। इसलिएटीमों को शाई-हुलुद की घटना को एक निरंतर घटना के रूप में लेना चाहिए, न कि बंद घटना के रूप में।

npm पैकेजों में शाई-हुलुद सप्लाई चेन अटैक कैसे काम करता है

हमलावर के उद्देश्य और मकसद

यह अभियान तीन चीजों को अनुकूलित करता है:

  • पहला उद्देश्य यह है कि बड़े पैमाने पर क्रेडेंशियल चुराएं डेवलपर लैपटॉप और CI रनर से प्राप्त जानकारी में npm पब्लिश टोकन, GitHub टोकन और क्लाउड क्रेडेंशियल शामिल हैं। वास्तव में, कई विश्लेषणों से व्यवस्थित रूप से गुप्त जानकारी इकट्ठा करने की पुष्टि होती है, जैसे कि TruffleHog चलाना और क्लाउड मेटाडेटा एंडपॉइंट्स से क्वेरी करना।
  • दूसरा उद्देश्य यह है कि स्वचालित रूप से प्रचारित करें समझौता किए गए मेंटेनर्स के प्रकाशन अधिकारों का दुरुपयोग करके। परिणामस्वरूप, एक जगह से शुरुआत करने पर जल्दी ही कई जगहें बन जाती हैं, क्योंकि अन्य पैकेजों के नए संक्रमित संस्करण बिना किसी अतिरिक्त मानवीय प्रयास के सामने आ जाते हैं।
  • तीसरा उद्देश्य यह है कि विश्वसनीय रूप से बने रहें और बाहर निकलें GitHub इंफ्रास्ट्रक्चर के माध्यम से। हमलावर डबल बेस64 का उपयोग करके "Shai-Hulud" नाम से एक सार्वजनिक रिपॉजिटरी बनाते हैं। डेटा.जेसनऔर इसके अतिरिक्त वे एक वर्कफ़्लो स्थापित करते हैं जो क्रमबद्ध करता है ${{ toJSON(secrets) }} और इसे एक स्टैटिक वेबहुक पर पोस्ट करता है।

इसके संभावित लाभों में रजिस्ट्रियों और सोर्स कोड तक दीर्घकालिक पहुंच, क्लाउड खातों में तेजी से स्थानांतरण और आपूर्ति श्रृंखला को और अधिक सशक्त बनाने का विकल्प शामिल है। सार्वजनिक रिपोर्टों से पता चलता है कि निजी रिपॉजिटरी को सार्वजनिक रिपॉजिटरी में परिवर्तित किया गया है। "-प्रवास" प्रत्यय, जो डेटा की पहुंच और गति को बढ़ाता है

शाई-हुलुद पेलोड के अंदर: बंडल.जेएस एनपीएम पैकेज में

शाई-हुलुद जहाज एक बड़ा, वेबपैक-बंडल किया गया और अत्यधिक छोटा किया गया जावास्क्रिप्ट फ़ाइल (बंडल.जेएस(लगभग 3–3.7 एमबी) जो एक से निष्पादित होता है पोस्टइंस्टॉल हुक इन package.json। फलस्वरूप, प्रत्येक इंस्टॉलेशन स्वचालित रूप से पेलोड को ट्रिगर करता है। यह डिज़ाइन पहचानकर्ताओं को छुपाता है, नियंत्रण प्रवाह को संकुचित करता है, और सभी लॉजिक को एक ही आर्टिफैक्ट में समाहित करता है जो इंस्टॉलेशन के दौरान निष्पादित होता है। विश्लेषक लगातार वेबपैक बंडलिंग, असामान्य फ़ाइल आकार और इंस्टॉलेशन के समय निष्पादन की पुष्टि करते हैं।

नमूनों में आपको अस्पष्टता और विश्लेषण-विरोधी लक्षण दिखाई देंगे:

  • लघुकृत मॉड्यूल ग्राफ संख्यात्मक मॉड्यूल आईडी, संक्षिप्त टिप्पणियाँ और सरलीकृत नियंत्रण प्रवाह के साथ। इसके अलावा, इस संरचना के कारण मैन्युअल समीक्षा करना बेहद कठिन हो जाता है।
  • स्ट्रिंग छिपाना बेस64 लेयर्स और कंस्ट्रक्शन हेल्पर्स के माध्यम से। उदाहरण के लिए।, बार-बार बेस64 एन्कोडिंग और डिकोडिंग आमतौर पर डेटा चोरी की प्रक्रियाओं के दौरान दिखाई देती है।
  • गतिशील प्रेषण पूज्य गुरुदेव के मार्गदर्शन से संपन्न कर सकते हैं - विकसित करना-शैली पैटर्न और जनरेटेड फ़ंक्शन बॉडी, जिससे कोड को रनटाइम पर व्यवहार बदलने में सक्षम बनाया जा सके।
  • ओएस फ़िल्टरिंग सीआई रनर्स और डेवलपर लैपटॉप पर विशेष रूप से लिनक्स और मैकओएस निष्पादन को प्राथमिकता दी जाती है।

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

Shai-Hulud में इंस्टालेशन के दौरान निष्पादन: npm पैकेज किस प्रकार समस्या उत्पन्न करते हैं

हमला तब शुरू होता है जब पोस्टइंस्टॉल नोड चलाता है बंडल.जेएस. इस बिंदु पर, स्क्रिप्ट मेमोरी में कार्यशील स्थिति को आरंभ और अनपैक करती है, जिससे वर्म के पूर्ण संचालन के लिए मंच तैयार होता है।

खोज और संकलन

  • यह पेलोड process.env फ़ाइल को डंप करता है और स्थानीय फ़ाइलों में उच्च-एंट्रॉपी वाले गुप्त डेटा और टोकन उपसर्गों की खोज करता है। इसके अतिरिक्त, यह TruffleHog चलाकर कवरेज का विस्तार करता है।
  • यह अल्पकालिक क्रेडेंशियल एकत्र करने के लिए क्लाउड मेटाडेटा एंडपॉइंट्स से क्वेरी करता है। उदाहरण के लिए: को कॉल करता है 169.254.169.254 AWS पर या metadata.google.internal जीसीपी पर पाए जाने वाले वायरस अक्सर संक्रमित होस्ट में दिखाई देते हैं।
  • नतीजतन, मिलने वाला कोई भी क्रेडेंशियल तुरंत नए एनपीएम पैकेज प्रकाशित करने या गिटहब वर्कफ़्लो को पुश करने के लिए उपयोग किया जा सकता है।

exfiltration

  • यह वर्म GitHub पर एक नया रिपॉजिटरी बनाता है जिसका नाम है शाई-हुलुद और एक डबल बेस64-एनकोडेड लिखता है data.json प्लेटफ़ॉर्म विवरण, पर्यावरण संबंधी जानकारी और गुप्त सूचनाओं के साथ। जैसा कि देखा जा सकता है, यदि रक्षकों को पता हो कि कहाँ देखना है, तो इस तरह के शोरगुल भरे व्यवहार को आसानी से पहचाना जा सकता है।
  • यह GitHub Actions वर्कफ़्लो भी स्थापित करता है, अक्सर एक शाखा पर जिसका नाम है शाई-हुलुदजो क्रमबद्ध करता है ${{ toJSON(secrets) }} और यह डेटा को एक स्टैटिक वेबहुक पर पोस्ट करता है। इसके अलावा, यह वर्कफ़्लो तब तक बना रहता है जब तक कोई इसे सक्रिय रूप से हटा नहीं देता।

प्रचार

  • किसी भी खोजे गए npm टोकन के साथ, पेलोड समझौता किए गए मेंटेनर के स्वामित्व वाले सभी पैकेजों को सूचीबद्ध करता है। फिर, यह प्रत्येक टारबॉल को फ़ेच करता है, bundle.js और एक पोस्टइंस्टॉल एंट्री इंजेक्ट करता है, और पैकेज को पुनः प्रकाशित करता है।
  • इसके परिणामस्वरूप, कुछ ही घंटों में दर्जनों संक्रमित पैकेज सामने आ सकते हैं, जिससे पूरे पारिस्थितिकी तंत्र में विस्फोट का दायरा कई गुना बढ़ जाता है।

दृढ़ता और जोखिम

  • यह वर्म दुर्भावनापूर्ण वर्कफ़्लो को चालू रखता है और कई मामलों में, निजी रिपॉज़िटरी को सार्वजनिक कर देता है। "-प्रवास" प्रत्यय। कुल मिलाकर, यह सुनिश्चित करता है कि हमलावर अपनी पकड़ बनाए रखे और डेटा लीक को अधिकतम करे।

मुख्य पहचान नोट
इस असामान्य उपयोग ${{ toJSON(secrets) }} एक्शन वर्कफ़्लो में यह दुर्लभ है। इसलिए, टीमों को शिकार के दौरान इसे एक उच्च-संकेत संकेतक के रूप में लेना चाहिए।

आपको जिस स्वच्छ कार्यप्रणाली पैटर्न की तलाश करनी चाहिए

इस असामान्य उपयोग सेवा मेरे JSON(रहस्य) इस घटना में की गई कार्रवाई एक महत्वपूर्ण संकेतक है।

उच्च-स्तरीय प्रसार छद्म-कोड (सुरक्षित, वर्णनात्मक)

विश्लेषकों ने इस चक्र को बड़े पैमाने पर देखा, जो संक्रमित पैकेजों की संख्या में दर्जनों से सैकड़ों तक की तीव्र वृद्धि की व्याख्या करता है।

यह पैकेज इकोसिस्टम में एक वर्म क्यों है?

वर्म एक प्रकार का मैलवेयर है जो बिना किसी मैन्युअल हस्तक्षेप के अपने आप फैलता है। ऑपरेटिंग सिस्टम में, वर्म आमतौर पर नेटवर्क की कमजोरियों का फायदा उठाकर एक मशीन से दूसरी मशीन तक पहुंचते हैं। इसके विपरीत, Shai-Hulud npm रजिस्ट्री के अंदर काम करता है। इसका प्रभावी मार्ग npm रजिस्ट्री के माध्यम से है। साख का पुन: उपयोग.

यह वर्म चोरी किए गए npm पब्लिश टोकन का फायदा उठाता है। वैध क्रेडेंशियल प्राप्त होते ही, यह उसी मेंटेनर के स्वामित्व वाले अन्य पैकेजों के तहत संक्रमित संस्करणों को पुनः प्रकाशित कर देता है। इसके बाद, ये पैकेज अनजान डेवलपर्स या CI रनर्स द्वारा इंस्टॉल कर लिए जाते हैं, और यह चक्र दोहराता रहता है।

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

“यह कैसे काम करता है” संक्षिप्त जानकारी

शाई-हुलुद के जीवनचक्र को संक्षेप में कहें तो, यहाँ एक निष्कर्ष दिया गया है।cisइसके मुख्य चरणों का विस्तृत विवरण:

  • एक पैकेज जिसमें पोस्टइंस्टॉल स्थापित है, और bundle.js निष्पादित करता है।
  • पेलोड पर्यावरण चरों को डंप करता है, फ़ाइलों और गिट इतिहास को स्कैन करता है, और चलाता है। ट्रफलहॉगऔर क्लाउड मेटाडेटा सेवाओं से क्वेरी करता है। परिणामस्वरूप, पाया गया कोई भी गुप्त डेटा तुरंत उपयोगी हो जाता है।
  • डेटा दो तरीकों से निकाला जाता है: पहला, एक सार्वजनिक रिपॉजिटरी बनाकर जिसका नाम है शाई-हुलुद डबल बेस64-एनकोडेड के साथ data.jsonदूसरा, GitHub Actions वर्कफ़्लो स्थापित करके जो पोस्ट करता है ${{ toJSON(secrets) }} वेबहुक के लिए।
  • चोरी किए गए किसी भी npm टोकन का उपयोग करके, यह वर्म प्रभावित मेंटेनर के स्वामित्व वाले अन्य सभी पैकेजों को उसी दुर्भावनापूर्ण हुक के साथ पुनः प्रकाशित कर देता है। इस तरह, संक्रमण तेजी से फैलता है।
  • अंततः, हमलावर के पास अधिक रहस्य होते हैं, फैलाने के लिए अधिक पैकेज होते हैं, और हठ GitHub खातों और रिपॉजिटरी के अंदर।

इस प्रकार के हमले से व्यावहारिक रूप से कैसे बचा जाए?

शाई-हुलुद एक चेतावनी है। टोकन चुराने और खुद को दोबारा प्रकाशित करने वाला एक वर्म भविष्य का खतरा नहीं है, बल्कि यह वर्तमान में सक्रिय है। npm पैकेज इकोसिस्टम आज। इस प्रकार की रोकथाम के लिए आपूर्ति श्रृंखला हमलाटीमों को ऐसे नियंत्रणों की आवश्यकता है जो प्रोग्राम करने योग्य, स्वचालित और सीधे लागू किए जा सकें। CI/CD pipelineये वही सुरक्षा उपाय हैं जिन्हें आप पहले से ही लागू कर सकते हैं। ज़ायजेनी.

खराब कलाकृतियों को द्वार पर ही रोकें

आपको npm पैकेज और tarball को डेवलपर्स या CI जॉब्स तक पहुंचने से पहले स्कैन करना चाहिए। bundle.js फाइलें, संदिग्ध पोस्टइंस्टॉल hooksऔर अस्पष्टीकरण चिह्न सभी शुरुआती चेतावनी के रूप में काम करते हैं। इसके अलावा, कूल-ऑफ अवधि और पिन किए गए संस्करणों को लागू करना भी आवश्यक है। pipelineयह सुनिश्चित करता है कि नए, अप्रमाणित रिलीज़ स्वचालित रूप से उपयोग में न आएं।

कठोर बनाना CI/CD डिफ़ॉल्ट रूप से

Guardrails in CI/CD ये आवश्यक हैं। ये उन मर्ज या इंस्टॉलेशन को अस्वीकार करते हैं जो नई स्क्रिप्ट या बाइनरीज़ पेश करते हैं। साथ ही, ये उन वर्कफ़्लो को ब्लॉक करते हैं जो सीक्रेट्स को सीरियलाइज़ करते हैं या बाहरी पोस्ट करने का प्रयास करते हैं। टीमों को लॉकफ़ाइल-ओनली इंस्टॉलेशन की भी आवश्यकता होनी चाहिए।npm ci) सभी के पार pipelineताकि निर्भरता सेट पुनरुत्पादनीय और सुरक्षित बने रहें।

टोकन विस्फोट त्रिज्या को कम करें

गुप्त जानकारी किसी एक विफलता का कारण नहीं बननी चाहिए। कोड, कॉन्फ़िगरेशन और अन्य चीज़ों को लगातार स्कैन करें। pipeline के लिए उत्पादन उजागर क्रेडेंशियलटोकन का दायरा सीमित होना चाहिए, उनकी समय सीमा कम होनी चाहिए और सुरक्षा उल्लंघन का पता चलने पर उन्हें स्वचालित रूप से बदल दिया जाना चाहिए। नियम के अनुसार, किसी भी ऐसे टोकन को असुरक्षित माना जाना चाहिए जिसका उपयोग किसी ऐसे होस्ट पर किया गया हो जिसने कोई संदिग्ध पोस्टइंस्टॉल गतिविधि की हो।

कीड़े के व्यवहार को शुरुआत में ही देखें

असंगति का पता लगाये यह महत्वपूर्ण है। उदाहरण के लिए, npm पब्लिश इवेंट्स में अचानक वृद्धि, बिना किसी कारण के दिखाई देने वाले नए वर्कफ़्लो, या अजीब एन्कोडेड फ़ाइलों से भरे नए सार्वजनिक रिपॉज़िटरी, ये सभी वर्म गतिविधि के संकेत हो सकते हैं। इसलिए, टीमों को तुरंत अलर्ट जारी करना चाहिए और ऐसे किसी भी मेंटेनर या रनर को अलग करना चाहिए जो ये चेतावनी संकेत दिखाते हैं।

बिल्ड को बाधित किए बिना जल्दी से ठीक करें

गति और सुरक्षा साथ-साथ चलनी चाहिए। स्वचालित pull requests यह दूषित npm पैकेजों को सत्यापित संस्करणों से बदल सकता है। इसके अलावा, गम्यता और शोषणशीलता विश्लेषण यह सुनिश्चित करता है कि अपग्रेड न्यूनतम और स्थिर रहें। अंत में, संक्रमण की पुष्टि हो जाने पर प्रभावित CI रनर्स को स्वच्छ छवियों से पुनर्निर्मित करें, जिससे हमले को आगे फैलने से रोका जा सके।

समझौता के संकेतक (IoCs)

शाई-हुलुद का विश्लेषण करते समय, टीमों को दोनों बातों पर ध्यान देना चाहिए। स्थैतिक आईओसी फ़ाइलों में और व्यवहारिक आईओसी in pipelineये सभी संकेत मिलकर संक्रमण का शीघ्र पता लगाने और कृमि के आगे फैलने से पहले ही प्रतिक्रिया देने में मदद करते हैं।

स्थैतिक आईओसी

निम्नलिखित SHA-256 डाइजेस्ट मिलान देखे गए bundle.js नमूने:

  • 46faab8ab153fae6e80e7cca38eab363075bb524edd79e42269217a083628f09
  • 81d2a004a1bca6ef87a1caf7d0e0b355ad1764238e40ff6d1b1cb77ad4f595c3
  • dc67467a39b70d1cd4c1f7f7a459b35058163592f4a9e8fb4dffcbba98ef210c

इसके अलावा, इन दोहराए जाने वाले पैटर्नों पर भी ध्यान दें:

  • A bundle.js पैकेज रूट पर।
  • "postinstall": "node bundle.js" अंदर package.json.
  • नाम दिए गए रिपॉजिटरी शाई-हुलुद.
  • GitHub वर्कफ़्लो जिनमें शामिल हैं ${{ toJSON(secrets) }}.

व्यवहारिक आईओसी

फाइल सिग्नेचर के अलावा, वर्म की गतिविधि उसके व्यवहार से भी प्रकट होती है। उदाहरण के लिए:

  • किसी एक मेंटेनर द्वारा अचानक से npm पब्लिश इवेंट्स की बाढ़ आना।
  • नए वर्कफ़्लो जो डेटा को बाहरी एंडपॉइंट्स तक पहुंचाते हैं।
  • CI रनर्स से ट्रिगर किए गए आउटबाउंड POST अनुरोध।
  • हाल ही में एन्कोडेड ब्लब्स के साथ सार्वजनिक रिपॉजिटरी बनाई गई हैं।

त्वरित शिकार

निष्कर्ष: शाई-हुलुद से सीख

RSI शाई-हुलुद आपूर्ति श्रृंखला हमला npm पैकेजों में हुई गड़बड़ी से पता चलता है कि आज सॉफ्टवेयर आपूर्ति श्रृंखला कितनी असुरक्षित हो गई है। इस वर्म ने केवल दुर्भावनापूर्ण कोड ही नहीं जोड़ा, बल्कि टोकन चुराए, डेटा भेजा और फिर खुद को स्वचालित रूप से पुनः प्रकाशित कर दिया। इसी वजह से यह हमला हफ्तों के बजाय घंटों में फैल गया।

डेवलपर्स और डेवऑप्स टीमों के लिए सबक स्पष्ट हैं:

  • प्रत्येक इंस्टॉलेशन कोड चलाता है। यहां तक ​​कि एक सामान्य एनपीएम पैकेज भी पोस्टइंस्टॉल वर्म को छिपा सकता है।
  • प्रत्येक टोकन का मूल्य बहुत अधिक है। एक बार चोरी हो जाने पर, इसका उपयोग मैलवेयर को और अधिक फैलाने के लिए किया जा सकता है।
  • प्रत्येक pipeline जांच की जरूरत है। बिना guardrails निर्भरताओं, वर्कफ़्लो और गुप्त जानकारियों पर एक छोटी सी चूक भी उत्पादन प्रणाली को तुरंत प्रभावित कर सकती है।

इसलिए, शाई-हुलुद जैसे हमलों को रोकने के लिए स्वचालित और आसानी से लागू किए जा सकने वाले नियंत्रणों की आवश्यकता है। टीमों को इंस्टॉल से पहले npm पैकेजों को स्कैन करना चाहिए, लॉकफ़ाइल बिल्ड का उपयोग करना चाहिए, संदिग्ध प्रकाशन गतिविधि का पता लगाना चाहिए और टोकन को अल्पकालिक रखना चाहिए। ये कदम अब वैकल्पिक नहीं हैं। बल्कि, ये आधुनिक प्रणालियों में लचीलेपन की नींव हैं। pipelines.

Xygeni में, हम Shai-Hulud सप्लाई चेन हमले को पूरे ओपन सोर्स इकोसिस्टम के लिए एक चेतावनी के रूप में देखते हैं। टिकाऊ विकास का तरीका सप्लाई चेन सुरक्षा को सीधे विकास प्रक्रिया में लाना है, उस बिंदु पर जहां कोड, npm पैकेज और pipelineएस कनेक्ट।

नीचे Shai-Hulud में असुरक्षित पाए गए npm पैकेजों और उनके संस्करणों की पूरी सूची दी गई है। इसका उपयोग करके आप अपनी लॉकफ़ाइलें, रजिस्ट्री और CI की जाँच कर सकते हैं। pipelineएक्सपोजर के लिए।

प्रभावित पैकेजों की सूची

📦 प्रभावित npm पैकेजों का पूर्वावलोकन

पैकेज का नाम संस्करण प्रकाशित तिथि
json-rules-engine-simplified0.2.12025-09-14T17:58:51.203Z
हवाई पायलट0.8.82025-09-14T18:35:07.600Z
एमसीपी-ज्ञान-ग्राफ1.2.12025-09-14T18:35:09.494Z
एयरचीफ0.3.12025-09-14T18:35:09.521Z
जंपगेट0.0.22025-09-14T18:35:09.651Z
tvi-cli0.1.52025-09-14T18:35:10.996Z
@thangved/callback-window1.1.42025-09-14T20:31:38.479Z
@tnf-dev/api1.0.82025-09-14T20:31:39.547Z
@tnf-dev/js1.0.82025-09-14T20:31:41.251Z
@tnf-dev/mui1.0.82025-09-14T20:31:41.259Z
@tnf-dev/core1.0.82025-09-14T20:31:42.728Z
@teselagen/react-table6.10.202025-09-14T20:37:08.597Z
@hestjs/demo0.1.22025-09-14T20:45:52.348Z
@nexe/eslint-config0.1.12025-09-14T20:45:53.625Z
@hestjs/eslint-config0.1.22025-09-14T20:45:55.044Z
@nexe/config-manager0.1.12025-09-14T20:45:55.066Z
@nexe/लॉगर0.1.32025-09-14T20:45:55.170Z
@hestjs/logger0.1.62025-09-14T20:45:55.197Z
@hestjs/validation0.1.62025-09-14T20:45:55.595Z
@hestjs/core0.2.12025-09-14T20:45:55.888Z
➡️ प्रभावित पैकेजों की पूरी सूची देखें
पैकेज का नाम संस्करण प्रकाशित तिथि
json-rules-engine-simplified0.2.12025-09-14T17:58:51.203Z
हवाई पायलट0.8.82025-09-14T18:35:07.600Z
एमसीपी-ज्ञान-ग्राफ1.2.12025-09-14T18:35:09.494Z
एयरचीफ0.3.12025-09-14T18:35:09.521Z
जंपगेट0.0.22025-09-14T18:35:09.651Z
tvi-cli0.1.52025-09-14T18:35:10.996Z
@thangved/callback-window1.1.42025-09-14T20:31:38.479Z
@tnf-dev/api1.0.82025-09-14T20:31:39.547Z
@tnf-dev/js1.0.82025-09-14T20:31:41.251Z
@tnf-dev/mui1.0.82025-09-14T20:31:41.259Z
@tnf-dev/core1.0.82025-09-14T20:31:42.728Z
@teselagen/react-table6.10.202025-09-14T20:37:08.597Z
@hestjs/demo0.1.22025-09-14T20:45:52.348Z
@nexe/eslint-config0.1.12025-09-14T20:45:53.625Z
@hestjs/eslint-config0.1.22025-09-14T20:45:55.044Z
@nexe/config-manager0.1.12025-09-14T20:45:55.066Z
@nexe/लॉगर0.1.32025-09-14T20:45:55.170Z
@hestjs/logger0.1.62025-09-14T20:45:55.197Z
@hestjs/validation0.1.62025-09-14T20:45:55.595Z
@hestjs/core0.2.12025-09-14T20:45:55.888Z
@hestjs/cqrs0.1.62025-09-14T20:45:55.966Z
@hestjs/scalar0.1.72025-09-14T20:45:56.386Z
ng2-फ़ाइल-अपलोड7.0.32025-09-15T02:44:29.555Z
कैपेसिटर-अधिसूचना हैंडलर0.0.22025-09-15T04:54:48.431Z
कैपेसिटर-प्लगइन-वॉनेज1.0.22025-09-15T04:54:48.501Z
कैपेसिटर-प्लगइन-हेल्थऐप0.0.22025-09-15T04:54:48.704Z
कैपेसिटर एंड्रॉइड अनुमतियाँ0.0.42025-09-15T04:54:48.753Z
वीओआईपी-कॉलकिट1.0.22025-09-15T04:54:49.223Z
कैपेसिटर-प्लगइन-आईहेल्थ1.1.82025-09-15T04:55:08.113Z
@art-ws/common2.0.222025-09-15T05:21:15.411Z
@art-ws/config-eslint2.0.42025-09-15T05:21:17.199Z
एनजीएक्स-डब्ल्यूएस1.1.52025-09-15T05:21:17.514Z
@art-ws/slf2.0.152025-09-15T05:21:17.524Z
@art-ws/http-server2.0.212025-09-15T05:21:17.745Z
pm2-gelf-json1.0.42025-09-15T05:21:18.413Z
@art-ws/di2.0.282025-09-15T05:21:18.488Z
@art-ws/di-node2.0.132025-09-15T05:21:18.849Z
@art-ws/config-ts2.0.72025-09-15T05:21:19.408Z
@art-ws/db-context2.0.212025-09-15T05:21:19.814Z
@art-ws/openapi0.1.92025-09-15T05:21:19.969Z
@art-ws/web-app1.0.32025-09-15T05:21:20.383Z
@art-ws/ssl-info1.0.92025-09-15T05:21:20.927Z
एससीए-टूल्स-सॉफ्टवेयर-कंपोजिशन-एनालिसिस-टूल्स
अपने सॉफ़्टवेयर जोखिमों को प्राथमिकता दें, उनका निवारण करें और उन्हें सुरक्षित करें।
अपना निःशुल्क खाता प्राप्त करें।
किसी क्रेडिट कार्ड की आवश्यकता नहीं।

अपने सॉफ़्टवेयर विकास और वितरण को सुरक्षित करें

Xygeni प्रोडक्ट सूट के साथ