5 अगस्त 2026 को, Sonatype के शोधकर्ताओं ने npm में एक अभियान दर्ज किया, जिसे Flooding Dropper कहा गया: 846 दुर्भावनापूर्ण घटक, जो दर्जनों एकल-उपयोग खातों के साथ अपलोड किए गए थे। एक सप्ताह बाद, संख्या बढ़ गई - OpenSourceMalware के अद्यतन आंकड़ों में, जो उसी अभियान को WEL1DROPPER के नाम से ट्रैक करता है, अब 1033 पुष्टि किए गए पैकेज शामिल हैं। इसके अंदर - एक क्रॉस-प्लेटफ़ॉर्म लोडर है, जो Windows, macOS और Linux के तहत दूसरी स्टेज खींचता है और डेवलपर की मशीन से सब कुछ हटा देता है, जो उसके हाथ में आता है: पर्यावरण चर, क्रेडेंशियल्स, सत्र।
उन टीमों के लिए, जो पार्सिंग और स्वचालन पर निर्भर हैं, यह "npm के बारे में एक और खबर" नहीं है। स्क्रैपिंग स्टैक - यह वास्तव में npm है: Playwright, Puppeteer, Crawlee, प्रॉक्सी एजेंटों के चारों ओर लिपटे, HTML पार्सर, कतारें। और उसी मशीन पर, जहां यह सब एक टीम द्वारा स्थापित किया जाता है, आमतौर पर एक .env होता है जिसमें प्रॉक्सी पूल का लॉगिन और पासवर्ड, सत्रों का कुकी-जार और एंटी-डिटेक्ट ब्राउज़र के प्रोफाइल होते हैं। आइए देखें कि वास्तव में क्या हुआ और इसका व्यावहारिक रूप से क्या अर्थ है।
अभियान के बारे में क्या ज्ञात है
Sonatype अभियान को पहचानकर्ता sonatype-2026-005660 के तहत चलाता है, जिसमें CVSS 8.7 का मूल्यांकन और CWE-506 (इंजेक्टेड मालवेयर कोड) की वर्गीकरण है। पैकेजों को एक समूह में जोड़ने वाले विशिष्ट लक्षण:
- स्वचालित नाम निर्माण। नाम दोहराए जाने वाले शब्दों के इंटरपोलेशन के माध्यम से बनाए जाते हैं - रिपोर्ट में "bigops" और "bnpl" जैसे उदाहरण शामिल हैं, जैसे
bigops-apiऔर लंबे संयोजन जैसेdolyame-boxy-desktop-bnpl-card-gallery। OpenSourceMalware इसे "AI स्लॉप स्क्वाटिंग" के रूप में वर्णित करता है - एक लोकप्रिय पैकेज के लिए सावधानीपूर्वक नकल के बजाय यादृच्छिक रूप से उत्पन्न नामों के साथ बड़े पैमाने पर टाइपस्क्वाटिंग। - एक ही रेंज से संस्करण। रिलीज़ 35.x.y के चारों ओर समूहित होते हैं - बिना इतिहास वाले पैकेजों के लिए असामान्य रूप से उच्च नंबर।
- खातों में फैलाव। प्रत्येक खाता पैकेजों का एक छोटा बैच प्रकाशित करता है, इसलिए एक प्रकाशक को अवरुद्ध करना ऑपरेशन को समाप्त नहीं करता है।
प्रक्षिप्ति की प्रक्रिया को विभिन्न तरीकों से वर्णित किया गया है, और यह अंतर महत्वपूर्ण है। Sonatype लिखता है कि कोड "पैकेज को स्थापित करने या आयात करने पर सक्रिय होता है।" OpenSourceMalware स्पष्ट करता है: कुछ नमूने पारंपरिक लाइफसाइकिल हुक के बिना काम करते हैं और डेवलपर को require() के माध्यम से पैकेज को स्वयं जोड़ने की आवश्यकता होती है। व्यावहारिक निष्कर्ष एक है: केवल --ignore-scripts पर भरोसा करना आपको नहीं बचाएगा - यदि निर्भरता वास्तव में कोड में आयात की जाती है, तो लोड उपयोग में आएगा।
दूसरी स्टेज कैसे वितरित की जाती है
लोडर HTTPS के माध्यम से एक छिपे हुए सूची से यादृच्छिक होस्ट से पेलोड खींचता है - The Hacker News के अनुसार, वितरण बिंदुओं के रूप में तीन डोमेन Cloudflare Workers पर कार्य करते थे। यदि सीधी डाउनलोड विफल हो जाती है, तो बैकअप चैनल सक्रिय होता है: लोड DNS TXT रिकॉर्ड से wel1.ru डोमेन के प्लेटफार्म उपडोमेन (sdk.dl, ext.dl, pkg.dl, net.dl) से एकत्र किया जाता है। इसका मतलब है कि HTTP डोमेन पर आउटबाउंड फ़िल्टर सामान्य DNS अनुरोधों के माध्यम से बायपास किया जाता है - और कॉर्पोरेट नेटवर्क में इन्हें बहुत कम लोग काटते हैं।
इसके बाद - प्लेटफार्मों के अनुसार:
- Windows: ETW और AMSI को पैच किया जाता है (यानी टेलीमेट्री और स्क्रिप्ट एंटीवायरस जांच को निष्क्रिय किया जाता है), रजिस्ट्री में ऑटो-स्टार्ट कुंजियों और शेड्यूलर कार्यों के माध्यम से स्थिरता, AppData में फ़ाइलें।
- macOS: वही बचाव तकनीकें, LaunchAgent के माध्यम से स्थिरता। macOS लोड में शोधकर्ताओं ने रूसी वित्तीय सेवाओं के डोमेन (tcsbank.ru, cloudpayments.ru) पाए - यह रूसी भाषी उपयोगकर्ताओं के बैंकिंग सत्रों में लक्षित रुचि का संकेत है।
- Linux: पैक किया हुआ UPX ELF बाइनरी, Sliver फ्रेमवर्क का एजेंट तैनात करता है - यह अब एक पूर्ण C2 चैनल है, न कि एक बार की चोरी।
इसके अलावा मानक सेट: सैंडबॉक्स और डिबगर पर जांच, आर्किटेक्चर की पहचान, पर्यावरण चर पढ़ना, डिस्कनेक्टेड बैकग्राउंड प्रोसेस (जो टर्मिनल बंद होने पर जीवित रहते हैं) और लोड को मेमोरी में प्रतिबिंबित करना, ताकि डिस्क पर फ़ाइल न छोड़ी जाए।
यह विशेष रूप से पार्सिंग टीमों को क्यों प्रभावित करता है
इन्फोस्टिलर "महत्वपूर्ण" और "गैर-महत्वपूर्ण" के बीच भेद नहीं करता है - यह हर चीज़ को ले जाता है जो किसी रहस्य की तरह दिखती है। सामान्य उपयोगकर्ता के लिए, यह ब्राउज़र से पासवर्ड और क्रिप्टोक्यूरेंसी वॉलेट है। डेटा संग्रह करने वाले व्यक्ति के लिए, ट्रॉफियों का सेट अलग है और, ईमानदारी से कहें तो, अधिक स्वादिष्ट:
- पर्यावरण चर और
.env- यहां लगभग हमेशा प्रॉक्सी गेटवे का होस्ट, लॉगिन, पासवर्ड और सत्र के पैरामीटर (देश, शहर, स्थायी पहचानकर्ता) होते हैं। पर्यावरण चर की एक्सफिल्ट्रेशन अभियान के विश्लेषण में सीधे उल्लिखित है। - कुकी और सत्र टोकन। चोरी किया गया सत्र - यह MFA को बायपास करना है: कुकी अपने आप में यह प्रमाण है कि दूसरी जांच पहले ही पार की जा चुकी है। कार्यात्मक सेवाओं के लिए मान्य टोकन के साथ लॉग टेनशेड मार्केटप्लेस पर $5 से बेचे जाते हैं।
- एंटी-डिटेक्ट ब्राउज़रों के प्रोफाइल - "कुकी + फ़िंगरप्रिंट + प्रॉक्सी" का संयोजन, यानी एक तैयार कार्यात्मक खाता, जिसे गर्म करने की आवश्यकता नहीं है।
- CI/CD, npm और क्लाउड टोकन - न केवल आपकी मशीन तक पहुंच, बल्कि पाइपलाइन तक, जहां से आप पहले से ही अपने निर्माण भेज सकते हैं।
घटनाक्रम का पैमाना अब निचले स्तर का नहीं रहा। SpyCloud की 2026 की रिपोर्ट में 18.1 मिलियन उजागर API कुंजी और टोकन की गणना की गई, जो विशेष रूप से मालवेयर लॉग से प्राप्त हुए। Recorded Future और Flashpoint के अनुसार, 2025 में इन्फोस्टिलर्स ने 11.1 मिलियन मशीनों को संक्रमित किया और 3.3 बिलियन चोरी किए गए खातों को प्रदान किया। और Sonatype की 2026 की सॉफ़्टवेयर आपूर्ति श्रृंखला की स्थिति की रिपोर्ट में 2025 के एक वर्ष में 454,600 से अधिक नए दुर्भावनापूर्ण पैकेज और 1,233 मिलियन से अधिक अवरुद्ध पैकेज शामिल हैं - वर्ष दर वर्ष 75% की वृद्धि। Flooding Dropper एक विसंगति नहीं है, बल्कि प्रवाह का एक सामान्य एपिसोड है।
प्रॉक्सी खाते के मालिक को क्या खोना पड़ता है
मैं विशेष रूप से उस बात को बताना चाहूंगा, जो सुरक्षा विश्लेषण में आमतौर पर नहीं लिखी जाती है, क्योंकि लेखक प्रॉक्सी के साथ काम नहीं करते हैं। लीक हुए प्रॉक्सी क्रेडेंशियल्स "पासवर्ड की हानि" नहीं है, बल्कि तीन समस्याएं एक साथ हैं:
- भुगतान किया गया ट्रैफ़िक। आवासीय और मोबाइल ट्रैफ़िक को गीगाबाइट के लिए चार्ज किया जाता है। आपके क्रेडेंशियल्स पर किसी और का पार्सर - यह आपका बिल है, और इसे नोटिस करना बहुत देर से हो सकता है, जितना आप चाहेंगे।
- आपके IP पर किसी और की प्रतिष्ठा। हमलावर को "स्वच्छ" आवासीय आउटपुट की आवश्यकता होती है ताकि उसकी गतिविधि एक सामान्य घरेलू उपयोगकर्ता की तरह दिखे। आपके लक्षित प्लेटफार्मों को आपकी ही सत्र में संदिग्ध व्यवहार दिखाई देगा - और उन खातों पर प्रतिबंध लगेंगे, जिन्हें आपने वर्षों से गर्म किया है।
- प्रदाता के साथ विवाद। किसी भी सामान्य प्रदाता के दृष्टिकोण से, ट्रैफ़िक आपके खाते से आया था, और आपको स्पष्टीकरण देना होगा।
क्या करना है: व्यावहारिक न्यूनतम
- पर्यावरण को अलग करें। स्क्रैपिंग स्टैक को एक कंटेनर या अलग VM में स्थापित किया जाता है - उस मशीन पर नहीं, जहां व्यक्तिगत कुकी, कार्यात्मक ईमेल और उत्पादन टोकन होते हैं। यह एकमात्र उपाय है, जो उस पैकेज के खिलाफ भी काम करता है, जिसके बारे में अभी कोई नहीं जानता।
- कोड के पास
.envसे प्रॉक्सी क्रेडेंशियल्स को हटा दें। रहस्य - सीक्रेट मैनेजर में या रनर के पर्यावरण चर में, न कि प्रोजेक्ट की जड़ में एक फ़ाइल में, जिसे कोई भी आयातित मॉड्यूल पढ़ता है। - जहां संभव हो, IP द्वारा प्रमाणीकरण सक्षम करें। आपके सर्वर तक पहुंच को बाधित करना चोरी किए गए लॉगिन/पासवर्ड जोड़ी को अमूल्य बना देता है: किसी और के पते से यह बस काम नहीं करेगा। यह कैसे काम करता है और किन परिदृश्यों में उपयुक्त है, इस पर हमने प्रॉक्सी के लिए IP पते की श्वेतसूची पर सामग्री में चर्चा की। पहुंच को सुरक्षित रखने के सामान्य नियम - प्रॉक्सी क्रेडेंशियल्स के सुरक्षित भंडारण पर गाइड में।
- प्रत्येक प्रोजेक्ट के लिए अलग उप-क्रेडेंशियल्स और ट्रैफ़िक सीमाएँ। यदि प्रत्येक स्क्रिप्ट के लिए एक अलग पहुंच है जिसमें गीगाबाइट की सीमा है, तो एक का लीक होना पूरे बैलेंस को नहीं बहाएगा और मिनटों में सीमित हो जाएगा।
- खर्च की निगरानी करें। कार्यों की वृद्धि के बिना GB की खपत में अचानक वृद्धि - यह आपके पास मौजूद सबसे प्रारंभिक और सबसे सस्ता समझौता पहचानने वाला है।
- निर्भरता की अनुशासन।
npm ciको लॉक फ़ाइल के अनुसार स्वतंत्रinstallके बजाय, नए संस्करणों पर संगरोध (7-14 दिन), पैकेज की उम्र और प्रकाशक के इतिहास की जांच, आंतरिक दर्पण के साथ अनुमति सूची। 35.x.y के संस्करण वाला पैकेज, शून्य इतिहास और जुड़े हुए शब्दों से नाम - रुकने का कारण है, न कि स्थापित करने का।
यदि आपको संदेह है कि आप पहले से ही पकड़े गए हैं
Sonatype की सिफारिशें यहां अत्यंत विशिष्ट हैं और इनमें क्रम महत्वपूर्ण है: होस्ट को पूरी तरह से समझौता किया हुआ मानें; वर्णित स्थिरीकरण तंत्र की तलाश करें (Windows में ऑटो-स्टार्ट कुंजियाँ और शेड्यूलर कार्य, macOS में LaunchAgent); क्रेडेंशियल्स को घुमाएँ - npm, GitHub, क्लाउड, CI/CD - साफ़ करने के बाद मशीन, न कि पहले, अन्यथा नए रहस्य उसी मार्ग से चले जाएंगे; लॉक फ़ाइलों, निर्भरता के कैश और आंतरिक दर्पणों की जांच करें कि कहीं बची हुई प्रतियां हैं; पुनर्स्थापना से पहले पैकेज के नामों की वर्णानुक्रमिक जांच करें।
इस सूची में अपने सुझाव जोड़ें: प्रॉक्सी पहुंच के पासवर्ड बदलना, एंटी-डिटेक्ट ब्राउज़र में सक्रिय सत्रों को रद्द करना और पिछले दो हफ्तों में ट्रैफ़िक खपत का इतिहास जांचना। यदि ट्रैफ़िक गीगाबाइट में खरीदा जाता है - आवासीय या मोबाइल प्रॉक्सी, - खर्च की रिपोर्ट और आपका एक्सेस लॉग है।
निष्कर्ष
Flooding Dropper जटिलता में नहीं, बल्कि अर्थशास्त्र में दिलचस्प है: हजारों एकल-उपयोग पैकेज, उत्पन्न नाम, बैचों में खाते - यह एक ऐसा कन्वेयर है, जो इस पर निर्भर करता है कि कोई बिना देखे निर्भरता स्थापित करेगा। अलग-अलग अभियान रजिस्ट्री से हफ्तों तक साफ़ करेंगे, लेकिन प्रवाह नहीं रुकेगा: पिछले वर्ष के लिए Sonatype के आंकड़े कोई भ्रांति नहीं छोड़ते।
डेटा एकत्र करने वालों के लिए व्यावहारिक निष्कर्ष सरल है। डेवलपर की मशीन वह बिंदु है, जहां आपके सभी एक्सेस एक साथ मिलते हैं: प्रॉक्सी, खाते, सत्र, पाइपलाइन। स्टैक को अलग करें, एक्सेस को IP से बांधें, क्रेडेंशियल्स को परियोजनाओं में वितरित करें और ट्रैफ़िक खपत के ग्राफ़ पर नज़र रखें। इनमें से कोई भी कदम यह इंतज़ार करने की आवश्यकता नहीं है कि अगला अभियान अनुक्रमित हो।
```