QuietPolyfill, berpiztu den NPM tantakatzailea

QuietPolyfill: Berpiztu den NPM tantakatzailea

TL; DR

2026ko uztailaren amaieran eta abuztuaren hasieran bi egunetan argitaratutako hogei npm pakete barneko UI osagaien liburutegi eta backend utilitate partekatu gisa aurkezten dira. Batek ere ez du iragartzen duen funtzionaltasuna inplementatzen. Bakoitzak stub klase bat, paketea barneko gisa deskribatzen duen README bat eta izeneko fitxategi bat ditu. _polyfill.js.

Interesgarria da fitxategi hori nondik abiarazten den. Ez da instalazio-hook bat — manifestuek ez dute inolako aurreinstalaziorik, instalaziorik edo postinstalaziorik adierazten. Horren ordez, azken lerroak index.js zera dio: try { require("./_polyfill"); } catch (_) {}Aplikazioaren kodeak paketea lehen aldiz inportatzen duenean exekutatzen da karga. Instalatzen honekin --ignore-scriptseta, standard instalazio garaian hornidura-kateko esposizioa murrizteko aholkuak, ez du eragozten..

Zer da _polyfill.js egiten duenaren helburua plataforma espezifiko baterako exekutagarri bat berreskuratzea da, ausazko izen batekin aldi baterako direktorio batera idaztea, exekutagarri gisa markatzea eta prozesu nagusitik bereizita abiaraztea. Exekutagarri hori bera kargatzaile bat da: amaierako endpoint-segurtasun produktuak prozesuaren izenaren arabera zerrendatzen ditu, uneko erabiltzaile-izena analisi-inguruneko kontu ezagunekin alderatzen du, AMSI eta ETW telemetria interfazeak memorian konpontzen ditu, iraunkortasuna instalatzen du Windows audio osagai baten izenarekin eta megabyte batzuetako hirugarren binario bat berreskuratzen du. Hirugarren etapa enkriptatuta iristen da eta deszifratu eta memorian exekutatu, diskoan idatzi beharrean.

Abuztuaren 1ean, eskuzko berrikuspenean paketeak gaiztoak zirela baieztatu eta lau ordura gutxi gorabehera, hogei izenetatik hemeretzi kendu zituen npm-tik argitaratzaileak berak, hogeita bost segundoko sekuentzian. Abuztuaren 2an, izen horietako bat berriro erregistratu zen — beste kontu batek, kode bera zeramala. Hau idatzi zenean, banaketa-azpiegiturak hiru etapak zerbitzatzen zituen.

Paketeak20 npm izen, ~74 argitaratutako bertsio
Gaiak izendatzeabeaver-ui-* (13), accounts-* (3), gehi afisha-storybook-default, bcore-bravo-eslint-config, arbocrate-sla-prober-arbocrate-sla-prober-core, a.poltoradnev-package-c
triggerModulu inportazioa (require), ez da npm bizi-zikloko script bat
Etapa 1_polyfill.js — berreskuratzea eta abiaraztea
Etapa 2Linuxen estatikoki lotutako kargatzailea, UPX-z paketatua; amaierako puntuen segurtasun-zenbaketa, AMSI/ETW adabakitzea, iraunkortasuna
Etapa 3beacon_linux.bin / beacon_mac.bin / update_win.exe, 4–13 MB; enkriptatuta entregatuta, memorian exekutatua
PlataformakLinux x64 eta arm64, macOS unibertsala, Windows x64
ArgitaletxeakBi kontu, kode-base bat
Status20 izenetatik 19 argitaratu gabe operadoreak; 1 berrargitaratua eta martxan; banaketa azpiegitura martxan

Erasoaren anatomia

1. fasea — paketea

Kide guztiek hiru fitxategiko formatu bera bidaltzen dute. aurkibidea.js klase bat esportatzen du hasi() boolear bat ezartzen duena, bertsioa(), Eta konfiguratu() aukera objektu bat batzen duena. Beste ezer ez. IRAKURRI.md instalazio-lerro bat ematen du, behar lerroa, eta “Barne paketea. Ikusi CONTRIBUTING.md jarraibideak lortzeko” esaldia — LAGUNTZEN.md ez dago tarball-ean.

_polyfill.js 5 KB baino zertxobait gutxiagokoa da eta azpiegitura-kode arrunta bezala irakurtzen da. Hiru ingurune-egiaztapenekin irekitzen da:

if (process.env.DISABLE_TELEMETRY ||
    process.env.ANALYTICS_OPT_OUT ||
    process.env.DO_NOT_TRACK)
  return;

Aldagai horiek pribatutasun-kontrol konbentzionalak dira. Hemen, bitar bat deskargatu eta exekutatzen den ala ez kontrolatzen dute. Makina bat ezartzen duena EZ_JARRAITU guztiz saltatzen da.

Ondoren, behin exekutatzen den zigilu bat dator: fitxategi bat /tmp/.analytics_stateEdo analisi_egoera pean % TEMP% Windows-en, zeinaren aldaketa-denbora 20,357 segundoko leiho batekin alderatzen den. Leiho horren barruan modulua berehala itzultzen da, beraz, eraikuntza batean zehar errepikatutako inportazioek berreskuratze-saiakera bakarra sortzen dute, dozenaka saiakera egin beharrean.

Helmugako ostalariak ez daude literal gisa. Exekuzio-garaian zatietatik muntatzen dira:

["oob-worker.cf102-","baf.workers.d","ev"].join("") 

Hiru ostalari eraikitzen dira modu honetan eta erabili aurretik nahasten dira, beraz, ordena exekuzio bakoitzeko aldatzen da. Berreskurapena IPv4-ra lotuta dagoen HTTPS GET bat da, Erabiltzaile Agente of nodo-eskuratzea/2.6 — Nodo prozesu batek igortzeko balio sinesgarria. 1,000 byte baino gutxiagoko erantzuna baztertu eta hurrengo ostalaria probatzen da.

Hirurek huts egiten badute, moduluak DNSra itzultzen du. TXT kontsulta bat bidaltzen du honetarako: c. zati kopurua lortzeko, ondoren eskaerak 0. من خلال n. Hamarretako multzotan, erantzunak kateatzen ditu eta emaitza base64-n deskodetzen du. Bide honek exekutagarri bera eramaten du DNS TXT erregistroen bidez, eta irteerako HTTP iragazkia den baina DNS bereizmena ez den inguruneetan ere irauten du.

Berreskuratutako byteak idazten dira /var/tmp/.cache_<8-hex> Unix-en, edo %TEMP%\dotnet_diag_<8-hex>.exe Windows-en — .NET diagnostiko-artefaktu gisa irakurtzen den fitxategi-izen bat. Unix-en fitxategiari 0755 modua ematen zaio. Abiaraztea da abiarazi batera bereizita: egia, stdio: "baztertu", eta erreferentziarik gabe(), beraz, haurrak abiarazi zuen Node prozesua baino gehiago bizi da; Windows-en deiak gehitzen du leihoakEzkutatu: egia.

Bi xehetasunek osatzen dute irudia. Laguntzaile bat honela definituta const _l = (…a) => prozesua.stderr.idatzi("") berreskurapenaren urrats bakoitzean deitzen da — kate huts bat idazten du eta bere argumentuak baztertzen ditu, erregistroa egongo litzatekeen posizioa okupatuz. Eta pakete bakoitzak 81 KB-ko fitxategi bat bidaltzen du hemen: lib/telemetria.js zeinaren goiburuko iruzkinak "Analytics SDK" bat deskribatzen duen, "HTTPS garraioa amaierako puntuen errotazioa eta berriro saiakera" eta "DNS oinarritutako zerbitzuen aurkikuntza failover-erako" dituena. Uneko bertsioan ez dago hori behar duen ezer.

2. etapa — kargatzailea

Linux x64 binarioa UPX 3.96-rekin konprimitutako ELF estatikoki lotuta dago. macOS build-a x86_64 eta arm64 biltzen dituen binario unibertsala da; Windows build-a PE32+ kontsola exekutagarri bat da. Laurak berreskuratu eta estatikoki aztertu ziren; bat ere ez zen exekutatu.

Windows build-aren inportazioek eta kate taulak argi eta garbi deskribatzen dute bere portaera. Konpontzen du Arazketa-aurkezlea da, EgiaztatuUrrutikoAraztaileaAurkituta, eta NtQueryInformationProzesua, eta irakurtzen du SISTEMA\UnekoKontrolMultzoa\Zerbitzuak\Diskoa\Enum — balioek disko birtualen kontrolatzaileak identifikatzen dituzten erregistro-bide bat. Deitzen du LortuDiskoAskatuEspazioExW Memoria Globalaren Egoera-aurkezpena, ostalariaren baliabideak iraupen laburreko analisi-instantzia batekin bat datozen egiaztatzearekin koherentea.

Erabiltzaile-izen zerrenda bat dauka: Uneko erabiltzailea, IT administratzailea, Hong Lee, PROBA-KUTXA, hapubws, milozak, Timmy, admin, malware, lagin, birus, ingurumenaHauetako batzuk publikoki dokumentatutako analisi-inguruneen artefaktuak dira.

Amaierako endpoint-segurtasuneko produktuen eta haien prozesuen izenen zerrenda ere badu, honela zerrendatuta: SortuToolhelp32Snapshot Prozesua32LehenW/Prozesua32HurrengoW:

  • CrowdStrike Falcon (csfalconservice, CSFalconContainer)
  • Karbono beltzak (cb.exe)
  • Cylance (cylancesvc.exe)
  • BitDefender (bdagent.exe)
  • Kaspersky (avp.exe, kavfs.exe)
  • Trend Micro eta Deep Security (coreServiceShell, ds_agent.exe)
  • FireEye/Trellix (xagt.exe)
  • Tanioa (taniumclient.exe)
  • Hitmanpro (hmpalert.exe)
  • Elastikoak (elastic-agent.exe, elastic-endpoint, filebeat.exe, winlogbeat.exe)
  • Wazuh eta OSSEC (wazuh-agent.exe, ossec-agent.exe)
  • Check Point
  • Windows Defender

Beste bi sinbolo daude: AmsiScanBuffer, Windowsek memoria barruko edukia eskaneatzeko erakusten duen sarrera-puntua, eta EtwGertaeraIdatzi, Windows-erako Event Tracing-ek gertaerak erregistratzen dituen funtzioa. Biak dira prozesu barruko aldaketaren helburu ohikoenak, interfaze horiek sortuko luketen telemetria kentzen dutenak.

Iraunkortasuna bi aldiz agertzen da Windows-en. Fitxategi bitarra kopiatzen da %APPDATA%\Microsoft\Windows\Gaiak\SystemSoundsService.exe, eta bi mekanismok egiten diote erreferentzia: azpiko balio bat SOFTWAREA\Microsoft\Windows\UnekoBertsioa\Exekutatu, eta honela erregistratutako programatutako zeregin bat

schtasks /Create /F /SC ONLOGON
  /TN "\Microsoft\Windows\Multimedia\SystemSoundsService"
  /TR "\"%s\""
  /RL HIGHEST

Zereginaren bidea, zereginaren izena eta exekutagarriaren izena benetako Windows audio osagai baten isla dira. /RL ALTUENA eskuragarri dagoen pribilegio mailarik altuena eskatzen du.

macOS build-ak eredu bera jarraitzen du plataformaren araberako izenekin: propietate zerrenda bat idazten du ~/Liburutegia/Abiarazte-agenteak/com.apple.windowserver.helper.plist eta bere exekutagarria kokatzen du hemen: ~/.local/share/runtime/com.apple.runtime. Egiaztatzen du /Aplikazioak/VMware Fusion.app /Liburutegia/Aplikazioen laguntza/VMware tresnak.

Sarearen gaitasunak hiru garraio hartzen ditu barne: WININET.dll HTTPSrako honekin https://%s:%d%s formatu-katea, WS2_32.dll entxufeak, eta DNSAPI.dll batera DnsQuery_A bat batera c.%s.%s formatu-katea — lehenengo faseak erabiltzen duen zati-kopuru kontsultaren forma bera.

Goiko deskribapena bitarraren inportazioek, kateek eta erregistroko bideek ikuskapenean erakusten dutena da. Windows lagin beraren motor anitzeko analisi publikoak inportazio-taula baten irakurketa estatiko batek bere kabuz ezarri ezin dituen xehetasunak gehitzen ditu, eta hemen egozten da, lehen eskuko behaketa gisa berriro adierazi beharrean. Analisi horrek adierazten du AMSI eta ETW erreferentziak ez direla soilik konpondu, baizik eta konpondu direla — AmsiScanBuffer in amsi.dll EtwGertaeraIdatzi in ntdll.dll — prozesuaren memoria barruko edukiaren eskaneatzea eta gertaeren jarraipena kentzen ditu. Anti-analisi egiaztapenak denboran oinarritutako gisa jakinarazten ditu, honi gain EgiaztatuUrrutikoAraztaileaAurkituta, eta identifikatzen du Hari-testuingurua lortu deitu hardware-haustura-puntuko egiaztapen gisa, arazketa-erregistroak irakurtzen. Mutex instantzia bakarreko baten berri ere ematen du, Global\{7A3B9E1F-C2D4-4F8A-B5E6-D7A1F0C3E2B9}, eta izenak SistemarenSoinuZerbitzua Exekuzio-gako balio gisa. Mutex balio hori ez zegoen hemen berreskuratutako kateen artean —erabilitako erauzketa-iragazkiak baztertu zituen maiuskula-hex tokenak kortxete artean— eta adierazle-taulan erregistratuta dago analisi publiko horren indarrarekin, behaketa zuzenaren ordez.

Etapa 3

Kargatzaileak ostalari berdinetan dauden bide multzo gehigarri bati egiten dio erreferentzia. Guztiak eskura zitezkeen analisian zehar: beacon_linux.bin 5.3 MB-tan, beacon_mac.bin 13.3 MB-tan, update_win.exe 10.3 MB-tan, eta besoa.ontzia 4.3 MB-tan. Hauek ez dira berreskuratu, eta haien portaera ezezaguna da.

Windows bideari dagokionez, kargatzailearen analisi publikoak hirugarren etapa hori nola kudeatzen den deskribatzen du: WinINet bidez lortzen da, enkriptatuta iristen da eta memorian deszifratzen da eta modu islatzailean exekutatzen da — memoria esleitua, inportazioak ebatzi, lekualdaketak prozesatu eta kontrola hari berri batera pasatu bidez SortuHariaHorregatik, hirugarren etapa ez da inoiz fitxategi-sisteman idazten, beraz, fitxategietan oinarritutako detekzioak eta gertakari osteko disko forentseak ez dute ezer berreskuratzeko. Horrek esan nahi du, halaber, byteak entrega-ostalariaren eskutik berreskuratzeak testu zifratua emango lukeela, ez exekutagarri analizagarri bat.

 

Timeline

Denbora-zigilu guztiak UTC dira eta npm erregistroko metadatuetatik datoz, eta horrek paketeen sorrera eta argitalpenik eza erregistratzen ditu edozein behatzailerengandik independenteki.

Noiz Zer da
2026-07-31 09:25:05 → 09:29:56 Hamar izen sortu dira, bakoitza bertsioan hasita 0.0.1, hamahiru segundo inguruko tartearekin.
2026-08-01 09:38 → 11:29 Izenak bertsio-zenbaki puztuen bidez igotzen dira, 6.1.9 من خلال 6.1.12, 9.9.9 من خلال 9.9.12, 8.9.3 من خلال 8.9.6, 5.4.6 من خلال 5.4.9.
2026-08-01 13:04:14 → 13:04:18 Bederatzi gehiago beaver-ui-* lau segundoko eztanda batean sortutako izenak, bakoitza zuzenean 12.x bertsioan argitaratua, aurrekaririk gabe.
2026-08-01 ~13:00–14:30 Eskuzko berrikuspenean gaiztotzat sailkatutako bertsioak.
2026-08-01 17:39:49 → 17:40:14 Hogei izenetatik hemeretzi argitaratu gabeak hogeita bost segundotan, sekuentzialki, 1.2 segundo inguruko tartearekin.
2026-08-02 18:58:41 a.poltoradnev-package-c berriro sortua beste mantentzaile kontu batekin, bertsioa 0.0.2.
2026-08-02 19:20:28 Bertsio 33.9.5 izen bereko argitaratua.
2026-08-02 20:14 Hiru entrega-ostalariak bigarren eta hirugarren faseak betetzen dituzte; DNS ordezko sistemak zati-kopuruekin erantzuten du.

Bi sarrera hauetatik merezi dute arreta jartzea.

13:04ko eztandak bederatzi pakete jarri zituen erregistroan lau segundotan, bakoitza hamabietan bertsio bakarrarekin eta bat ere ez. 0.0.1 azpian. Eskala honetako bertsio-zenbakiek, egun bateko izenetan, ez dute argitalpen-historiarik deskribatzen.

Argitalpenik gabeko sekuentzia mekanikoa da: hemeretzi izen, hogeita bost segundo, tarteak ere bai. npm-k hauek argitalpenik gabeko gertaera arrunt gisa erregistratzen ditu, erregistroak abiarazitako ezabatzeak atzean uzten duen leku-marka gisa baino, eta horrek ekintza argitalpen-kontuan kokatzen du erregistroan baino.

 

Konpromisoaren adierazleak

Ostalariak eta bideak desgaituta daude. Ez ebatzi edo berreskuratu ekoizpen-sistema batetik.

Mota Balio
Bidalketa-ostalaria oob-worker[.]cf99-9b3[.]workers[.]dev
Bidalketa-ostalaria oob-worker[.]cf102-baf[.]workers[.]dev
Bidalketa-ostalaria oob-worker[.]cf103-070[.]workers[.]dev
DNS garraioa tin[.]dl[.]well1[.]site (Linux x64), tina[.] (besoa64), ldr[.] (macOS), win[.] (Windows) — zati kopurua hemen: c.<domain>, datuak hemen: <n>.<domain>
2. faseko bideak /pkg/package, /pkg/package-arm64, /pkg/loader_mac, /pkg/package.exe
3. faseko bideak /pkg/beacon_linux.bin, /pkg/beacon_mac.bin, /pkg/update_win.exe, /pkg/arm.bin
Jaregite bidea (Unix) /var/tmp/.cache_<8-hex>
Jaregin bidea (Windows) %TEMP%\dotnet_diag_<8-hex>.exe
Iraunkortasuna (Windows) %APPDATA%\Microsoft\Windows\Themes\SystemSoundsService.exezeregina \Microsoft\Windows\Multimedia\SystemSoundsServiceExekuzio-gakoaren balioa SOFTWARE\Microsoft\Windows\CurrentVersion\Run\SystemSoundsService
Mutex (Windows) Global\{7A3B9E1F-C2D4-4F8A-B5E6-D7A1F0C3E2B9}
Iraunkortasuna (macOS) ~/Library/LaunchAgents/com.apple.windowserver.helper.plist; bitarra at ~/.local/share/runtime/com.apple.runtime
Behin bakarrik exekutatzen den zigilua /tmp/.analytics_state, %TEMP%\analytics_state (20,357 segundoko leihoa)
Eskatu sinadura HTTPS GET, IPv4-ri lotuta, Erabiltzaile-Agentea: node-fetch/2.6
1. faseko fitxategia _polyfill.js, SHA-256 392dc9ec85042ce1796bfa9b8c7bf6e05c7710579aab8b7b1eb73788683883af
Erreferentziarik gabeko fitxategia lib/telemetry.js, SHA-256 2266c9b8e199daebe31a9afcb61d9b0d76706b63c92312fc8223d22de42e63c7
2. fasea (Linux x64) SHA-256 7e486657f30594afda379b97030252a09a19fe8055e25c9e371544f59bd8e9e3
2. etapa (Linux arm64) SHA-256 aafc37589c0d21fb729761a1579ca3b278b95bce152aacfa29243ffd27f5eeb7
2. fasea (macOS) SHA-256 c214746c74cae8ece8bdaf69aa05da4db6ce013f9e77452d1eed1a002fd9ba00
2. fasea (Windows) SHA-256 d632c2c0c7801c3da57cf849fe4b4ca8351d9a7fe73c31050bf5dbcc96a16791

Pakete izenak

beaver-ui-tiradera beaver-ui-ekintzen-botoia beaver-ui-txartel-handia beaver-ui-data-tarte-hautatzailea kastore-ui-formularioa beaver-ui-formulario-modala beaver-ui-formulario-objektua beaver-ui-sareta beaver-ui-header kastore-ui-hooks beaver-ui-ikono-blokeoa beaver-ui-elementuak-gehiagorekin beaver-ui-diseinua kontuak-azken-forma kontuak-kargatzen-egoera kontuen-kronologia afisha-ipuin-liburua-lehenetsia bcore-bravo-eslint-konfigurazioa arbocrate-sla-prober-arbocrate-sla-prober-core a.poltoradnev-paketea-c

Atribuzioa eta behatutako portaera

Bi npm kontu daude tartean. Argitaratu gabeko hemeretzi izen kontu batek argitaratu zituen; a.poltoradnev-paketea-c abuztuaren 2an berriro erregistratu zen kontu-izen eta posta elektroniko-domeinu desberdin batekin. Kodea lerro bera da bietan, eta bigarren erregistroak bidalketa-ostalari berdinak, DNS ordezko domeinu berdinak, bide-eraikuntza bera eta behin exekutatu beharreko zigilu bera ditu.

Berriro argitaratutako bikoteak nola muntatu zen ere erakusten du. Bertsioak 0.0.2 33.9.5 byte berdinak dira bertsio-kateaz gain paketea.json, eta aurkibidea.js bidalia honela 0.0.2 deklaratu BERTSIO konstantea = “33.9.5”Bi artefaktuak jatorrizko zuhaitz beretik moztu eta gero zenbakitu ziren. Ez dago 0.0.2 garapen historiarako. 0.0.2 irudikatzeko askatu.

Multzo osoko bertsio-zenbakitzeak logika bera jarraitzen du. Kanpaina honetako pakete-izenak erakunde baten barruan egongo liratekeen gauzek bezala irakurtzen dira, erregistro publiko batean baino: UI osagai multzo bat, ESLint konfigurazio bat, SLA zundatzaile bat, pertsona baten izena duen pakete bat. Eraikuntza batek mendekotasun bat izenaren arabera ebazten duenean eta erregistro publiko bat pribatu batekin batera kontsultatzen duenean, bertsio-zenbaki altuagoa da irabazten duena. Sortutako izena... 0.0.1 astelehenean eta eramanez 12.9.6 asteartean kokatuta dago konparazio horretarako.

Bi argitalpen-uhinak ere desberdinak dira, iterazioa iradokitzen duen moduan. Aurreko kodeak bere karga-fitxategia izena zuen setup.js eta bost entrega-ostalari zerrendatu zituen; uneko fitxategiaren izena hau da: _polyfill.js eta hiru zerrendatzen ditu. Aurreko bertsioak abiarazi eta bost segundora kendu zuen botatako fitxategia, prozesua ezabatutako inode batetik exekutatzen utziz; egungo bertsioak ez du egiten. Erreferentziarik gabekoa lib/telemetria.js bietako tarball-ean geratzen da, oraindik bidalita dago, jada kableatu gabe.

Hiltzeko etengailuei buruzko behaketa bat aipatu behar da aurretikcisely, irakurketa arrunt baten aurka doalako. DESGAITU_TELEMETRIA, ANALITIKA_AUKERATU, eta EZ_JARRAITU errespetatzen dira, eta beste ezer gertatu aurretik egiaztatzen dira. Horietako edozein ezartzen duen analisi-ingurunea duen ikertzaile batek ezer egiten ez duen pakete bat behatzen du.

Eragina eta defendatzaileek zer egin dezaketen

Inportazio-denboraren abiarazlearen ondorio praktikoa mugatua da eta bere kabuz aipatzeko modukoa da. npm instalazioa –ignore-script-ak bizi-zikloko script-ak exekutatzea eragozten du, eta aholku ona da. Ez du eraginik hemen, kode honek ez baitu bizi-zikloko script-ik erabiltzen. Karga aplikazio-kodeak, proba-exekuzio batek, bundler batek edo linter batek modulua lehenik inportatzen duenean exekutatzen da. Instalatu eta berehala eraikitzen duen CI exekutatzaile batean, biak segundo gutxiren buruan daude.

Ehizarako, seinale iraunkorrak egiturazkoak dira, literalak baino gehiago. Ostalariak, fitxategiaren izena eta askatzeko bideak aldatuko dira; forma hauek aldatzea zailagoa da:

  • Moduluko sarrera-puntu bat, zeinaren azken adierazpena saiatu { require("./x"); } catch (_) {} esportatutako APIaren parte ez den fitxategi baten inguruan. Benetako polyfill bat duen pakete batek goialdean inportatzen du eta bere emaitza erabiltzen du. Fitxategiaren behealdeko inportazio bateko errore guztiak irenstea ez da erroreen kudeaketa.
  • Ostalari-kateak muntatuak .batu("") zati multzo batetik. Kode legitimoak ez du arrazoirik hostname bat array elementuetan banatzeko.
  • Deklaratutako mendekotasunak hutsik dituen baina helburura iristen den pakete bat https, dns, eta haur_prozesua inportazio unean. UI osagai bat iragartzen duen pakete batean berreskurapena gehi exekuzioa da aurkikuntza osoa.
  • Bertsio-zenbakiak paketearen adinarekin bat ez datozenak. Duela egun batzuk lehen aldiz argitaratu zen izen batek, bi digituko bertsio nagusi batean, tarteko argitalpenik gabe, bere garapena ez den beste zerbait deskribatzen du.
  • Idazten dio / var / tmp or % TEMP% ondoren chmod 0755era eta askatu den sorrera bat. Sekuentzia laburra, ordenatua eta gutxitan onbera da elkarrekin.

Windows ostalarien bi egiaztapen merkeak eta konfiantza handikoak daude. Iraunkortasun-artefaktuak kate finkoak dira eta horietako bat ere ez dago sistema garbi batean: programatutako zeregin bat hemen: \Microsoft\Windows\Multimedia\SystemSoundsService, izeneko Exekuzio-gako balio bat SistemarenSoinuZerbitzua, eta izen horretako exekutagarri bat azpian %APPDATA%\Microsoft\Windows\Gaiak\Benetako Windows audio zerbitzua ez dago leku horietako batean ere. Bigarrenik, kargatzaileak instantzia bakarreko mutex finko bat erabiltzen du, Global\{7A3B9E1F-C2D4-4F8A-B5E6-D7A1F0C3E2B9}; ostalari batean duen presentzia adierazle bat da, eta kargatzaileak mutex bat "dagoeneko martxan" gisa tratatzen duenez, aldez aurretik sortzea epe laburreko txerto bideragarria da konponketa programatzen den bitartean.

Hirugarren faseko detekzioa arazo zailagoa da eta argi uztea merezi du. Analisi publikoak emandako kontuaren arabera, deszifratu eta memorian mapatzen da diskoan idatzi beharrean, beraz, fitxategien eskaneatzeak eta disko forentsak ez dute ikusiko. Behagarria dena kargatzailearen aztarna propioa da: iraunkortasun sarrerak, mutex-a eta banaketa ostalarietara edo DNS-TXT domeinuetara egindako irteerako eskaerak.

Erregistro pribatu batetik zein publiko batetik mendekotasunak ebazten dituzten inguruneetarako, arintzea ez da aldatzen hemengo ezerk: barne-izenak esparruan ezarri, izen publiko batek ezin izan ditzan bete, eta bereizmena barne-erregistroan finkatu esparru horietarako. Goian deskribatutako bertsio-inflazioaren portaerak bertsio publiko handiago batek izen bat lor dezakeenean bakarrik funtzionatzen du.

Azkenik, argitalpenik ez argitaratzea arretaz irakurtzea merezi du, amaiera gisa baino. Hemezortzi izenek erregistroa utzi zuten hogeita bost segundotan eta bat itzuli zen egun bat geroago kontu berri batekin, banaketa azpiegitura ukitu gabe. Paketeak kentzea ez da eragiketa kentzea; ostalariek etapa guztiak zerbitzatzen jarraitu zuten hau idazten zen bitartean. Uztailaren 31tik abuztuaren 1era bitartean izen horietako bat ebazten zuen edozein mendekotasun zuhaitz lehen etapa exekutatzeko aukera izan zuela kontsideratu behar da, izena oraindik existitzen den ala ez kontuan hartu gabe.

Erreferentziak

sca-tools-software-konposizio-analisi-tresnak
Lehentasuna eman, konpondu eta babestu zure software arriskuak
Lortu zure doako kontua.
Ez da beharrezkoa kreditu txartelik.

Ziurtatu zure softwarearen garapena eta entrega

Xygeni produktu multzoarekin