शाई हुलुड - एनपीएम पॅकेजेस - पुरवठा साखळी हल्ला

शाई-हुलुद: एनपीएम पॅकेजेस वर्मचे स्पष्टीकरण

अनुक्रमणिका

अवश्य वाचा

नवीनतम मनोरंजक पोस्ट्स

TL; डॉ

१४ सप्टेंबर, २०२५ रोजी, संशोधकांनी ओळखले शाई हुलुदआत लपलेला एक स्व-प्रतिकृती करणारा किडा एनपीएम पॅकेजेसएका सामान्य डिपेंडेंसी अपडेटला पूर्ण-प्रमाणात रूपांतरित करणे पुरवठा साखळी हल्लापहिल्यांदा आढळले @ctrl/टिनीकलर डॅनियल डोस सँटोस परेरा यांच्या पॅकेजद्वारे, शाई-हुलुड गोपनीय माहिती मिळवतो, ती गिटहब रिपॉझिटरीज आणि वर्कफ्लोद्वारे बाहेर पाठवतो, आणि चोरलेल्या क्रेडेन्शियल्सचा वापर करून स्वतःला संपूर्ण रजिस्ट्रीमध्ये पुन्हा प्रकाशित करतो. काही दिवसांतच, संक्रमित पॅकेजेसची संख्या डझनभरांवरून शेकडोंवर पोहोचली, ज्यामुळे याची पुष्टी झाली की... शायहुलुद हा केवळ एक ट्रोजन नसून, npm इकोसिस्टममध्ये स्वयंचलितपणे पसरण्यासाठी तयार केलेला एक वर्म आहे.

प्रभाव: सार्वजनिक npm पॅकेजेस इन्स्टॉल करणारा कोणताही डेव्हलपर किंवा CI रनर धोक्यात असतो.

त्वरित क्रिया: ज्ञात आवृत्त्या ब्लॉक करा, केवळ लॉकफाइल इन्स्टॉलवर स्विच करा, npm आणि GitHub टोकन रोटेट करा, वर्कफ्लो ऑडिट करा आणि तडजोडीच्या निर्देशकांसाठी (IoCs) निरीक्षण करा.

काय झाले?

The एनपीएम पॅकेजेसमध्ये शाई-हुलुड पुरवठा साखळी हल्ला अलीकडच्या काळातील सर्वात विघातक घटनांपैकी ही एक आहे. स्वतंत्र ट्रोजनच्या विपरीत, हा वर्म अनेक विषाणूंना एकत्र मिसळतो. क्रेडेन्शियल चोरी, स्वयंचलित डेटा बाहेर काढणे आणि स्व-प्रतिकृतीपरिणामी, संसर्ग होण्याचा कालावधी आठवड्यांवरून केवळ काही तासांवर आला.

डेव्हऑप्स टीम्ससाठी धडा स्पष्ट आहे: जर प्रत्येक इन्स्टॉल कोड कार्यान्वित करू शकत असेल, तर प्रत्येक डिपेंडन्सी अपडेट हा संभाव्य उल्लंघनाचा मुद्दा ठरतो.

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

सुरुवातीचे विश्लेषण यावरून असे सूचित होते की हल्ला बहुधा यापासून सुरू झाला चोरलेली क्रेडेन्शियल्सउदाहरणार्थ, एनपीएम (npm) ची नक्कल करणाऱ्या फिशिंग मोहिमा. login किंवा MFA प्रॉम्प्ट्सनी डेव्हलपर टोकन्स कॅप्चर केले असू शकतात. एकदा हल्लेखोरांनी ती पहिली पायरी ओलांडली की, तो वर्म स्वतःला npm पॅकेजेसमध्ये एम्बेड करून आणि त्यातून अधिक सिक्रेट्स चोरून पसरला:

  • एनपीएम कॉन्फिग फाइल्स सारखे .npmrcज्यामध्ये अनेकदा पब्लिश टोकन असतात.
  • पर्यावरण परिवर्तने आणि GitHub PATs सह कॉन्फिग्स आणि CI/CD रहस्ये.
  • क्लाउड मेटाडेटा एंडपॉइंट्स (AWS, GCP, Azure) लॅटरल मूव्हमेंटसाठी अल्पायुषी क्रेडेन्शियल्स प्रदान करते.

त्यामुळे, क्रेडेन्शियलची चोरी हाच त्याचा आरंभबिंदू ठरला. वैध npm टोकन्स आणि GitHub सिक्रेट्सच्या साहाय्याने, शाई-हुलुड कोणत्याही अतिरिक्त मानवी प्रयत्नांशिवाय अनेक पॅकेजेस आणि रिपॉझिटरीजमध्ये स्वतःची प्रतिकृती तयार करू शकत होता.

शाई-हुलुद पुरवठा साखळी हल्ल्याचा कार्यकारी परिणाम

शाय-हुलुद आजही सक्रिय आहे. हा वर्म परिणामाची कालमर्यादा जलद करतो. ट्रोजनमुळे ज्या गोष्टी घडायला पूर्वी आठवडे लागायचे, त्या आता काही तासांतच घडतात. परिणामी, प्रसार अधिक वेगाने होतो आणि त्याला आटोक्यात आणणे अधिक कठीण होते. त्याची प्रगती खालीलप्रमाणे होते:

  • npm पब्लिश टोकन आणि GitHub सिक्रेट्स चोरणे.
  • स्वतःला इतर npm पॅकेजेसमध्ये पुन्हा प्रकाशित करणे.
  • दुर्भावनापूर्ण GitHub Actions वर्कफ्लो कायमस्वरूपी ठेवण्यासाठी जोडणे.

कोण बाधित आहे:

सार्वजनिक npm पॅकेजेस इन्स्टॉल करणारी कोणतीही टीम धोक्यात असते. शिवाय, कॅश्ड npm किंवा GitHub टोकन्स वापरणाऱ्या डेव्हलपर्सना मोठा धोका असतो. ब्रॉड-स्कोप सिक्रेट्स वापरणारे CI रनर्सदेखील असुरक्षित असतात.

व्यवसाय जोखीम

व्यवसायावर होणारा परिणाम झपाट्याने वाढतो. चोरलेल्या टोकन्समुळे अकाउंट हॅक होणे, पॅकेज हायजॅकिंग आणि क्लाउडचा गैरवापरसुद्धा होऊ शकतो. याव्यतिरिक्त, GitHub वर्कफ्लोमध्ये डेटा टिकून राहत असल्यामुळे तो स्वच्छ करणे अधिक कठीण होते. त्यामुळेसंघांनी शाई-हुलुद घटनेला एक बंद झालेली घटना न मानता, एक चालू असलेली घटना म्हणून हाताळले पाहिजे.

npm पॅकेजेसमध्ये शाई-हुलुड सप्लाय चेन हल्ला कसा काम करतो

हल्लेखोरांची उद्दिष्ट्ये आणि हेतू

ही मोहीम तीन गोष्टी साध्य करण्यासाठी अनुकूलित केली आहे:

  • पहिले उद्दिष्ट हे आहे की मोठ्या प्रमाणावर क्रेडेन्शियल्स चोरणे डेव्हलपर लॅपटॉप आणि सीआय रनर्सकडून. यामध्ये एनपीएम पब्लिश टोकन्स, गिटहब टोकन्स आणि क्लाउड क्रेडेंशियल्स यांचा समावेश आहे. वास्तविक पाहता, अनेक विश्लेषणांनी पद्धतशीरपणे गुप्त माहिती गोळा केली जात असल्याची पुष्टी केली आहे, जसे की ट्रफलहॉग चालवणे आणि क्लाउड मेटाडेटा एंडपॉइंट्सना क्वेरी करणे.
  • दुसरा उद्देश हा आहे की आपोआप पसरते हॅक झालेल्या देखरेखकर्त्यांच्या प्रकाशन अधिकारांचा गैरवापर करून. परिणामी, एक पायंडा झपाट्याने अनेक पायंड्यांमध्ये विस्तारतो, कारण इतर पॅकेजेसच्या नवीन संक्रमित आवृत्त्या कोणत्याही अतिरिक्त मानवी प्रयत्नांशिवाय दिसू लागतात.
  • तिसरे उद्दिष्ट आहे की टिकून राहणे आणि विश्वसनीयपणे बाहेर पडणे गिटहबच्या पायाभूत सुविधांद्वारे, हल्लेखोर डबल बेस64 सह “Shai-Hulud” नावाचे एक सार्वजनिक रेपो तयार करतात. डेटा.जेसनआणि त्याव्यतिरिक्त ते एक असा वर्कफ्लो स्थापित करतात जो क्रमबद्ध करतो ${{ toJSON(secrets) }} आणि ते एका स्टॅटिक वेबहुकवर पोस्ट करते.

संभाव्य फायद्यांमध्ये रजिस्ट्री आणि सोर्स कोडमध्ये दीर्घकाळ टिकणारा प्रवेश, क्लाउड खात्यांमध्ये जलद लॅटरल मूव्हमेंट आणि पुरवठा साखळीला अधिक शस्त्रसज्ज करण्याचा पर्याय यांचा समावेश आहे. सार्वजनिक अहवाल दर्शवतात की खाजगी रिपॉझिटरीज सार्वजनिक करण्यात आल्या आहेत. "-स्थलांतर" प्रत्यय, जो डेटा एक्सपोजर आणि गती वाढवतो

शाई-हुलुड पेलोडच्या आत: बंडल.जेएस एनपीएम पॅकेजेसमध्ये

शाय-हुलुड जहाजे म्हणून मोठे, वेबपॅक-बंडल केलेले आणि मोठ्या प्रमाणात मिनिफाय केलेले जावास्क्रिप्ट फाइल (बंडल.जेएस, सुमारे ३–३.७ एमबी) जे पासून कार्यान्वित होते पोस्टइंस्टॉल हुक इन package.jsonपरिणामी, प्रत्येक इन्स्टॉल पेलोडला आपोआप ट्रिगर करते. ही रचना आयडेंटिफायर्स लपवते, कंट्रोल फ्लो संकुचित करते आणि सर्व लॉजिक एकाच आर्टिफॅक्टमध्ये एकत्र करते, जे इन्स्टॉलेशन दरम्यान कार्यान्वित होते. विश्लेषक सातत्याने वेबपॅक बंडलिंग, असामान्य फाइल आकार आणि इन्स्टॉल-टाइम एक्झिक्यूशनची पुष्टी करतात.

नमुन्यांमध्ये तुम्हाला आढळणारी अस्पष्टता आणि विश्लेषण-विरोधी वैशिष्ट्ये:

  • संक्षिप्त मॉड्यूल आलेख संख्यात्मक मॉड्यूल आयडी, मोजक्या टिप्पण्या आणि सपाट नियंत्रण प्रवाहासह. शिवाय, या रचनेमुळे मॅन्युअल रिव्ह्यू करणे अत्यंत कठीण होते.
  • स्ट्रिंग लपवणे base64 लेयर्स आणि कन्स्ट्रक्शन हेल्पर्सच्या माध्यमातून. उदाहरणार्थ, वारंवार होणारे बेस64 एन्कोडिंग आणि डीकोडिंग सहसा माहिती बाहेर काढण्याच्या प्रक्रियेत दिसून येतात.
  • डायनॅमिक डिस्पॅच माध्यमातून स्पष्ट-शैलीतील पॅटर्न आणि जनरेट केलेल्या फंक्शन बॉडी, त्यामुळे कोडला रनटाइमवर वर्तन बदलण्यास सक्षम करते.
  • ओएस फिल्टरिंग विशेषतः सीआय रनर्स आणि डेव्हलपर लॅपटॉपवर लिनक्स आणि मॅकओएस एक्झिक्यूशनला प्राधान्य देणे.

कार्यात्मक दृष्ट्या, हे बंडल मॉड्यूलर आहे. लेखांमध्ये OS शोध, फाइलसिस्टम आणि गिट सिक्रेट स्कॅन, क्लाउड SDK ऍक्सेस, GitHub API ऑपरेशन्स आणि मेंटेनरच्या मालकीच्या इतर पॅकेजेसमध्ये बदल करणाऱ्या प्रोपगेशन इंजिनसाठीच्या मॉड्यूल्सचे वर्णन आहे. वास्तविक पाहता, StepSecurity आणि ReversingLabs दोन्ही एका अशा फंक्शनवर प्रकाश टाकतात जे मालवेअर असलेल्या हुकसह पॅकेजेस आपोआप अपडेट करते.

शाई-हुलुडमध्ये इन्स्टॉल-टाइम एक्झिक्यूशन: एनपीएम पॅकेजेस वर्मला कसे ट्रिगर करतात

जेव्हा हल्ला सुरू होतो postinstall नोड चालवते बंडल.जेएस. या टप्प्यावर, स्क्रिप्ट मेमरीमध्ये कार्यरत स्थिती सुरू करते आणि उलगडते, ज्यामुळे वर्मच्या संपूर्ण कार्यासाठी पार्श्वभूमी तयार होते.

शोध आणि संकलन

  • पेलोड process.env डंप करतो आणि उच्च-एन्ट्रॉपी सिक्रेट्स व टोकन प्रीफिक्सेससाठी स्थानिक फाइल्स स्कॅन करतो. याव्यतिरिक्त, तो TruffleHog चालवून व्याप्ती वाढवतो.
  • ते अल्पायुषी क्रेडेन्शियल्स गोळा करण्यासाठी क्लाउड मेटाडेटा एंडपॉइंट्सना क्वेरी करते. उदाहरणार्थ, कॉल करणे 169.254.169.254 AWS वर किंवा metadata.google.internal GCP वर दिसणारे अनेकदा संक्रमित होस्टमध्ये आढळतात.
  • यामुळे, मिळालेले कोणतेही क्रेडेन्शियल नवीन npm पॅकेजेस प्रकाशित करण्यासाठी किंवा GitHub वर्कफ्लो पुश करण्यासाठी त्वरित वापरता येते.

बाहेर काढणे

  • वर्म नावाचे एक नवीन GitHub रेपो तयार करतो शाई हुलुद आणि दुहेरी बेस64-एनकोडेड लिहितो data.json प्लॅटफॉर्म तपशील, पर्यावरण डंप आणि सिक्रेट्ससह. जसे की दिसून येते, जर बचाव करणाऱ्यांना कुठे पाहायचे हे माहित असेल तर हे गोंधळात टाकणारे वर्तन ओळखणे सोपे आहे.
  • ते अनेकदा नावाच्या ब्रांचवर एक GitHub Actions वर्कफ्लो देखील स्थापित करते. शाई-हुलुदजे क्रमबद्ध करते ${{ toJSON(secrets) }} आणि स्टॅटिक वेबहुकला डेटा पोस्ट करतो. शिवाय, जोपर्यंत कोणीतरी ते स्वतःहून काढून टाकत नाही, तोपर्यंत हा वर्कफ्लो कायम राहतो.

प्रसार

  • सापडलेल्या कोणत्याही npm टोकनच्या आधारे, पेलोड हॅक झालेल्या मेंटेनरच्या मालकीच्या सर्व पॅकेजेसची यादी करतो. त्यानंतर, तो प्रत्येक टारबॉल मिळवतो, त्यात bundle.js आणि एक postinstall एन्ट्री टाकतो, आणि पॅकेज पुन्हा प्रकाशित करतो.
  • परिणामी, काही तासांतच डझनभर संक्रमित पॅकेजेस दिसू शकतात, ज्यामुळे संपूर्ण परिसंस्थेवर होणारा परिणाम अनेक पटींनी वाढतो.

चिकाटी आणि संपर्क

  • हा वर्म दुर्भावनापूर्ण वर्कफ्लो जिवंत ठेवतो आणि, अनेक प्रकरणांमध्ये, खाजगी रिपॉझिटरींना सार्वजनिक करतो. "-स्थलांतर" प्रत्यय. एकंदरीत, यामुळे आक्रमणकर्त्याला आपले स्थान टिकवून ठेवता येते आणि डेटा गळतीची शक्यता वाढते.

मुख्य शोध नोंद
याचा असामान्य वापर ${{ toJSON(secrets) }} अॅक्शन्स वर्कफ्लोमध्ये हे दुर्मिळ आहे. म्हणून, शिकारीच्या वेळी संघांनी याला उच्च-संकेत निर्देशक म्हणून मानले पाहिजे.

तुम्ही शोधला पाहिजे असा एक सुधारित कार्यप्रवाह नमुना.

याचा असामान्य वापर ते JSON(गुप्त) या घटनेमध्ये 'कृती' हा एक उच्च-संकेत निर्देशक आहे.

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

विश्लेषकांनी मोठ्या प्रमाणावर या चक्राचे निरीक्षण केले, ज्यामुळे संक्रमित पॅकेजेसची संख्या डझनभरांवरून शेकडोपर्यंत झपाट्याने वाढली.

पॅकेज इकोसिस्टममधील हा एक वर्म का आहे

वर्म हा एक मालवेअर आहे जो प्रत्येक टप्प्यावर ऑपरेटरच्या हस्तक्षेपाशिवाय स्वतःहून पसरतो. ऑपरेटिंग सिस्टीममध्ये, वर्म सहसा एका मशीनमधून दुसऱ्या मशीनमध्ये जाण्यासाठी नेटवर्कमधील त्रुटींचा फायदा घेतात. याउलट, शाई-हुलुड एनपीएम (npm) रजिस्ट्रीमध्ये काम करतो. त्याचा प्रभावी मार्ग यामार्फत जातो. क्रेडेन्शियलचा पुनर्वापर.

हा वर्म चोरलेल्या npm पब्लिश टोकन्सचा फायदा घेतो. वैध क्रेडेन्शियल्स मिळताच, तो त्याच मेंटेनरच्या मालकीच्या इतर पॅकेजेसखाली संक्रमित आवृत्त्या पुन्हा प्रकाशित करतो. त्यानंतर, संशय नसलेले डेव्हलपर्स किंवा CI रनर्सद्वारे ती पॅकेजेस इन्स्टॉल केली जातात आणि हे चक्र पुन्हा सुरू होते.

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

"हे कसे काम करते" संक्षिप्त माहितीपत्रक

शाय-हुलुदच्या जीवनचक्राचा सारांश खालीलप्रमाणे आहे.cisत्याच्या मुख्य टप्प्यांचे विश्लेषण:

  • सोबतचे पॅकेज पोस्टइंस्टॉल स्थापित केले आहे, आणि bundle.js अंमलबजावणी करतो.
  • पेलोड एन्व्हायर्नमेंट व्हेरिएबल्स डंप करतो, फाइल्स आणि गिट हिस्ट्री स्कॅन करतो, आणि रन होतो. ट्रफलहॉगआणि क्लाउड मेटाडेटा सेवांना क्वेरी करते. परिणामी, सापडलेले कोणतेही गुपित तात्काळ उपयुक्त ठरते.
  • माहिती बाहेर काढण्याचे प्रकार दोन प्रकारे होतात: पहिले, 'पब्लिक रेपो' नावाचे एक रिपॉझिटरी तयार करून. शाई हुलुद दुहेरी बेस64-एनकोडेडसह data.jsonदुसरे म्हणजे, पोस्ट करणारा गिटहब अॅक्शन्स वर्कफ्लो स्थापित करून. ${{ toJSON(secrets) }} वेबहुकला.
  • चोरलेल्या कोणत्याही एनपीएम टोकनचा वापर करून, हा वर्म बाधित मेंटेनरच्या मालकीचे इतर सर्व पॅकेजेस त्याच दुर्भावनापूर्ण हुकसह पुन्हा प्रकाशित करतो. अशा प्रकारे, संसर्ग झपाट्याने वाढतो.
  • शेवटी, हल्लेखोराकडे अधिक गुपिते, पसरवण्यासाठी अधिक पॅकेजेस असतात, आणि चिकाटी गिटहब खात्यांमध्ये आणि रिपॉझिटरीजमध्ये.

या प्रकारचा हल्ला व्यावहारिकदृष्ट्या कसा टाळावा?

शाय-हुलुद हा एक इशारा आहे. टोकन्स चोरून स्वतःला पुन्हा प्रकाशित करणारा वर्म हा भविष्यातील धोका नाही, तर तो सध्या कार्यरत आहे. एनपीएम पॅकेजेस इकोसिस्टम आज. या प्रकाराला प्रतिबंध करण्यासाठी पुरवठा साखळी हल्लासंघांना अशा नियंत्रणांची आवश्यकता असते जी प्रोग्राम करण्यायोग्य, स्वयंचलित आणि थेट लागू करता येण्याजोगी असतात. CI/CD pipelineह्या त्याच संरक्षणप्रणाली आहेत ज्या तुम्ही आधीपासूनच अंमलात आणू शकता. झायगेनी.

वाईट कलाकृतींना प्रवेशद्वारावरच थांबवा

डेव्हलपर्स किंवा CI जॉब्सपर्यंत पोहोचण्यापूर्वी तुम्ही npm पॅकेजेस आणि टारबॉल्स स्कॅन केले पाहिजेत. bundle.js फाइल्स, संशयास्पद पोस्टइन्स्टॉल hooksआणि अस्पष्टीकरण चिन्हे हे सर्व सुरुवातीचे धोक्याचे इशारे म्हणून काम करतात. शिवाय, शांतता कालावधी आणि पिन केलेल्या आवृत्त्यांची अंमलबजावणी करणे pipelineहे ताजे, तपासणी न झालेले प्रकाशन आपोआप वापरले जाण्यापासून प्रतिबंधित करते.

कठोर CI/CD मुलभूतरित्या

Guardrails in CI/CD अत्यावश्यक आहेत. ते नवीन स्क्रिप्ट्स किंवा बायनरीज सादर करणारे मर्ज किंवा इन्स्टॉल्स नाकारतात. त्याच वेळी, ते सिक्रेट्स सिरीअलाइज करणारे किंवा बाह्य पोस्ट करण्याचा प्रयत्न करणारे वर्कफ्लो ब्लॉक करतात. टीम्सनी केवळ लॉकफाइल इन्स्टॉल्सची देखील आवश्यकता ठेवली पाहिजे.npm ci) सर्वांमध्ये pipelineत्यामुळे डिपेंडेंसी सेट्स पुनरुत्पादनीय आणि सुरक्षित राहतात.

टोकन स्फोटाची त्रिज्या कमी करा

सिक्रेट्स हे अपयशाचे एकमेव कारण बनू नयेत. कोड, कॉन्फिग्स आणि... सतत स्कॅन करा. pipeline साठी आउटपुट उघड झालेली क्रेडेन्शियल्सटोकन्सची व्याप्ती मर्यादित असावी, त्यांचे आयुष्यमान कमी असावे आणि धोका आढळल्यास ते आपोआप बदलले जावेत. सर्वसाधारणपणे, संशयास्पद पोस्टइन्स्टॉल प्रक्रिया राबवलेल्या होस्टवर वापरलेले कोणतेही टोकन असुरक्षित समजावे.

अळीचे वर्तन लवकर ओळखा

विसंगती शोधणे हे महत्त्वाचे आहे. उदाहरणार्थ, npm publish इव्हेंट्समध्ये अचानक वाढ, विनाकारण दिसणारे नवीन वर्कफ्लो, किंवा विचित्र एन्कोडेड फाइल्सनी भरलेले नवीन पब्लिक रिपॉझिटरीज, हे सर्व वर्मच्या हालचालीचे संकेत देऊ शकतात. त्यामुळे, टीमने त्वरित अलर्ट जारी करावा आणि अशी धोक्याची चिन्हे दाखवणाऱ्या कोणत्याही मेंटेनर्स किंवा रनर्सना वेगळे करावे.

बिल्ड्समध्ये व्यत्यय न आणता त्वरित दुरुस्त करा

वेग आणि सुरक्षितता एकत्रच असायला हव्यात. स्वयंचलित pull requests सदोष npm पॅकेजेसच्या जागी प्रमाणित आवृत्त्या वापरता येतात. याव्यतिरिक्त, पोहोचण्यायोग्यता आणि शोषणक्षमता विश्लेषणामुळे अपग्रेड्स कमीत कमी आणि स्थिर राहतील याची खात्री होते. शेवटी, एकदा धोका असल्याची खात्री झाल्यावर, प्रभावित CI रनर्सना क्लीन इमेजेस वापरून पुन्हा तयार करा, जेणेकरून हल्ला पुढे पसरणार नाही.

तडजोडीचे निर्देशक (IoCs)

शाय-हुलुदचे विश्लेषण करताना, संघांनी दोन्ही गोष्टींकडे लक्ष दिले पाहिजे. स्थिर आयओसी फाईल्समध्ये आणि वर्तणूकविषयक आयओसी in pipelineएकत्रितपणे, हे संकेत संसर्ग लवकर ओळखण्यास आणि जंतू अधिक पसरण्यापूर्वी प्रतिसाद देण्यास मदत करतात.

स्थिर आयओसी

खालील SHA-256 डायजेस्ट जुळणी आढळून आली. bundle.js नमुने:

  • 46faab8ab153fae6e80e7cca38eab363075bb524edd79e42269217a083628f09
  • 81d2a004a1bca6ef87a1caf7d0e0b355ad1764238e40ff6d1b1cb77ad4f595c3
  • dc67467a39b70d1cd4c1f7f7a459b35058163592f4a9e8fb4dffcbba98ef210c

याव्यतिरिक्त, खालील वारंवार आढळणाऱ्या नमुन्यांवर लक्ष ठेवा:

  • A bundle.js पॅकेजच्या मूळ स्थानी.
  • "postinstall": "node bundle.js" आत package.json.
  • रिपॉझिटरीज नावाची शाई हुलुद.
  • गिटहब वर्कफ्लो ज्यामध्ये समाविष्ट आहे ${{ toJSON(secrets) }}.

वर्तणूकविषयक आयओसी

फाईल सिग्नेचरच्या पलीकडे, वर्मची क्रियाकलाप वर्तणुकीतून दिसून येते. उदाहरणार्थ:

  • एका मेंटेनरकडून npm publish इव्हेंट्सचा अचानक उद्रेक.
  • बाह्य एंडपॉइंट्सवर डेटा पाठवणारे नवीन वर्कफ्लो.
  • CI रनर्सकडून ट्रिगर केलेल्या आउटबाउंड POST विनंत्या.
  • एन्कोडेड ब्लॉब्ससह अलीकडेच तयार केलेले सार्वजनिक रिपॉझिटरीज.

जलद शिकार

निष्कर्ष: शाई-हुलुदकडून मिळालेले धडे

The शाई-हुलुड पुरवठा साखळी हल्ला एनपीएम पॅकेजेसमध्ये आढळलेला हा प्रकार आजची सॉफ्टवेअर पुरवठा साखळी किती नाजूक झाली आहे हे दाखवतो. या वर्मने केवळ दुर्भावनापूर्ण कोड टाकण्यापलीकडे जाऊन काम केले. त्याने टोकन्स चोरले, डेटा बाहेर पाठवला आणि नंतर स्वतःला आपोआप पुन्हा प्रकाशित केले. यामुळे, हा हल्ला आठवड्यांऐवजी काही तासांतच पसरला.

डेव्हलपर्स आणि डेव्हऑप्स टीम्ससाठी धडे स्पष्ट आहेत:

  • प्रत्येक इन्स्टॉल कोड चालवतो. एका सामान्य npm पॅकेजमध्ये सुद्धा पोस्टइन्स्टॉल वर्म लपलेला असू शकतो.
  • प्रत्येक टोकनला उच्च मूल्य आहे. एकदा चोरी झाल्यावर, त्याचा वापर मालवेअरचा अधिक प्रसार करण्यासाठी केला जाऊ शकतो.
  • प्रत्येक pipeline तपासणीची गरज आहे. न guardrails डिपेंडेंसी, वर्कफ्लो आणि सिक्रेट्सच्या बाबतीत, एक छोटीशी तडजोड सुद्धा पटकन प्रोडक्शनवर परिणाम करू शकते.

त्यामुळे, शाई-हुलुडसारखे हल्ले थांबवण्यासाठी स्वयंचलित आणि अंमलात आणण्यास सोप्या नियंत्रणांची आवश्यकता आहे. टीम्सनी इन्स्टॉल करण्यापूर्वी एनपीएम पॅकेजेस स्कॅन करावीत, लॉकफाइल बिल्ड्सचा वापर करावा, विचित्र पब्लिशिंग हालचाली ओळखाव्यात आणि टोकन्सचा कालावधी कमी ठेवावा. ही पावले आता ऐच्छिक राहिलेली नाहीत. उलट, आधुनिक काळात लवचिकतेचा हाच पाया आहे. pipelines.

झायजेनीमध्ये, आम्ही शाई-हुलुड सप्लाय चेन हल्ल्याला संपूर्ण ओपन सोर्स इकोसिस्टमसाठी एक इशारा म्हणून पाहतो. पुढे जाण्याचा शाश्वत मार्ग म्हणजे सप्लाय चेन सुरक्षा थेट विकास प्रक्रियेत आणणे, त्या टप्प्यावर जिथे कोड, एनपीएम पॅकेजेस आणि pipelines कनेक्ट करा.

Shai-Hulud मध्ये बाधित झाल्याचे आढळलेल्या npm पॅकेजेस आणि आवृत्त्यांची संपूर्ण यादी खाली दिली आहे. तुमच्या लॉकफाईल्स, रजिस्ट्री आणि CI तपासण्यासाठी याचा वापर करा. pipelineप्रदर्शनासाठी s.

असुरक्षित पॅकेजेसची यादी

📦 असुरक्षित 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
टीव्हीआय-सीएलआय0.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/logger0.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
टीव्हीआय-सीएलआय0.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/logger0.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
ngx-ws1.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
sca-tools-software-composition-analysis-tools
तुमच्या सॉफ्टवेअरमधील धोक्यांना प्राधान्य द्या, त्यांचे निवारण करा आणि त्यांना सुरक्षित करा.
आपले मोफत खाते मिळवा.
क्रेडिट कार्ड आवश्यक नाही.

तुमचा सॉफ्टवेअर विकास आणि वितरण सुरक्षित करा

झायगेनी प्रोडक्ट सूटसह