OreNPMGuard - Shai-Hulud पैकेज स्कैनर
संस्करण 2.0.0 - Shai-Hulud 2.0 डिटेक्शन और एन्हांस्ड प्रिवेंशन सिस्टम
Shai-Hulud सप्लाई चेन हमलों (मूल सितंबर 2025 और Shai-Hulud 2.0 नवंबर 2025) से समझौता किए गए npm पैकेजों का पता लगाने के लिए एक सुरक्षा उपकरण। सटीक इंस्टॉल किए गए संस्करणों और समझौते के संकेतकों (IoCs) का पता लगाने के लिए package.json और package-lock.json दोनों फ़ाइलों को स्कैन करता है। आसान रखरखाव के लिए केंद्रीकृत YAML कॉन्फ़िगरेशन के साथ Python और Node.js दोनों इम्प्लीमेंटेशन में उपलब्ध।
नवीनतम अपडेट: नवंबर 24, 2025 - 738+ समझौता किए गए पैकेज ट्रैक किए गए, जिनमें 1,291 अद्वितीय package@version संयोजन हैं। अब मूल Shai-Hulud और Shai-Hulud 2.0 दोनों हमले वेरिएंट का पता लगाता है।
मल्टी-इकोसिस्टम स्कैनिंग के लिए, देखें ore-mal-pkg-inspector।
🔗 संबंधित प्रोजेक्ट्स
मल्टी-इकोसिस्टम दुर्भावनापूर्ण पैकेज स्कैनिंग (npm, PyPI, Maven, RubyGems, Go, Cargo) के लिए देखें:
ore-mal-pkg-inspector - डायनामिक थ्रेट इंटेलिजेंस के साथ व्यापक दुर्भावनापूर्ण पैकेज स्कैनर।
OreNPMGuard विशेष रूप से npm पैकेजों के लिए Shai-Hulud हमले की सुरक्षा पर केंद्रित है।
🚨 Shai-Hulud हमलों के बारे में
Shai-Hulud एक स्व-प्रतिकृति वर्म है जिसने सितंबर 14-15, 2025 को npm पैकेजों से समझौता करना शुरू किया, जो npm इकोसिस्टम में पहला सफल स्व-प्रसार हमला और अब तक देखे गए सबसे गंभीर JavaScript सप्लाई-चेन हमलों में से एक है। फ्रैंक हर्बर्ट की Dune श्रृंखला के विशाल सैंडवर्म के नाम पर, यह मैलवेयर कई वेरिएंट में विकसित हुआ है।
मूल Shai-Hulud (सितंबर 2025)
मूल हमले ने 200+ npm पैकेजों को संक्रमित किया (जैसा कि इस टूल में ट्रैक किया गया है) जिसमें प्रति पैकेज कई संस्करण प्रभावित हुए।
Shai-Hulud 2.0 (नवंबर 2025) - नया
नवंबर 2025 में महत्वपूर्ण बदलावों के साथ एक नया वेरिएंट उभरा:
- 738+ समझौता किए गए पैकेज जिनमें 1,291 अद्वितीय package@version संयोजन हैं
- ~350 अद्वितीय उपयोगकर्ताओं में 25,000+ प्रभावित रिपॉजिटरी
- नया निष्पादन चरण:
preinstall स्क्रिप्ट्स का उपयोग करता है (सिर्फ़ postinstall नहीं)
- नई पेलोड फ़ाइलें:
setup_bun.js और bun_environment.js (bundle.js के अतिरिक्त)
- उन्नत पर्सिस्टेंस: 'SHA1HULUD' नाम के सेल्फ-होस्टेड रनर और नए GitHub वर्कफ़्लो पैटर्न बनाता है
- मल्टी-क्लाउड टार्गेटिंग: AWS, Azure, और GCP क्रेडेंशियल हार्वेस्टिंग
- Docker प्रिविलेज एस्केलेशन: प्रिविलेज्ड कंटेनरों के माध्यम से रूट एक्सेस प्राप्त करने का प्रयास करता है
- नवंबर 21-23, 2025 के बीच अपलोड किए गए पैकेज
संदर्भ: Wiz Research - Shai-Hulud 2.0 ब्लॉग पोस्ट
🦠 हमला कैसे काम करता है
पेशेंट ज़ीरो: यह हमला rxnt-authentication पैकेज के साथ शुरू हुआ, जिसे समझौता किए गए "techsupportrxnt" npm खाते द्वारा 14 सितंबर, 2025 को 17:58:50 UTC पर प्रकाशित किया गया था।
अटैक चेन (मूल Shai-Hulud):
- इंस्टॉलेशन: दुर्भावनापूर्ण पैकेज
bundle.js (3MB+ JavaScript पेलोड) निष्पादित करने वाली postinstall स्क्रिप्ट चलाता है
- क्रेडेंशियल हार्वेस्टिंग: GitHub/npm टोकन, AWS/GCP/Azure क्रेडेंशियल, एनवायरनमेंट वेरिएबल्स और IMDS-एक्सपोज़्ड क्लाउड कुंजियों को स्कैन करने के लिए TruffleHog का उपयोग करता है
- डेटा एक्सफ़िलट्रेशन: पीड़ित के GitHub खाते के तहत
data.json (डबल base64-एन्कोडेड) में चुराए गए रहस्यों के साथ सार्वजनिक "Shai-Hulud" रिपॉजिटरी बनाता है
- पर्सिस्टेंस: दुर्भावनापूर्ण GitHub Actions वर्कफ़्लो (
.github/workflows/shai-hulud-workflow.yml) इंजेक्ट करता है जो रिपॉजिटरी रहस्यों को webhook[.]site पर एक्सफ़िलट्रेट करता है
- रिपॉजिटरी माइग्रेशन: निजी संगठनात्मक रिपॉजिटरी को "-migration" सफ़िक्स और "Shai-Hulud Migration" विवरण के साथ सार्वजनिक व्यक्तिगत रिपॉजिटरी बनने के लिए मजबूर करता है
- वर्म प्रसार: पीड़ित द्वारा बनाए गए अन्य पैकेजों में मैलवेयर इंजेक्ट करने के लिए चुराए गए npm टोकन का उपयोग करता है, संस्करण संख्याएँ बढ़ाता है और
postinstall हुक जोड़ता है
अटैक चेन (Shai-Hulud 2.0 - नवंबर 2025):
- इंस्टॉलेशन: दुर्भावनापूर्ण पैकेज
setup_bun.js या bun_environment.js (नई पेलोड फ़ाइलें) निष्पादित करने वाली preinstall स्क्रिप्ट चलाता है
- डेटा फ़ाइल निर्माण:
cloud.json, contents.json, environment.json और truffleSecrets.json फ़ाइलें बनाता है
- क्रेडेंशियल हार्वेस्टिंग: आधिकारिक SDK का उपयोग करके मल्टी-क्लाउड टार्गेटिंग (AWS, Azure, GCP), कॉन्फ़िग फ़ाइलों, एनवायरनमेंट वेरिएबल्स और IMDS से क्रेडेंशियल स्क्रैप करना
- सेल्फ-होस्टेड रनर रजिस्ट्रेशन: संक्रमित मशीन को 'SHA1HULUD' नाम के सेल्फ-होस्टेड रनर के रूप में पंजीकृत करता है
- GitHub वर्कफ़्लो इंजेक्शन:
- बैकडोर एक्सेस के लिए सेल्फ-होस्टेड रनर के साथ
.github/workflows/discussion.yaml बनाता है
- सीक्रेट एक्सफ़िलट्रेशन के लिए
.github/workflows/formatter_*.yml बनाता है (फिर गतिविधि छिपाने के लिए वर्कफ़्लो को हटा देता है)
- Docker प्रिविलेज एस्केलेशन:
docker run --rm --privileged -v /:/host के माध्यम से रूट एक्सेस प्राप्त करने का प्रयास करता है
- क्लाउड सीक्रेट डंपिंग: AWS Secrets Manager, Google Secret Manager, और Azure Key Vault से रहस्यों को डंप करने के लिए प्रमाणित सत्रों का उपयोग करता है
- रिपॉजिटरी निर्माण: एक्सफ़िलट्रेशन के लिए विवरण में "Shai-Hulud" के साथ रिपॉजिटरी बनाता है
🎯 क्या चोरी होता है
- डेवलपमेंट क्रेडेंशियल: GitHub PATs (
ghp_*, gho_*), npm प्रमाणीकरण टोकन
- क्लाउड क्रेडेंशियल: AWS, GCP, Azure एक्सेस कुंजियाँ और टोकन
- API कुंजियाँ: Atlassian, Datadog, और अन्य सेवा क्रेडेंशियल
- सिस्टम जानकारी: एनवायरनमेंट वेरिएबल्स, होस्ट विवरण, उपयोगकर्ता खाते
- सोर्स कोड: निजी रिपॉजिटरी सार्वजनिक की गईं या क्लोन की गईं
📊 प्रभाव का पैमाना
मूल Shai-Hulud (सितंबर 2025):
- इस ट्रैकिंग डेटाबेस में 200+ पैकेज समझौता किए गए (लोकप्रिय पैकेज जैसे
@ctrl/tinycolor, ngx-bootstrap सहित)
- कई GitHub खाते समझौता किए गए (सटीक संख्या रिपोर्टिंग स्रोत के अनुसार भिन्न होती है)
- "Shai-Hulud Migration" लेबल के साथ सार्वजनिक रिपॉजिटरी बनाई गईं
- पैकेज निर्भरताओं के माध्यम से डेवलपर्स संभावित रूप से प्रभावित हुए
Shai-Hulud 2.0 (नवंबर 2025):
- 738+ समझौता किए गए पैकेज जिनमें 1,291 अद्वितीय package@version संयोजन हैं
- ~350 अद्वितीय उपयोगकर्ताओं में 25,000+ प्रभावित रिपॉजिटरी बनाई गईं
- प्रारंभिक अभियान के घंटों के दौरान हर 30 मिनट में 1,000+ नई रिपॉजिटरी जोड़ी गईं
- प्रमुख इकोसिस्टम के पैकेजों को प्रभावित करता है: Zapier, ENS Domains, PostHog, Postman, AsyncAPI, और अन्य
- मल्टी-क्लाउड क्रेडेंशियल चोरी (AWS, Azure, GCP)
- Docker प्रिविलेज एस्केलेशन के प्रयास
सत्यापित क्रेडेंशियल चोरी (~20,000 विश्लेषित रिपॉजिटरी से):
- 775 समझौता किए गए GitHub एक्सेस टोकन
- 373 AWS क्रेडेंशियल उजागर
- 300 GCP क्रेडेंशियल उजागर
- 115 Azure क्रेडेंशियल उजागर
⚠️ क्रॉस-पीड़ित एक्सफ़िलट्रेशन चेतावनी
महत्वपूर्ण: Wiz Research ने पुष्टि की है कि क्रॉस-पीड़ित एक्सफ़िलट्रेशन हो रहा है। इसका मतलब है:
- एक पीड़ित के चुराए गए रहस्य किसी भिन्न, असंबंधित पीड़ित के स्वामित्व वाली रिपॉजिटरी में प्रकाशित हो सकते हैं
- यदि आपको अपने GitHub रिपॉजिटरी में संदिग्ध डेटा मिलता है, तो यह किसी अन्य समझौता किए गए उपयोगकर्ता का हो सकता है
- आपका डेटा उन रिपॉजिटरी में एक्सफ़िलट्रेट किया गया हो सकता है जिनके आप मालिक नहीं हैं
- यह एट्रिब्यूशन और घटना प्रतिक्रिया को जटिल बनाता है
जांच निहितार्थ: अपनी रिपॉजिटरी में एक्सफ़िलट्रेट किए गए डेटा की समीक्षा करते समय, सत्यापित करें कि डेटा वास्तव में आपके संगठन का है या किसी अन्य पीड़ित का।
🔗 पिछले हमलों से संबंध
यह हमला अगस्त 2025 के s1ngularity/Nx समझौते से सीधे जुड़ा है, जहाँ प्रारंभिक GitHub टोकन चोरी ने व्यापक सप्लाई चेन हमले को सक्षम किया। कई प्रारंभिक Shai-Hulud पीड़ित s1ngularity हमले के ज्ञात पीड़ित थे। सुरक्षा शोधकर्ता अभियान के भीतर AI-जनित सामग्री के एकीकरण पर भी ध्यान देते हैं, मध्यम विश्वास के साथ कि दुर्भावनापूर्ण bash स्क्रिप्ट उत्पन्न करने के लिए एक LLM का उपयोग किया गया था।
📅 हमले की समयरेखा