शाई हुलुद - एनपीएम प्याकेजहरू - आपूर्ति श्रृंखला आक्रमण

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

विषयसूची

पढ्नै पर्ने पोस्टहरू

रुचिका पछिल्ला पोस्टहरू

TL; ड

सेप्टेम्बर १४, २०२५ मा, अनुसन्धानकर्ताहरूले पहिचान गरे शाई-हुलुद, भित्र लुकेको स्व-प्रतिकृति बनाउने किरा npm प्याकेजहरू, नियमित निर्भरता अद्यावधिकलाई पूर्ण-स्तरीयमा परिणत गर्दै आपूर्ति श्रृंखला आक्रमणपहिलो पटक देखियो @ctrl/टिनीकलर डेनियल डोस सान्तोस पेरेरा द्वारा प्याकेज, शाई-हुलुडले गोप्य कुराहरू संकलन गर्दछ, GitHub रिपो र कार्यप्रवाहहरू मार्फत तिनीहरूलाई हटाउँछ, र चोरी भएका प्रमाणहरू प्रयोग गरेर रजिस्ट्रीमा पुन: प्रकाशित गर्दछ। केही दिन भित्र, संक्रमित प्याकेजहरूको संख्या दर्जनौंबाट सयौंमा बढ्यो, जसले पुष्टि गर्दछ कि शैहुलुद यो केवल अर्को ट्रोजन मात्र होइन तर npm इकोसिस्टममा स्वचालित रूपमा फैलिनको लागि डिजाइन गरिएको किरा हो।

प्रभाव: सार्वजनिक npm प्याकेजहरू स्थापना गर्ने कुनै पनि विकासकर्ता वा CI रनर जोखिममा छ।

तत्काल कार्यहरू: ज्ञात संस्करणहरू ब्लक गर्नुहोस्, लकफाइल-मात्र स्थापनाहरूमा स्विच गर्नुहोस्, npm र GitHub टोकनहरू घुमाउनुहोस्, कार्यप्रवाहहरू लेखा परीक्षण गर्नुहोस्, र सम्झौताका सूचकहरू (IoCs) को लागि निगरानी गर्नुहोस्।

के भयो?

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

DevOps टोलीहरूको लागि, पाठ स्पष्ट छ: यदि प्रत्येक स्थापनाले कोड कार्यान्वयन गर्न सक्छ भने, प्रत्येक निर्भरता अद्यावधिक सम्भावित उल्लंघन बिन्दु हो।

सम्भावित प्रारम्भिक भेक्टर र लक्षित प्रमाणहरू

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

  • npm कन्फिग फाइलहरू जस्तै .npmrc, जसमा प्रायः प्रकाशन टोकनहरू हुन्छन्।
  • वातावरण चर र GitHub PAT हरू भएका कन्फिगहरू र CI/CD रहस्य
  • क्लाउड मेटाडेटा एन्डपोइन्टहरू (AWS, GCP, Azure) ले पार्श्व आन्दोलनको लागि अल्पकालीन प्रमाणहरू प्रदान गर्दछ।

त्यसकारण, प्रमाणपत्र चोरी लन्चप्याड बन्यो। मान्य npm टोकनहरू र GitHub गोप्यहरूसँग, Shai-Hulud ले अतिरिक्त मानवीय प्रयास बिना धेरै प्याकेजहरू र भण्डारहरूमा स्व-प्रतिकृति बनाउन सक्छ।

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

शाई-हुलुद आज पनि सक्रिय छ। यो किराले प्रभावको समयरेखालाई गति दिन्छ। पहिले ट्रोजनसँग हप्ता लाग्ने कुरा अब घण्टामा प्रकट हुन्छ। फलस्वरूप, फैलावट छिटो र नियन्त्रण गर्न गाह्रो छ। यो यसरी अगाडि बढ्छ:

  • npm प्रकाशन टोकन र GitHub गोप्य कुराहरू चोरी गर्दै।
  • अन्य npm प्याकेजहरूमा पुन: प्रकाशन गर्दै।
  • निरन्तरताको लागि मालिसियस GitHub कार्य कार्यप्रवाहहरू थप्दै।

को प्रभावित छ:

सार्वजनिक npm प्याकेजहरू स्थापना गर्ने कुनै पनि टोली जोखिममा पर्छ। यसबाहेक, क्यास गरिएको npm वा GitHub टोकन भएका विकासकर्ताहरूले उच्च जोखिमको सामना गर्छन्। व्यापक-स्कोप गरिएको गोप्य प्रयोग गर्ने CI धावकहरू पनि जोखिममा हुन्छन्।

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

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

npm प्याकेजहरूमा शाई-हुलुद आपूर्ति श्रृंखला आक्रमण कसरी काम गर्छ

आक्रमणकारीको उद्देश्य र उद्देश्य

अभियानले तीन कुराहरूको लागि अनुकूलन गर्दछ:

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

सम्भावित प्रतिफलमा रजिस्ट्रीहरू र स्रोत कोडमा लामो समयसम्म पहुँच, क्लाउड खाताहरूमा द्रुत पार्श्व आन्दोलन, र आपूर्ति शृङ्खलालाई थप हतियार बनाउने विकल्प समावेश छ। सार्वजनिक रिपोर्टिङले देखाउँछ कि निजी रिपोहरू सार्वजनिक रूपमा फ्लिप गरिएको छ "-बसाइँसराइ" प्रत्यय, जसले डेटा एक्सपोजर र गति बढाउँछ

शाई-हुलुद पेलोड भित्र: बन्डल.जेएस npm प्याकेजहरूमा

शाई-हुलुदले एकको रूपमा जहाज पठाउँछन् ठूलो, वेबप्याक-बन्डल गरिएको र धेरै मिनिफाइ गरिएको जाभास्क्रिप्ट फाइल (बन्डल.जेएस, लगभग ३–३.७ एमबी) जुन a बाट कार्यान्वयन हुन्छ स्थापना पछि जोड्नु package.jsonफलस्वरूप, प्रत्येक स्थापनाले स्वचालित रूपमा पेलोड ट्रिगर गर्दछ। यो डिजाइनले पहिचानकर्ताहरू लुकाउँछ, नियन्त्रण प्रवाहलाई संकुचित गर्छ, र सबै तर्कलाई स्थापनाको समयमा कार्यान्वयन गर्ने एकल कलाकृतिमा धकेल्छ। विश्लेषकहरूले वेबप्याक बन्डलिङ, असामान्य फाइल आकार, र स्थापना-समय कार्यान्वयनको निरन्तर पुष्टि गर्छन्।

नमूनाहरूमा तपाईंले देख्नुहुने अस्पष्टता र विश्लेषण विरोधी विशेषताहरू:

  • न्यूनतम मोड्युल ग्राफ संख्यात्मक मोड्युल आईडीहरू, स्पार्स टिप्पणीहरू, र समतल नियन्त्रण प्रवाहको साथ। यसबाहेक, यो संरचनाले म्यानुअल समीक्षालाई अत्यन्तै कठिन बनाउँछ।
  • स्ट्रिङ लुकाउँदै base64 तहहरू र निर्माण सहयोगीहरू मार्फत। उदाहरणका लागि, दोहोरिएको base64 इन्कोडिङ र डिकोडिङ सामान्यतया एक्सफिल्ट्रेसन दिनचर्या वरिपरि देखा पर्दछ।
  • गतिशील प्रेषण मार्फत इभियल-शैली ढाँचाहरू र उत्पन्न प्रकार्य निकायहरू, त्यसैले रनटाइममा व्यवहार परिवर्तन गर्न कोड सक्षम पार्दै।
  • OS फिल्टरिङ विशेष गरी CI रनर र डेभलपर ल्यापटपहरूमा Linux र macOS कार्यान्वयनलाई प्राथमिकता दिन।

कार्यात्मक कोणबाट, बन्डल मोड्युलर छ। Writeups ले OS खोज, फाइल प्रणाली र git गोप्य स्क्यानहरू, क्लाउड SDK पहुँच, GitHub API सञ्चालनहरू, र मर्मतकर्ताको स्वामित्वमा रहेका अन्य प्याकेजहरू सम्पादन गर्ने प्रसार इन्जिनको लागि मोड्युलहरू वर्णन गर्दछ। वास्तवमा, StepSecurity र ReversingLabs दुवैले एउटा प्रकार्यलाई हाइलाइट गर्दछ जसले स्वचालित रूपमा मालिसियस हुकको साथ प्याकेजहरू अपडेट गर्दछ।

शाई-हुलुदमा स्थापना-समय कार्यान्वयन: कसरी npm प्याकेजहरूले कीरालाई ट्रिगर गर्छन्

आक्रमण तब सुरु हुन्छ जब पोस्टइन्स्टलले नोड चलाउँछ बन्डल.जेएस. यस बिन्दुमा, स्क्रिप्टले मेमोरीमा काम गर्ने अवस्थालाई सुरुवात र अनप्याक गर्छ, जसले गर्दा वर्मको पूर्ण सञ्चालनको लागि चरण सेट हुन्छ।

खोज र कटनी

  • पेलोडले process.env डम्प गर्छ र उच्च-एन्ट्रोपी गोप्य र टोकन उपसर्गहरूको लागि स्थानीय फाइलहरू स्क्यान गर्छ। यसको अतिरिक्त, यसले TruffleHog चलाएर कभरेज विस्तार गर्छ।
  • यसले छोटो अवधिको प्रमाणपत्रहरू सङ्कलन गर्न क्लाउड मेटाडेटा अन्त्य बिन्दुहरू सोध्छ। उदाहरण को रुपमा, लाई कल गर्दछ 169.254.169.254 AWS मा वा metadata.google.internal GCP मा प्रायः संक्रमित होस्टहरूमा देखा पर्दछ।
  • फलस्वरूप, फेला परेको कुनै पनि प्रमाणपत्र नयाँ npm प्याकेजहरू प्रकाशित गर्न वा GitHub कार्यप्रवाहहरू पुश गर्न तुरुन्तै प्रयोगयोग्य हुन्छ।

निष्कासन

  • यो किराले नयाँ GitHub रिपो सिर्जना गर्छ जसको नाम शाई-हुलुद र डबल बेस६४-इनकोडेड लेख्छ data.json प्लेटफर्म विवरणहरू, वातावरणीय डम्पहरू, र गोप्य कुराहरू सहित। देख्न सकिन्छ, यदि डिफेन्डरहरूलाई कहाँ हेर्ने भनेर थाहा छ भने यो कोलाहलपूर्ण व्यवहार सजिलै पत्ता लगाउन सकिन्छ।
  • यसले GitHub Actions कार्यप्रवाह पनि रोप्छ, प्रायः नामक शाखामा शाई-हुलुद, जसले क्रमबद्ध गर्दछ ${{ toJSON(secrets) }} र डेटालाई स्थिर वेबहुकमा पोस्ट गर्छ। यसबाहेक, यो कार्यप्रवाह कसैले सक्रिय रूपमा नहटाएसम्म जारी रहन्छ।

प्रचार

  • कुनै पनि पत्ता लागेको npm टोकनको साथ, पेलोडले सम्झौता गरिएको मर्मतकर्ताको स्वामित्वमा रहेका सबै प्याकेजहरूको गणना गर्दछ। त्यसपछि, यसले प्रत्येक टार्बल ल्याउँछ, bundle.js र पोस्टइन्स्टल प्रविष्टि इन्जेक्ट गर्छ, र प्याकेज पुन: प्रकाशित गर्छ।
  • फलस्वरूप, केही घण्टामै दर्जनौं संक्रमित प्याकेजहरू देखा पर्न सक्छन्, जसले पारिस्थितिक प्रणालीमा विस्फोटको त्रिज्यालाई गुणा गर्छ।

दृढता र एक्सपोजर

  • यो किराले दुर्भावनापूर्ण कार्यप्रवाहलाई जीवित राख्छ र धेरै अवस्थामा, निजी रिपोहरूलाई सार्वजनिक रूपमा फ्लिप गर्छ "-बसाइँसराइ" प्रत्यय। समग्रमा, यसले आक्रमणकारीले आफ्नो पकड कायम राख्छ र डेटा चुहावटलाई अधिकतम बनाउँछ भन्ने कुरा सुनिश्चित गर्दछ।

कुञ्जी पत्ता लगाउने नोट
यो असामान्य प्रयोग ${{ toJSON(secrets) }} कार्यहरूमा कार्यप्रवाह दुर्लभ छ। तसर्थ, टोलीहरूले शिकारको समयमा यसलाई उच्च-संकेत सूचकको रूपमा व्यवहार गर्नुपर्छ।

तपाईंले खोज्नुपर्ने सेनिटाइज्ड कार्यप्रवाह ढाँचा

यो असामान्य प्रयोग लाई JSON(गोप्य) यस घटनामा in Actions उच्च-संकेत सूचक हो।

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

विश्लेषकहरूले यो लूपलाई स्केलमा अवलोकन गरे, जसले दर्जनौंबाट सयौं संक्रमित प्याकेजहरूमा द्रुत उछाललाई व्याख्या गर्दछ।

किन यो प्याकेज इकोसिस्टममा किरा हो?

वर्म भनेको मालवेयर हो जुन प्रत्येक चरणमा म्यानुअल अपरेटर चरणहरू आवश्यक नपर्ने गरी आफैं फैलिन्छ। अपरेटिङ सिस्टमहरूमा, वर्महरूले सामान्यतया एउटा मेसिनबाट अर्को मेसिनमा जान नेटवर्क कमजोरीहरूको शोषण गर्छन्। यसको विपरित, शाई-हुलुड npm रजिस्ट्री भित्र सञ्चालन हुन्छ। यसको कुशल मार्ग भनेको प्रमाणपत्र पुन: प्रयोग.

यो किराले चोरी भएका npm प्रकाशन टोकनहरूको फाइदा उठाउँछ। वैध प्रमाणहरू प्राप्त गर्ने बित्तिकै, यसले उही मर्मतकर्ताको स्वामित्वमा रहेका अन्य प्याकेजहरू अन्तर्गत संक्रमित संस्करणहरू पुन: प्रकाशित गर्दछ। त्यसपछि, ती प्याकेजहरू शंकास्पद विकासकर्ताहरू वा CI धावकहरू द्वारा स्थापना गरिन्छ, र चक्र दोहोरिन्छ।

यस कारणले गर्दा, सुरक्षा विश्लेषकहरू, सहित गाढा पठन, शाई-हुलुदलाई a को रूपमा वर्गीकृत गर्नुहोस् स्व-प्रतिकृति बनाउने किरा साधारण ट्रोजन वा टाइपोस्क्वाटिङ घटना भन्दा। भिन्नता महत्त्वपूर्ण छ: ट्रोजनले सामान्यतया एउटा होस्टलाई सम्झौता गर्छ, तर किराले पारिस्थितिक प्रणालीमा स्वचालित रूपमा यसको प्रभावलाई बढाउँछ।

"यो कसरी काम गर्छ" धोखा-पत्र

शाई-हुलुदको जीवनचक्रलाई संक्षेपमा भन्नुपर्दा, यहाँ एउटा त्रुटि छcisयसको मुख्य चरणहरूको विभाजन:

  • प्याकेज सहित स्थापना पछि स्थापित छ, र bundle.js कार्यान्वयन गर्दछ।
  • पेलोडले वातावरण चरहरू डम्प गर्छ, फाइलहरू र गिट इतिहास स्क्यान गर्छ, चलाउँछ ट्रफलहग, र क्लाउड मेटाडेटा सेवाहरू सोध्छन्। फलस्वरूप, फेला परेको कुनै पनि गोप्य तुरुन्तै उपयोगी हुन्छ।
  • एक्सफिल्ट्रेसन दुई तरिकाले हुन्छ: पहिलो, सार्वजनिक रिपो नामक सिर्जना गरेर शाई-हुलुद डबल बेस ६४-इनकोड गरिएको data.json; दोस्रो, GitHub Actions कार्यप्रवाह स्थापना गरेर जुन पोस्ट गर्दछ ${{ toJSON(secrets) }} वेबहुकमा।
  • कुनै पनि चोरी भएको npm टोकन प्रयोग गरेर, किराले सम्झौता गरिएको मर्मतकर्ताको स्वामित्वमा रहेका अन्य सबै प्याकेजहरूलाई उही दुर्भावनापूर्ण हुकको साथ पुन: प्रकाशित गर्दछ। यसरी, संक्रमण द्रुत गतिमा बढ्छ।
  • अन्तमा, आक्रमणकारीसँग धेरै गोप्य कुराहरू छन्, फैलाउन धेरै प्याकेजहरू छन्, र दृढता GitHub खाताहरू र भण्डारहरू भित्र।

व्यावहारिक रूपमा यस वर्गको आक्रमणबाट कसरी बच्ने

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

गेटमा खराब कलाकृतिहरू रोक्नुहोस्

विकासकर्ता वा CI कार्यहरूमा पुग्नु अघि तपाईंले npm प्याकेजहरू र टार्बलहरू स्क्यान गर्नुपर्छ। ओभरसाइज्ड bundle.js फाइलहरू, शंकास्पद पोस्ट-इन्स्टल hooks, र अस्पष्ट मार्करहरू सबै प्रारम्भिक रातो झण्डाको रूपमा काम गर्छन्। यसबाहेक, कूल-अफ अवधिहरू लागू गर्दै र पिन गरिएका संस्करणहरू pipelines ले ताजा, जाँच नगरिएका रिलिजहरूलाई स्वचालित रूपमा उपभोग हुनबाट रोक्छ।

कठोर CI/CD पूर्वनिर्धारित

Guardrails in CI/CD आवश्यक छन्। तिनीहरूले नयाँ स्क्रिप्ट वा बाइनरीहरू परिचय गराउने मर्ज वा स्थापनाहरूलाई अस्वीकार गर्छन्। साथै, तिनीहरूले गोप्य कुराहरूलाई क्रमबद्ध गर्ने वा बाह्य पोस्टहरू प्रयास गर्ने कार्यप्रवाहहरूलाई रोक्छन्। टोलीहरूलाई लकफाइल-मात्र स्थापनाहरू पनि आवश्यक पर्दछ (npm ci) सबैतिर pipelines त्यसैले निर्भरता सेटहरू पुनरुत्पादन योग्य र सुरक्षित रहन्छन्।

टोकन ब्लास्ट रेडियस घटाउनुहोस्

गोप्य कुराहरू असफलताको एकल बिन्दु बन्नु हुँदैन। कोड, कन्फिगहरू, र निरन्तर स्क्यान गर्नुहोस् pipeline को लागि आउटपुट खुला प्रमाणहरू। टोकनहरूलाई छोटो जीवनकाल दिइने गरी साँघुरो रूपमा स्कोप गरिनुपर्छ, र एक्सपोजर पत्ता लागेपछि स्वचालित रूपमा घुमाउनुपर्छ। नियमको रूपमा, शंकास्पद पोस्टइन्स्टल कार्यान्वयन गर्ने होस्टमा प्रयोग गरिएको कुनै पनि टोकनलाई सम्झौता गरिएको मान्नुहोस्।

किराको व्यवहार चाँडै हेर्नुहोस्

विसंगति पत्ता लगाउने महत्वपूर्ण कुरा हो। उदाहरणका लागि, npm प्रकाशन घटनाहरूमा अचानक स्पाइकहरू, कारण बिना देखा पर्ने नयाँ कार्यप्रवाहहरू, वा अनौठो एन्कोड गरिएका फाइलहरूले भरिएका ताजा सार्वजनिक रिपोहरूले सबैले कीरा गतिविधिलाई संकेत गर्न सक्छन्। त्यसकारण, टोलीहरूले छिटो अलर्टहरू बढाउनु पर्छ र यी चेतावनी संकेतहरू देखाउने कुनै पनि मर्मतकर्ता वा धावकहरूलाई अलग गर्नुपर्छ।

बिल्डहरू नतोडिकनै छिटो मर्मत गर्नुहोस्

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

सम्झौताका सूचकहरू (IoCs)

शाई-हुलुदको विश्लेषण गर्दा, टोलीहरूले दुवैलाई हेर्नुपर्छ स्थिर IoC हरू फाइलहरूमा र व्यवहारिक IoCs in pipelines. यी संकेतहरूले सँगै संक्रमणहरू चाँडै पत्ता लगाउन र किरा फैलिनु अघि प्रतिक्रिया दिन मद्दत गर्छन्।

स्थिर IoC हरू

निम्न SHA-256 डाइजेस्ट मिलान अवलोकन गरियो bundle.js नमूनाहरू:

  • 46faab8ab153fae6e80e7cca38eab363075bb524edd79e42269217a083628f09
  • 81d2a004a1bca6ef87a1caf7d0e0b355ad1764238e40ff6d1b1cb77ad4f595c3
  • dc67467a39b70d1cd4c1f7f7a459b35058163592f4a9e8fb4dffcbba98ef210c

थप रूपमा, यी पुनरावर्ती ढाँचाहरूको लागि हेर्नुहोस्:

  • A bundle.js प्याकेज रूटमा।
  • "postinstall": "node bundle.js" भित्र package.json.
  • नामकरण गरिएका भण्डारहरू शाई-हुलुद.
  • GitHub कार्यप्रवाहहरू समावेश छन् ${{ toJSON(secrets) }}.

व्यवहारिक IoC हरू

फाइल हस्ताक्षरभन्दा बाहिर, वर्म गतिविधिले व्यवहार मार्फत आफूलाई प्रकट गर्दछ। उदाहरणका लागि:

  • एउटा मर्मतकर्ताबाट घटनाहरू प्रकाशित गर्ने npm को अचानक विस्फोट।
  • डेटालाई बाह्य अन्त्य बिन्दुहरूमा धकेल्ने नयाँ कार्यप्रवाहहरू।
  • CI धावकहरूबाट आउटबाउन्ड POST अनुरोधहरू ट्रिगर गरियो।
  • एन्कोड गरिएका ब्लबहरू सहित हालसालै सिर्जना गरिएका सार्वजनिक रिपोहरू।

द्रुत शिकारहरू

निष्कर्ष: शाई-हुलुदबाट पाठ

यो शाई-हुलुद आपूर्ति श्रृंखला आक्रमण npm प्याकेजहरूमा आजको सफ्टवेयर आपूर्ति श्रृंखला कति कमजोर भएको छ भनेर देखाउँछ। यो किराले दुर्भावनापूर्ण कोड थप्नु भन्दा बढी गर्‍यो। यसले टोकनहरू चोर्यो, डेटा बाहिर पठायो, र त्यसपछि स्वचालित रूपमा पुन: प्रकाशित गर्‍यो। यस कारणले गर्दा, आक्रमण हप्ताको सट्टा घण्टामा फैलियो।

विकासकर्ताहरू र DevOps टोलीहरूको लागि, पाठहरू स्पष्ट छन्:

  • प्रत्येक स्थापनाले कोड चलाउँछ। साधारण npm प्याकेजले पनि पोस्टइन्स्टल वर्म लुकाउन सक्छ।
  • प्रत्येक टोकनको उच्च मूल्य हुन्छ। एकपटक चोरी भएपछि, यसलाई मालवेयर फैलाउन प्रयोग गर्न सकिन्छ।
  • हरेक pipeline जाँचहरू चाहिन्छ। बिना guardrails निर्भरता, कार्यप्रवाह र गोप्य कुराहरूमा, एउटा सम्झौताले उत्पादनलाई चाँडै असर गर्न सक्छ।

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

Xygeni मा, हामी Shai-Hulud आपूर्ति श्रृंखला आक्रमणलाई सम्पूर्ण खुला स्रोत इकोसिस्टमको लागि चेतावनीको रूपमा देख्छौं। दिगो अगाडि बढ्ने तरिका भनेको आपूर्ति श्रृंखला सुरक्षालाई सिधै विकास प्रक्रियामा ल्याउनु हो, जहाँ कोड, npm प्याकेजहरू, र pipelineजडान गर्नुहोस्।

Shai-Hulud मा सम्झौता गरिएको npm प्याकेजहरू र संस्करणहरूको पूर्ण सूची तल दिइएको छ। आफ्नो लकफाइलहरू, रजिस्ट्रीहरू, र CI जाँच गर्न यसलाई प्रयोग गर्नुहोस्। pipelineएक्सपोजरको लागि।

सम्झौता गरिएका प्याकेजहरूको सूची

📦 सम्झौता गरिएका npm प्याकेजहरूको पूर्वावलोकन

प्याकेज नाम संस्करण मिति प्रकाशित गर्नुहोस्
json-rules-इन्जिन-सरलीकृत0.2.12025-09-14T17:58:51.203Z
एयरपाइलट0.8.82025-09-14T18:35:07.600Z
mcp-ज्ञान-ग्राफ1.2.12025-09-14T18:35:09.494Z
वायु सेना प्रमुख0.3.12025-09-14T18:35:09.521Z
जम्पगेट0.0.22025-09-14T18:35:09.651Z
टिभी-क्लाइन्ट0.1.52025-09-14T18:35:10.996Z
@thangved/कलब्याक-विन्डो1.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/कोर1.0.82025-09-14T20:31:42.728Z
@teselagen/प्रतिक्रिया-तालिका6.10.202025-09-14T20:37:08.597Z
@hestjs/डेमो0.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/कन्फिग-प्रबन्धक0.1.12025-09-14T20:45:55.066Z
@nexe/लगर0.1.32025-09-14T20:45:55.170Z
@hestjs/लगर0.1.62025-09-14T20:45:55.197Z
@hestjs/प्रमाणीकरण0.1.62025-09-14T20:45:55.595Z
@hestjs/कोर0.2.12025-09-14T20:45:55.888Z
➡️ सम्झौता गरिएका प्याकेजहरूको पूर्ण सूची हेर्नुहोस्
प्याकेज नाम संस्करण मिति प्रकाशित गर्नुहोस्
json-rules-इन्जिन-सरलीकृत0.2.12025-09-14T17:58:51.203Z
एयरपाइलट0.8.82025-09-14T18:35:07.600Z
mcp-ज्ञान-ग्राफ1.2.12025-09-14T18:35:09.494Z
वायु सेना प्रमुख0.3.12025-09-14T18:35:09.521Z
जम्पगेट0.0.22025-09-14T18:35:09.651Z
टिभी-क्लाइन्ट0.1.52025-09-14T18:35:10.996Z
@thangved/कलब्याक-विन्डो1.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/कोर1.0.82025-09-14T20:31:42.728Z
@teselagen/प्रतिक्रिया-तालिका6.10.202025-09-14T20:37:08.597Z
@hestjs/डेमो0.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/कन्फिग-प्रबन्धक0.1.12025-09-14T20:45:55.066Z
@nexe/लगर0.1.32025-09-14T20:45:55.170Z
@hestjs/लगर0.1.62025-09-14T20:45:55.197Z
@hestjs/प्रमाणीकरण0.1.62025-09-14T20:45:55.595Z
@hestjs/कोर0.2.12025-09-14T20:45:55.888Z
@hestjs/cqrs0.1.62025-09-14T20:45:55.966Z
@hestjs/स्केलर0.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
voip-callkit1.0.22025-09-15T04:54:49.223Z
क्यापेसिटर-प्लगइन-आईहेल्थ1.1.82025-09-15T04:55:08.113Z
@art-ws/सामान्य2.0.222025-09-15T05:21:15.411Z
@art-ws/config-eslint2.0.42025-09-15T05:21:17.199Z
ngx-ws1.1.52025-09-15T05:21:17.514Z
@art-ws/slf लाई धन्यवाद2.0.152025-09-15T05:21:17.524Z
@art-ws/http-सर्भर2.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-नोड2.0.132025-09-15T05:21:18.849Z
@art-ws/config-ts2.0.72025-09-15T05:21:19.408Z
@art-ws/db-सन्दर्भ2.0.212025-09-15T05:21:19.814Z
@art-ws/ओपेनापी0.1.92025-09-15T05:21:19.969Z
@art-ws/वेब-एप1.0.32025-09-15T05:21:20.383Z
@art-ws/ssl-जानकारी1.0.92025-09-15T05:21:20.927Z
sca-उपकरण-सफ्टवेयर-रचना-विश्लेषण-उपकरणहरू
आफ्नो सफ्टवेयर जोखिमहरूलाई प्राथमिकता दिनुहोस्, सुधार गर्नुहोस् र सुरक्षित गर्नुहोस्
आफ्नो नि:शुल्क खाता पाउनुहोस्।
कुनै क्रेडिट कार्ड आवश्यक छैन।

आफ्नो सफ्टवेयर विकास र डेलिभरी सुरक्षित गर्नुहोस्

Xygeni उत्पादन सुइटको साथ