Shai Hulud ने दूसरा सप्लाई-चेन हमला शुरू किया
(aikido.dev)- Shai Hulud 2.0 ने npm ecosystem पर फिर से हमला किया, और Zapier, ENS Domains, AsyncAPI, PostHog, Postman जैसे प्रमुख प्रोजेक्ट्स के पैकेज संक्रमित किए
- malicious code इंस्टॉलेशन प्रक्रिया के दौरान अपने-आप चलकर डेवलपर सिस्टम और cloud environment के secrets की चोरी करता है
- संक्रमित सिस्टम में TruffleHog का उपयोग कर API keys, tokens, passwords आदि खोजे जाते हैं और उन्हें public GitHub repositories में अपलोड किया जाता है
- यह हमला पहले से अधिक विस्तृत है: अधिकतम 100 पैकेज संक्रमित, और authentication विफल होने पर home directory की files delete करने की क्षमता शामिल
- npm ecosystem की trust chain को खतरे में डालने वाला यह बड़े पैमाने का supply-chain हमला, सभी developer teams के लिए secrets की जांच और rotation की जरूरत को रेखांकित करता है
Shai-Hulud कैंपेन का अवलोकन
- Shai-Hulud, npm ecosystem में self-replicating worm-type malware है, जो संक्रमित developer environment के जरिए तेज़ी से फैलता है
- संक्रमण होने पर यह TruffleHog का इस्तेमाल कर API keys, tokens जैसे exposed secrets खोजता है
- एकत्र की गई जानकारी public GitHub repositories में भेजी जाती है, और उसके बाद नए malicious packages npm पर publish कर फैलाव जारी रखा जाता है
- हमलावरों ने इस हमले को “Second Coming” नाम दिया
- हमला उस समय फिर शुरू हुआ जब npm ने 9 दिसंबर को legacy tokens हटाने की घोषणा की थी
हमले की टाइमलाइन
- 27 अगस्त: S1ngularity कैंपेन रिपोर्ट सार्वजनिक
- 16 सितंबर: पहला Shai-Hulud हमला हुआ
- 18 सितंबर: तकनीकी विश्लेषण और payload behavior रिपोर्ट किया गया
- 24 नवंबर: npm token removal से ठीक पहले दूसरा हमला (Second Coming) हुआ
हमले के तरीके में बदलाव
- इस बार हमला
setup_bun.jsफ़ाइल के जरिए Bun runtime इंस्टॉल करता है, और उसके बादbun_environment.jsचलाता है - चोरी किए गए डेटा को अपलोड करने के लिए random नाम वाले GitHub repositories बनाए जाते हैं
- संक्रमित target packages की संख्या 20 से बढ़कर 100 हो गई
- GitHub या npm authentication विफल होने पर यूज़र की पूरी home directory delete करने की क्षमता भी शामिल है
संक्रमित पैकेज
- कुल 492 npm packages संक्रमित पाए गए, जिनके monthly downloads 13.2 करोड़ तक पहुंचते हैं
- प्रमुख प्रभावित प्रोजेक्ट्स: Zapier, ENS Domains, AsyncAPI, PostHog, Postman, Browserbase
- उदाहरण पैकेज:
@zapier/zapier-sdk,@ensdomains/ensjs,@asyncapi/cli,posthog-js,@postman/pm-bin-linux-x64आदि
secrets का लीक होना
- malicious code, “Sha1-Hulud: The Second Coming” विवरण वाले GitHub repositories में secrets अपलोड करता है
- अब तक 26,300 से अधिक repositories के exposed होने की पुष्टि हुई है
हमलावर की गलती
- कुछ पैकेजों में सिर्फ
setup_bun.jsशामिल था औरbun_environment.jsगायब था, इसलिए worm पूरी तरह execute नहीं हो सका - इसके कारण हमले के फैलाव की सीमा कुछ हद तक सीमित रही
संक्रमण का रास्ता और शुरुआती बिंदु
- शुरुआती संक्रमण 2025 11 24 03:16:26 GMT+0 पर
go-templateऔर AsyncAPI से जुड़े 36 पैकेजों में शुरू हुआ - इसके बाद यह PostHog(04:11:55) और फिर Postman(05:09:25) तक फैला
- AsyncAPI CLI repository में malicious branch बनाए जाने के बाद deploy किए गए code की पुष्टि हुई
संभावित प्रभाव
- इंस्टॉल के समय अपने-आप चलकर यह डेवलपर के local environment, build systems, और cloud credentials तक पहुंच सकता है
- चोरी हुए secrets का उपयोग कर आगे account compromise और malicious package publication संभव है
- यह npm ecosystem की trust-based supply-chain security के लिए गंभीर खतरा है
सुरक्षा प्रतिक्रिया के लिए सिफारिशें
- Zapier और ENS से जुड़ी npm dependencies की पूरी जांच करें
- GitHub, npm, cloud, CI/CD secrets को पूरी तरह rotate करें
- GitHub पर “Sha1-Hulud: The Second Coming” विवरण वाली repositories खोजें
- CI environment में npm
postinstallscripts disable करें - package versions pin करें और MFA enable करें, तथा Safe-Chain जैसे tools से malicious packages block करें
निष्कर्ष
- Shai-Hulud 2.0, npm supply chain को निशाना बनाने वाला बड़े पैमाने का दोबारा हमला है,
जिससे सैकड़ों लोकप्रिय पैकेज और हज़ारों GitHub repositories प्रभावित हुई हैं - सभी developer teams को dependency verification, secrets rotation, और automatic install scripts को block करने के कदम तुरंत उठाने चाहिए
1 टिप्पणियां
Hacker News राय
Bubblewrap(bwrap) का ज़िक्र करना चाहिए। यह टूल npm/node environment में हो सकने वाले ज़्यादातर attack vectors को हटा सकता है, या कम से कम arbitrary code execution होने पर नुकसान को सीमित कर सकता है
यह परफेक्ट समाधान नहीं है, लेकिन एक सरल wrapper script के साथ इस्तेमाल करने पर मुझे यह rootless Podman container से कहीं बेहतर लगता है
Bubblewrap GitHub लिंक
Python में लिखी एक script साझा की गई है। यह script मेरे repositories में pnpm या npm lock file में compromised package शामिल है या नहीं यह जाँचती है
script लिंक
पहले यह Dup लगा, लेकिन वास्तव में यह एक अलग article था
संबंधित लिंक
बताया गया कि duplicate चर्चा यहाँ चल रही है
इशारा किया गया कि शीर्षक में टाइपो है। मौजूदा HN शीर्षक है
Sha1-Hulud: The Second Comingथा, इसलिए शायद इसी से भ्रम पैदा हुआsha1-huludनाम से secrets पोस्ट कर रहा हैसंबंधित GitHub खोज लिंक