TL; DR
Venti pacchetti npm publicati in dui ghjorni à a fine di lugliu è à u principiu d'aostu 2026 si prisentanu cum'è biblioteche di cumpunenti di l'interfaccia utente interna è utilità di backend spartute. Nisunu di elli implementa a funziunalità chì publicitanu. Ognunu furnisce una classa stub, un README chì descrive u pacchettu cum'è internu, è un schedariu chjamatu _polyfill.js.
A parte interessante hè da induve quellu schedariu hè invucatu. Ùn hè micca un ganciu d'installazione — i manifesti ùn dichjaranu micca preinstallazione, installazione o postinstallazione. Invece, l'ultima linea di index.js leghje: try { require("./_polyfill"); } catch (_) {}U payload funziona a prima volta chì u codice di l'applicazione importa u pacchettu. Installazione cù --ignore-scripts, l ' standard cunsiglii per riduce l'esposizione à a catena di furnimentu à u mumentu di l'installazione, ùn l'impedisce micca.
Ce _polyfill.js Ciò chì face hè di recuperà un eseguibile specificu di a piattaforma da unu di i trè ospiti Cloudflare Workers, scrivelu in un cartulare tempurale sottu un nome aleatoriu, marcallu cum'è eseguibile è lanciallu staccatu da u prucessu parente. Quellu eseguibile hè ellu stessu un loader: enumera i prudutti di sicurezza di l'endpoint per nome di prucessu, verifica u nome d'utilizatore attuale contr'à i conti di l'ambiente d'analisi cunnisciuti, patcha l'interfacce di telemetria AMSI è ETW in memoria, installa a persistenza sottu u nome di un cumpunente audio Windows è recupera un terzu binariu di parechji megabyte di dimensione. A terza tappa ghjunghje criptata è hè decifratu è eseguitu in memoria invece di scrittu nantu à u discu.
U 1 d'aostu, circa quattru ore dopu chì i pacchetti sò stati cunfirmati maliziosi dopu una revisione manuale, diciannove di i vinti nomi sò stati rimossi da npm da u so propiu editore in una sequenza di vinticinque secondi. U 2 d'aostu, unu di questi nomi hè statu registratu di novu - da un contu diversu, chì portava u listessu codice. L'infrastruttura di consegna servia tutte e trè tappe quandu questu hè statu scrittu.
| Packages | 20 nomi npm, ~74 versioni publicate |
| Temi di numinazione | beaver-ui-* (13), accounts-* (3), più afisha-storybook-default, bcore-bravo-eslint-config, arbocrate-sla-prober-arbocrate-sla-prober-core, a.poltoradnev-package-c |
| Trigger | Impurtazione di moduli (require), micca un script di ciclu di vita npm |
| Stage 1 | _polyfill.js - recuperu è lanciu |
| Stage 2 | Caricatore ligatu staticamente, pacchettu UPX in Linux; enumerazione di a sicurezza di l'endpoint, patch AMSI/ETW, persistenza |
| Stage 3 | beacon_linux.bin / beacon_mac.bin / update_win.exe, 4–13 MB; furnitu criptatu, eseguitu in memoria |
| we | Linux x64 è arm64, macOS universale, Windows x64 |
| Editori | Dui conti, una basa di codice |
| Status | 19 di 20 nomi inediti da l'operatore; 1 ripublicatu è in diretta; infrastruttura di consegna in diretta |
Anatomia di l'attaccu
Fase 1 - u pacchettu
Ogni membru spedisce u listessu furmatu di trè fugliali. index.js esporta una classa cù un init() chì stabilisce un booleanu, un versione (), È a cunfigurà() chì fusiona un ughjettu d'opzioni. Nunda di più. README.md dà una linea d'installazione, a esse dumandate linea, è a frase "Pacchettu internu. Vede CONTRIBUTING.md per e linee guida" - CONTRIBUTING.md ùn hè micca in u tarball.
_polyfill.js hè un pocu menu di 5 KB è si leghje cum'è codice d'infrastruttura ordinariu. Si apre cù trè verifiche d'ambiente:
if (process.env.DISABLE_TELEMETRY ||
process.env.ANALYTICS_OPT_OUT ||
process.env.DO_NOT_TRACK)
return;Queste variabili sò cuntrolli di privacy cunvinziunali. Quì cuntrollanu se un binariu hè telecaricatu è eseguitu. Una macchina chì stabilisce ÙN_TRACCIATE hè saltatu interamente.
Dopu vene un timbru eseguibile una volta: un schedariu à /tmp/.analytics_state, o statu_analiticu sottu % TEMP% in Windows, chì u so tempu di mudificazione hè paragunatu à una finestra di 20,357 secondi. In quella finestra u modulu torna subitu, dunque l'impurtazioni ripetute durante una custruzzione producenu un tentativu di recuperu invece di decine.
L'ospiti di destinazione ùn sò micca prisenti cum'è literali. Sò assemblati à u mumentu di l'esecuzione da frammenti:
["oob-worker.cf102-","baf.workers.d","ev"].join("")
Trè ospiti sò custruiti in questu modu è mischiati prima di l'usu, dunque l'ordine varieghja per esecuzione. U recuperu hè un HTTPS GET attaccatu à IPv4 cù un Agente d'Usuariu of node-fetch/2.6 — un valore plausibile per un prucessu Node da emette. Una risposta sottu à 1,000 byte hè scartata è u prossimu host hè pruvatu.
Sè tutti i trè fiascanu, u modulu torna à DNS. Emette una dumanda TXT per c. per ottene un contu di blocchi, poi dumanda 0. attraversu n. in lotti di dece, concatena e risposte, è decodifica u risultatu in base64. Stu percorsu porta u listessu eseguibile nantu à i registri TXT DNS, chì sopravvive in ambienti induve l'HTTP in uscita hè filtratu ma a risoluzione DNS ùn hè micca.
I byte recuperati sò scritti in /var/tmp/.cache_<8-hex> nantu à Unix, o %TEMP%\dotnet_diag_<8-hex>.exe in Windows — un nome di schedariu chì si leghje cum'è un artefattu di diagnostica .NET. In Unix, u schedariu hè datu in modu 0755. U lanciu hè spawn cù distaccatu: veru, stdio: "ignura", e senza riferenza(), cusì u zitellu sopravvive à u prucessu Node chì l'hà iniziatu; in Windows l'invucazione aghjusta windowsHide: veru.
Dui ditagli cumpletanu u quadru. Un aiutu definitu cum'è const _l = (…a) => prucessu.stderr.write("") hè chjamatu à ogni passu di a recuperazione - scrive una stringa viota è scarta i so argumenti, occupendu a pusizione induve si truvaria a registrazione. È ogni pacchettu furnisce un schedariu di 81 KB à lib/telemetria.js chì u cummentariu di l'intestazione di u quale descrive un "SDK d'Analytics" cù "trasportu HTTPS cù rotazione di endpoint è ripetizione" è "scoperta di servizii basata nantu à DNS per failover". In a versione attuale, nunda ùn l'esige.
Fase 2 - u caricatore
U binariu Linux x64 hè un ELF ligatu staticamente cumpressu cù UPX 3.96. A compilazione macOS hè un binariu universale chì copre x86_64 è arm64; a compilazione Windows hè un eseguibile di cunsola PE32+ spugliatu. Tutti i quattru sò stati recuperati è esaminati staticamente; nimu hè statu eseguitu.
L'impurtazioni è a tavula di stringhe di a compilazione di Windows descrivenu chjaramente u so cumpurtamentu. Risolve DebuggerPresente, VerificaDebuggerRemotuPresente, e Prucessu d'infurmazione NtQuery, è leghje SISTEMA\CurrentControlSet\Servizi\Discu\Enum — un percorsu di registru chì i so valori identificanu i cuntrolli di discu virtuali. Chjama GetDiskFreeSpaceExW e StatusEx di a Memoria Globale, coerente cù a verificazione di se e risorse di l'ospite currispondenu à una istanza d'analisi di corta durata.
Porta una lista di nomi d'utilizatori: Utente attuale, Amministratore IT, Hong Lee, CASSETTA DI TEST, hapubws, milozs, Timmy, Admin, malware, campionu, cunning, ambienteParechji di questi sò artefatti d'ambienti d'analisi documentati publicamente.
Porta ancu una lista di prudutti di sicurezza di endpoint è i so nomi di prucessi, enumerati per mezu di CreateToolhelp32Snapshot e Prucessu32PrimaW/Prucessu32NextW:
- CrowdStrike Falcon (
csfalconservice,CSFalconContainer) - Carbon Black (
cb.exe) - Cylance (
cylancesvc.exe) - Bitdefender (
bdagent.exe) - Kaspersky (
avp.exe,kavfs.exe) - Trend Micro è Deep Security (
coreServiceShell,ds_agent.exe) - FireEye/Trellix (
xagt.exe) - Taniu (
taniumclient.exe) - HitmanPro (
hmpalert.exe) - elastica (
elastic-agent.exe,elastic-endpoint,filebeat.exe,winlogbeat.exe) - Wazuh è OSSEC (
wazuh-agent.exe,ossec-agent.exe) - Check Point
- Windows Defender
Dui altri simbuli sò prisenti: AmsiScanBuffer, u puntu d'entrata chì Windows espone per a scansione di cuntenutu in memoria, è EtwEventWrite, a funzione per mezu di a quale Event Tracing per Windows registra l'eventi. Tramindui sò obiettivi cumuni per a mudificazione in prucessu chì sopprime a telemetria chì quelle interfacce pruducerianu altrimenti.
A persistenza appare duie volte in Windows. U binariu hè copiatu in %APPDATA%\Microsoft\Windows\Themes\SystemSoundsService.exe, è dui meccanismi ci facenu riferimentu: un valore sottu SOFTWARE\Microsoft\Windows\Versione Attuale\Eseguisce, è un compitu pianificatu registratu cum'è
schtasks /Create /F /SC ONLOGON
/TN "\Microsoft\Windows\Multimedia\SystemSoundsService"
/TR "\"%s\""
/RL HIGHESTU percorsu di l'attività, u nome di l'attività è u nome eseguibile riflettenu tutti un veru cumpunente audio di Windows. /RL U PIÙ ALTU dumanda u più altu livellu di privilegiu dispunibule.
A custruzzione di macOS seguita u listessu mudellu cù nomi adatti à a piattaforma: scrive una lista di pruprietà per ~/Library/LaunchAgents/com.apple.windowserver.helper.plist è mette u so eseguibile à ~/.local/share/runtime/com.apple.runtimeVerifica per /Applicazioni/VMware Fusion.app e /Libreria/Supportu di l'applicazioni/Strumenti VMware.
A capacità di a rete abbraccia trè trasporti: WININET.dll per HTTPS cù un https://%s:%d%s stringa di furmatu, WS2_32.dll prese, è DNSAPI.dll cù DnsQuery_A à fiancu à a c.%s.%s stringa di furmatu — a listessa forma di query di chunk-count chì a prima tappa usa.
A descrizzione sopra hè ciò chì l'impurtazioni di u binariu, e stringhe è i percorsi di u registru mostranu à l'ispezione. L'analisi publica multi-motore di u listessu campione di Windows aghjusta dettagli chì una lettura statica di una tabella d'impurtazione ùn pò micca stabilisce da sola, è hè attribuita quì invece di esse riformulata cum'è osservazione di prima manu. Quell'analisi informa chì i riferimenti AMSI è ETW ùn sò micca solu risolti ma ancu patchati. AmsiScanBuffer in amsi.dll e EtwEventWrite in ntdll.dll — chì sopprime a scansione di cuntenutu in memoria è u tracciamentu di eventi per u prucessu. Segnala i cuntrolli anti-analisi cum'è basati nantu à u timing in più di VerificaDebuggerRemotuPresente, è identifica u GetThreadContext chjama cum'è una verificazione di u puntu di rottura di l'hardware chì legge i registri di debug. Segnala ancu un mutex di una sola istanza, Global\{7A3B9E1F-C2D4-4F8A-B5E6-D7A1F0C3E2B9}, è nomi Serviziu di Suoni di Sistema cum'è u valore Run-key. Quellu valore di mutex ùn era micca trà e stringhe recuperate quì - u filtru d'estrazione utilizatu hà esclusu i gettoni esadecimali maiusculi racchiusi da parentesi - è hè registratu in a tavula d'indicatori nantu à a forza di quella analisi publica piuttostu chè l'osservazione diretta.
Stage 3
U caricatore face riferimentu à un altru inseme di percorsi nantu à i stessi host. Tutti eranu accessibili durante l'analisi: beacon_linux.bin à 5.3 MB, beacon_mac.bin à 13.3 MB, aghjurnamentu_win.exe à 10.3 MB, è arm.bin à 4.3 MB. Quessi ùn sò stati recuperati, è u so cumpurtamentu hè scunnisciutu.
Per u percorsu Windows, l'analisi publica di u loader descrive cumu si gestisce sta terza tappa: hè recuperata via WinINet, ghjunghje criptata, è hè decriptata in memoria è eseguita in modu riflessivu - memoria allocata, impurtazioni risolte, rilocazioni processate è cuntrollu passatu à un novu thread via CreateThreadPer questu scopu, a terza tappa ùn hè mai scritta in u sistema di fugliali, dunque a rilevazione basata nantu à i fugliali è l'analisi forensica di u discu dopu l'incidente ùn anu nunda da ricuperà da ella. Significa ancu chì u recuperu di i byte da l'ospite di consegna pruducerebbe un testu cifratu, micca un eseguibile analizabile.
Timeline
Tutti i timestamp sò UTC è provenenu da i metadati di u registru npm, chì registranu a creazione è a dispublicazione di i pacchetti indipendentemente da qualsiasi osservatore.
| quandu | Ce |
|---|---|
| 2026-07-31 09:25:05 → 09:29:56 | Deci nomi creati, ognunu cuminciendu à a versione 0.0.1, à circa tredeci secondi di distanza. |
| 2026-08-01 09:38 → 11:29 | I nomi esistenti si scalanu per mezu di numeri di versione gonfiati, 6.1.9 attraversu 6.1.12, 9.9.9 attraversu 9.9.12, 8.9.3 attraversu 8.9.6, 5.4.6 attraversu 5.4.9. |
| 2026-08-01 13:04:14 → 13:04:18 | Nove più in là beaver-ui-* nomi creati in una raffica di quattru secondi, ognunu publicatu direttamente in una versione 12.x senza storia precedente. |
| 2026-08-01 ~13:00–14:30 | Versioni classificate cum'è maliziose in a rivista manuale. |
| 2026-08-01 17:39:49 → 17:40:14 | Diciannove di i vinti nomi inediti in vinticinque secondi, in sequenza, à circa 1.2 secondi di distanza. |
| 2026-08-02 18:58:41 | a.poltoradnev-package-c creatu torna sottu un contu di mantenitore differente, versione 0.0.2. |
| 2026-08-02 19:20:28 | Version 33.9.5 publicatu cù u listessu nome. |
| 2026-08-02 20:14 | Tutti i trè ospiti di consegna chì servenu e tappe duie è trè; u fallback DNS risponde cù u numeru di chunk. |
Dui di sti articuli meritanu d'esse attenti.
A raffica di 13:04 hà messu nove pacchetti in u registru in quattru seconde, ognunu cù una sola versione in i dodici è nimu 0.0.1 sottu. I numeri di versione nantu à sta scala, nantu à i nomi di un ghjornu, ùn descrivenu micca una storia di publicazione.
A sequenza di dispublicazione hè ugualmente meccanica: diciannove nomi, vinticinque secondi, ancu spaziatura. npm registra questi cum'è eventi di dispublicazione ordinari piuttostu chè u segnapostu chì una rimuzione iniziata da u registru lascia daretu, ciò chì mette l'azione cù u contu di publicazione piuttostu chè cù u registru.
Indicatori di compromessi
L'ospiti è i percorsi sò stati defangati. Ùn li risolvete micca o ùn li recuperate micca da un sistema di pruduzzione.
| Type | Value |
|---|---|
| Ospite di consegna | oob-worker[.]cf99-9b3[.]workers[.]dev |
| Ospite di consegna | oob-worker[.]cf102-baf[.]workers[.]dev |
| Ospite di consegna | oob-worker[.]cf103-070[.]workers[.]dev |
| Trasportu DNS | tin[.]dl[.]well1[.]site (Linux x64), tina[.] (arm64), ldr[.] (macOS), win[.] (Windows) — contu di blocchi à c.<domain>, dati à <n>.<domain> |
| Percorsi di a tappa 2 | /pkg/package, /pkg/package-arm64, /pkg/loader_mac, /pkg/package.exe |
| Percorsi di a tappa 3 | /pkg/beacon_linux.bin, /pkg/beacon_mac.bin, /pkg/update_win.exe, /pkg/arm.bin |
| Percorsu di goccia (Unix) | /var/tmp/.cache_<8-hex> |
| Percorsu di goccia (Windows) | %TEMP%\dotnet_diag_<8-hex>.exe |
| Persistenza (Windows) | %APPDATA%\Microsoft\Windows\Themes\SystemSoundsService.exe; compitu \Microsoft\Windows\Multimedia\SystemSoundsServiceValore di a chjave d'esecuzione SOFTWARE\Microsoft\Windows\CurrentVersion\Run\SystemSoundsService |
| Mutex (Windows) | Global\{7A3B9E1F-C2D4-4F8A-B5E6-D7A1F0C3E2B9} |
| Persistenza (macOS) | ~/Library/LaunchAgents/com.apple.windowserver.helper.plistbinariu à ~/.local/share/runtime/com.apple.runtime |
| Timbru à esecuzione unica | /tmp/.analytics_state, %TEMP%\analytics_state (finestra di 20,357 s) |
| Richiede a firma | HTTPS GET, IPv4-pinned, User-Agent: node-fetch/2.6 |
| Schedariu di a tappa 1 | _polyfill.js, SHA-256 392dc9ec85042ce1796bfa9b8c7bf6e05c7710579aab8b7b1eb73788683883af |
| Schedariu senza riferimentu | lib/telemetry.js, SHA-256 2266c9b8e199daebe31a9afcb61d9b0d76706b63c92312fc8223d22de42e63c7 |
| Fase 2 (Linux x64) | SHA-256 7e486657f30594afda379b97030252a09a19fe8055e25c9e371544f59bd8e9e3 |
| Fase 2 (Linux arm64) | SHA-256 aafc37589c0d21fb729761a1579ca3b278b95bce152aacfa29243ffd27f5eeb7 |
| Fase 2 (macOS) | SHA-256 c214746c74cae8ece8bdaf69aa05da4db6ce013f9e77452d1eed1a002fd9ba00 |
| Fase 2 (Windows) | SHA-256 d632c2c0c7801c3da57cf849fe4b4ca8351d9a7fe73c31050bf5dbcc96a16791 |
Nomi di pacchetti
Attribuzione è cumpurtamentu osservatu
Dui conti npm sò implicati. I diciannove nomi inediti sò stati publicati da un contu; a.poltoradnev-package-c hè statu registratu di novu u 2 d'aostu sottu un nome di contu differente è un duminiu email differente. U codice hè u listessu lignagiu in tramindui, è a seconda registrazione porta i stessi ospiti di consegna, i stessi duminii DNS di fallback, a stessa custruzzione di drop-path è u listessu timbru run-once.
A coppia ripubblicata mostra ancu cumu hè stata assemblata. Versioni 0.0.2 e 33.9.5 sò identichi à byte fora di a stringa di versione in package.json, E lu index.js speditu cum'è 0.0.2 dichjaratu VERSIONE custante = “33.9.5”Tramindui l'artefatti sò stati tagliati da un arburu d'origine è numerati dopu. Ùn ci hè micca 0.0.2 storia di u sviluppu per u 0.0.2 liberazione per rapprisintà.
A numerazione di e versioni in tuttu l'inseme seguita a listessa logica. I nomi di i pacchetti in questa campagna sò letti cum'è cose chì esisterebbenu in una urganizazione piuttostu chè in un registru publicu: un inseme di cumpunenti UI, una cunfigurazione ESLint, un sondatore SLA, un pacchettu chjamatu dopu à una persona. Quandu una compilazione risolve una dipendenza per nome è cunsulta un registru publicu accantu à unu privatu, u numeru di versione più altu hè quellu chì vince. Un nome creatu à 0.0.1 u luni è purtendu 12.9.6 u marti hè pusizionatu per quella paragone.
E duie onde di publicazione sò ancu diverse in un modu chì suggerisce l'iterazione. U codice precedente chjamava u so schedariu di payload setup.js è hà elencatu cinque ospiti di consegna; u schedariu attuale hè chjamatu _polyfill.js è ne elenca trè. A versione precedente hà eliminatu u schedariu abbandunatu cinque seconde dopu u lanciu, lascendu u prucessu in esecuzione da un inode sguassatu; a versione attuale ùn a face micca. U schedariu senza riferimentu lib/telemetria.js ferma in u tarball in tramindui, sempre speditu, micca più cablatu.
Un'osservazione nantu à i kill switch hè degna di esse menzionata primacisely, perchè va contru à una lettura cumuna. DISABLE_TELEMETRY, OPZIONE_ANALITICA_DISATTIVA, e ÙN_TRACCIATE sò onorati, è sò verificati prima chì qualcosa altru accada. Un ricercatore chì u so ambiente d'analisi stabilisce unu di elli osserva un pacchettu chì ùn face nunda.
Impattu è ciò chì i difensori ponu fà
A cunsequenza pratica di u trigger di u mumentu di l'impurtazione hè limitata è vale a pena di menziunà per sè stessa. npm installà –ignore-scripts impedisce l'esecuzione di script di u ciclu di vita, è hè un cunsigliu validu. Ùn hà micca effettu quì, perchè stu codice ùn usa micca un script di u ciclu di vita. U payload funziona quandu u codice di l'applicazione, una prova di esecuzione, un bundler, o un linter importa prima u modulu. In un runner CI chì installa è poi compila immediatamente, i dui sò à pochi secondi di distanza.
Per a caccia, i signali durevuli sò strutturali piuttostu chè litterali. L'ospiti, u nome di u schedariu è i percorsi di goccia cambieranu; ste forme sò più difficiuli da varià:
- Un puntu d'entrata di modulu chì a so dichjarazione finale hè un pruvà { richiede("./x"); } catturà (_) {} intornu à un schedariu chì ùn face micca parte di l'API esportata. Un pacchettu cù un veru polyfill l'importa in cima è usa u so risultatu. Inghjuttà ogni errore da una impurtazione in fondu à u schedariu ùn hè micca una gestione di l'errore.
- Stringhe d'ospite assemblate da .unisce ("") da un inseme di frammenti. U codice legittimu ùn hà nisuna ragione per dividisce un nome di host trà elementi di array.
- Un pacchettu chì e so dipendenze dichjarate sò viote ma chì ghjunghje à https, dns, e prucessu_figliolu à u mumentu di l'impurtazione. A recuperazione più l'esecuzione in un pacchettu chì publicita un cumpunente di l'interfaccia utente hè tutta a scuperta.
- Numeri di versione incoerenti cù l'età di un pacchettu. Un nome publicatu per a prima volta ghjorni fà in una versione maiò à duie cifre, senza alcuna versione intermedia, descrive qualcosa altru ch'è u so sviluppu.
- Scrive à / var / tmp or % TEMP% seguita da a chmod à 0755 è una spawn staccata. A sequenza hè corta, urdinata, è raramente benigna inseme.
Nant'à l'ospiti Windows ci sò dui cuntrolli economici è di alta fiducia. L'artefatti di persistenza sò stringhe fisse è nisuna di elle appartene à un sistema pulitu: un compitu pianificatu à \Microsoft\Windows\Multimedia\Serviziu di Suoni di Sistema, un valore di chjave d'esecuzione chjamatu Serviziu di Suoni di Sistema, è un eseguibile di quellu nome sottu %APPDATA%\Microsoft\Windows\Temi\U veru serviziu audio di Windows ùn si trova in nisunu di questi lochi. Siconda, u caricatore usa un mutex fissu à una sola istanza, Global\{7A3B9E1F-C2D4-4F8A-B5E6-D7A1F0C3E2B9}; a so prisenza nant'à un host hè un indicatore, è postu chì u loader tratta un mutex esistente cum'è "digià in esecuzione", a so precreazione hè una inoculazione à cortu termine viabile mentre a riparazione hè prevista.
A rilevazione in a terza tappa hè un prublema più difficiule è vale a pena di esse chjaru. Sicondu u contu datu da l'analisi publica, hè decifratu è mappatu in memoria invece di esse scrittu in discu, dunque a scansione di i fugliali è l'analisi forensica di u discu ùn a vederanu micca. Ciò chì ferma osservabile hè l'impronta propria di u loader - l'entrate di persistenza, u mutex è e richieste in uscita à l'ospiti di consegna o i duminii DNS-TXT.
Per l'ambienti chì risolvenu e dipendenze da un registru privatu è publicu, a mitigazione ùn hè micca cambiata da nunda quì: definisce i nomi interni in modu chì un nome publicu ùn li possi suddisfà, è appuntà a risoluzione à u registru internu per quelli ambiti. U cumpurtamentu di inflazione di versione discrittu sopra funziona solu induve una versione publica più alta pò vince un nome.
Infine, a dispublicazione vale a pena di leghje attentamente piuttostu chè cum'è una fine. Diciannove nomi anu lasciatu u registru in vinticinque secondi è unu hè vultatu un ghjornu dopu sottu un novu contu, cù l'infrastruttura di consegna intatta in tuttu. A rimuzione di i pacchetti ùn hè micca a rimuzione di l'operazione; l'ospiti anu cuntinuatu à serve ogni tappa mentre questu era scrittu. Ogni arburu di dipendenza chì hà risoltu unu di questi nomi trà u 31 di lugliu è u 1 d'aostu deve esse trattatu cum'è avendu avutu l'uppurtunità di eseguisce a prima tappa, chì u nome esista sempre o micca.
Vede ancu
- Analisi multi-motore di u caricatore Windows — fonte per u patch AMSI/ETW, l'esecuzione riflettiva in memoria è i dettagli di mutex attribuiti sopra.
- documentazione di script npm — l'eventi di u ciclu di vita chì sta campagna ùn usa micca.
- Documentazione d'installazione di npm — cuperture –Ignore-scripts è u so scopu.







