Atacatorii legați de Coreea de Nord ascund programe malware aliniate la OTTERCOOKIE în fișierele SVG cu flag de țară distribuite prin teste de codare false ale dezvoltatorilor. Codul rău intenționat se execută atunci când o țintă începe proiectul de comerț electronic furnizat, nu atunci când cineva doar vizualizează o imagine.
Campania, urmărită ca REF9403, folosește ingineria socială mai degrabă decât o vulnerabilitate software. Atacatorii se prezintă ca recrutori sau proprietari de proiecte, abordează dezvoltatorii cu oportunități de angajare și îi convinge să descarce și să execute o evaluare funcțională a codării.
Elastic Security Labs a descoperit REF9403după ce un atacator a postat o oportunitate de dezvoltator în spațiul de lucru Slack al comunității companiei. Elastic leagă operațiunea de Contagious Interview, o campanie de lungă durată atribuită actorilor aliniați cu Coreea de Nord.
Cum ajunge testul de codare falsă la dezvoltatori
Pe 26 mai 2026, un utilizator Slack pe nume „Maxwell” a postat pe un canal de locuri de muncă și a susținut că are nevoie de ajutor pentru modernizarea unei platforme de comerț electronic. Dezvoltatorii interesați au fost mutați în mesaje private și li s-a cerut să finalizeze o evaluare de codare.
Proiectul furnizat părea legitim. A folosit tehnologii familiare de dezvoltare web și a rămas funcțional după instalare, ajutând depozitul să arate ca un test tehnic autentic.
Această abordare exploatează încrederea pe care dezvoltatorii o acordă fluxurilor de lucru de recrutare. Un candidat se așteaptă să cloneze depozite, să instaleze dependențe, să inspecteze codul și să pornească servere locale în timpul unei evaluări, oferind atacatorilor un motiv plauzibil pentru a solicita acțiuni potențial periculoase.
Proiectul conținea imagini SVG care arată steagurile țării. Fișiere precumAE.svgşiAF.svgredate în mod normal, dar sursa lor conținea blocuri de comentarii în stil HTML care conțineau fragmente de malware codificate în Base64.
SVG este un format de imagine bazat pe XML care poate conține text, metadate și comentarii. În acest caz, atacatorii nu au ascuns codul prin modificări ale pixelilor imaginii. Au plasat text codificat direct în comentarii pe care un vizualizator de imagini le-ar ignora.
Un fișier JavaScript numitserverValidation.jsa colectat fișierele SVG, le-a sortat alfabetic, a extras comentariile și a alăturat fragmentele. Apoi a decodat și a executat sarcina utilă JavaScript reconstruită.
| Etapa de atac | Activitate observată |
|---|---|
| Naluca de recrutare | Oportunitate de dezvoltator fals publicată prin Slack |
| Contact privat | Țintele interesate au fost mutate în mesaje directe |
| Livrarea proiectului | Evaluarea funcțională a codificării comerțului electronic este furnizată |
| Stocarea încărcăturii utile | Fragmente Base64 plasate în comentarii în interiorul fișierelor steag SVG |
| Reconstrucţie | serverValidation.jscitește și unește fragmentele |
| Execuţie | JavaScript recuperat rulează ori de câte ori pornește serverul de proiect |
| Furtul de date | Acreditări, portofele, fișiere și date din clipboard colectate |
| Acces de la distanță | Canalul Socket.IO permite executarea comenzilor interactive |
Sarcina utilă rulează la pornirea serverului
ale proiectuluiserver/index.jsfișierul apelează rutina de validare rău intenționată după configurarea middleware-ului său inițial. ambelenpm run devşinpm startlansați acest fișier server.
Ca rezultat, malware-ul rulează de fiecare dată când serverul de dezvoltare locală pornește. Este posibil ca controalele managerului de pachete care se concentrează doar pe scripturile de instalare să nu oprească această cale de execuție.
Aceasta înseamnă, de asemenea, că o previzualizare SVG singură nu infectează sistemul. Atacul observat necesită ca ținta să ruleze proiectul și să activeze JavaScript pe partea de server care reconstruiește sarcina utilă ascunsă.
De ce cercetătorii o numesc OTTERCOOKIE-Aligned
Elastic a găsit asemănări între JavaScript recuperat și OTTERCOOKIE, inclusiv șiruri de caractere potrivite, structura codului, comportamentul și punctele finale API. Cu toate acestea, eșantionul a inclus modificări și capabilități combinate împărțite anterior în familiile de malware asociate.
TheAnaliza Microsoft Contagious Interviewdescrie OTTERCOOKIE ca pe o ușă din spate JavaScript modulară care poate executa comenzi, poate căuta chei de criptomonede, poate încărca module suplimentare și poate extrage date.
Elastic a spus că granițele dintre OTTERCOOKIE și BEAVERTAIL au devenit mai puțin clare. Sarcina utilă REF9403 funcționează ca un set de instrumente all-in-one, fără stadiul Python văzut în unele infecții anterioare cu interviuri contagioase.
Patru module malware rulează pe dispozitiv
JavaScript reconstruit lansează patru componente principale. Împreună, oferă furt de acreditări, colectare de fișiere, monitorizare clipboard și acces de la distanță.
Prima componentă vizează acreditările browserului, bazele de date de completare automată și extensiile de portofel cu criptomonede pe Windows, macOS și Linux. Își schimbă titlul procesului înnpm-cachesă apară ca un proces obișnuit Node.js.
Celelalte componente caută sistemul de fișiere, creează un canal de comandă Socket.IO și colectează conținutul clipboard-ului. Pe Windows, malware-ul poate încerca, de asemenea, să descarce fișiere executabile suplimentare din infrastructura controlată de atacator.
| Modul | Capacitatea principală | Platforme acceptate |
|---|---|---|
| Fură de browser și portofel | Colectează datele salvate ale browserului și bazele de date cu extensii de portofel cu criptomonede | Windows, macOS și Linux |
| Furător de fișiere | Caută documente, cod sursă, acreditări și fișiere de configurare | Windows, macOS și Linux |
| Priză.IO RAT | Oferă înregistrarea sistemului și execuția interactivă a comenzilor shell | Windows, macOS și Linux |
| Furător de clipboard | Monitorizează și încarcă modificarea conținutului clipboard-ului | Windows și macOS |
| Dropper de sarcină utilă | Încercarea de a descărca și executa fișiere suplimentare | Windows |
Acreditările browserului și portofelele cu criptomonede vizate
Modulul de acreditări caută profiluri aparținând browserelor precum Chrome, Edge, Brave, Opera și LT Browser. Căile exacte ale browserului variază în funcție de sistemul de operare.
Acesta vizează baze de date care pot conține date de conectare salvate, informații de completare automată și date de extensie. Mostrele conțin, de asemenea, o listă codificată de 25 de extensii de browser pentru portofel de criptomonede, inclusiv MetaMask, Phantom, Rabby, Trust Wallet, TronLink, OKX Wallet și alternative legate de Coinbase.
Pe macOS, modulul încearcă, de asemenea, să colecteze baza de date a brelocului de autentificare a utilizatorului. Sesiunile de browser furate sau datele de extensie a portofelului pot rămâne utile chiar și după ce o victimă schimbă parola unui cont.
File Stealer caută directoare pentru dezvoltatori
Componenta de furt de fișiere caută fișiere de mediu, chei private, istorice shell, documente, cod sursă, fișiere de configurare și imagini. Pe Windows, enumerează unitățile montate înainte de a le scana.
Pe macOS și Linux, căutarea se concentrează pe directorul principal al utilizatorului. Căi care conţin.aws,.azure,.config,.ssh,.bash_historysau.zsh_historyprimesc o atenție deosebită.
Această direcționare creează un risc organizațional serios. Mașinile pentru dezvoltatori conțin adesea acreditări cloud, jetoane de depozit, chei SSH și acces la sisteme CI/CD care ar putea suporta un compromis mai larg.
- Fișiere de mediu care conțin secrete ale aplicației
- Acreditări AWS și Azure
- Chei private SSH și configurație
- Istoricul comenzilor Shell
- Fișiere cu cod sursă și documente de proiect
- Baze de date de conectare la browser
- Date despre extensia portofelului criptomonede
- Datele brelocului de conectare macOS
Backdoorul Socket.IO oferă atacatorilor un Shell interactiv
Modulul de acces la distanță se conectează lacontroller.rightwidth[.]devprin Socket.IO prin HTTPS. Înregistrează sistemul infectat și trimite controlorului informații de identificare ale gazdei.
Un operator poate trimite o comandă shell prin canal. Programul malware îl rulează cu Node.jschild_process.exec()și returnează rezultatul, oferind acces interactiv la mașina compromisă.
Modulul verifică semnele de VMware, VirtualBox, QEMU și alte medii virtualizate. Un rezultat pozitiv adaugă o etichetă de mașină virtuală la informațiile de înregistrare, dar malware-ul continuă să ruleze.
Monitorizarea clipboard rulează la fiecare jumătate de secundă
Pe Windows și macOS, componenta clipboard verifică conținut nou la fiecare 500 de milisecunde. Orice modificare poate fi trimisă infrastructurii atacatorului.
Sistemele Windows rulează comenzi PowerShell ascunse repetate folosindGet-Clipboard. Pe macOS, malware-ul foloseștepbpastecomanda. Implementarea Linux din eșantionul analizat nu a colectat conținut clipboard.
Această caracteristică ar putea expune parole, jetoane API, adrese de portofel, fraze de recuperare sau mesaje private pe care un dezvoltator le copiază în timpul lucrului obișnuit.
Componenta Windows încearcă descărcări suplimentare
Dropper-ul numai pentru Windows încearcă să descarce trei fișiere deghizate.txtextensii. Le redenumește cahostService.exe,printSvc.exeşidhcpSvc.exeînainte de executare.
Elastic nu a putut prelua aceste fișiere deoarece serverul nu a fost disponibil în timpul analizei. Prin urmare, funcționalitatea lor exactă rămâne neconfirmată și nu ar trebui să fie dedusă din numele fișierelor lor.
Recuperarea eșuată nu face un sistem infectat sigur. Furtul de acreditări, colectarea fișierelor, monitorizarea clipboard-ului și modulele de acces la distanță pot deja expune informații sensibile fără aceste încărcături suplimentare.
Interviul contagios i-a vizat pe dezvoltatori de ani de zile
Contagious Interview funcționează cel puțin din decembrie 2022. Atacatorii se uzurpă de obicei pe recrutori de la companii de criptomonede, tehnologie sau inteligență artificială și ghidează victimele printr-un proces de angajare convingător.
Cercetarea interviului contagios din Unitatea 42au documentat anterior recrutori falși legați de Coreea de Nord, care furnizează malware BEAVERTAIL și InvisibleFerret persoanelor în căutarea unui loc de muncă în tehnologie.

Campania REF9403 schimbă ambalajul, dar obiectivul de inginerie socială rămâne consistent. Atacatorul are nevoie ca ținta să aibă încredere în atribuire și să execute cod într-un mediu care conține acreditări valoroase.
Indicatori asociați cu REF9403
Echipele de securitate ar trebui să combine indicatorii de fișiere, de rețea și de comportament. Numele de arhivă pot fi schimbate cu ușurință, în timp ce proiectele legitime pot folosi întâmplător nume generice, cum ar fiecommerce-main.zip.
| Tip | Indicator | Scopul raportat |
|---|---|---|
| Fişier | serverValidation.js | Reconstituie sarcina utilă din comentariile SVG |
| Fişier | AE.svgşiAF.svg | Exemple de fișiere flag care conțin fragmente codificate |
| Titlul procesului | npm-cache | Deghizarea procesului malware |
| Domeniu | rightwidth[.]dev | Clipboard și infrastructură de comandă |
| Domeniu | ldb.rightwidth[.]dev | Colectarea datelor din browser și portofel |
| Domeniu | upload.rightwidth[.]dev | Încărcări de fișiere furate |
| Domeniu | controller.rightwidth[.]dev | Controler de acces la distanță Socket.IO |
| Domeniu | file.rightwidth[.]dev | Descărcări utile Windows |
| IPv4 | 195.26.248[.]212 | Infrastructura de comandă raportată |
| IPv4 | 188.40.64[.]61 | Infrastructura de comandă raportată |
Cum pot dezvoltatorii să verifice evaluările de codificare
Dezvoltatorii ar trebui să trateze fiecare test de codare nesolicitat ca un cod nede încredere. O interfață îmbunătățită, dependențe valide și funcții de lucru nu stabilesc că depozitul este sigur.
Înainte de execuție, evaluatorii ar trebui să inspectezepackage.json, fișiere de pornire a serverului, configurații de sarcini și scripturi care citesc directoare de active. Comentariile lungi codificate în interiorul fișierelor SVG, HTML sau alte fișiere statice merită, de asemenea, investigații.
TheGhid de atenuare Microsoftrecomandă utilizarea mașinilor virtuale izolate, nepersistente pentru testele de codare și evitarea stațiilor de lucru primare care au acces la sisteme de producție, depozite sau conturi cloud.
- Verificați recrutorul și compania printr-un canal independent.
- Verificați vechimea și istoricul depozitului și al contului de expeditor.
- Examinați toate fișierele de pornire și de configurare a sarcinilor.
- Caută
eval(), construcție dinamică a funcției și execuție shell. - Inspectați comentariile din SVG, HTML și alte elemente statice.
- Utilizați o mașină virtuală de unică folosință fără acreditări personale sau corporative.
- Restricționați accesul la rețea de ieșire în timp ce testați proiecte necunoscute.
- Nu dezactivați instrumentele de securitate la cererea unui recrutor.
Ce să faceți după rularea unui depozit suspect
Oricine a condus un proiect potrivit ar trebui să deconecteze dispozitivul de la rețea și să contacteze echipa de securitate relevantă. Depozitul, istoricul terminalului, informațiile despre proces și jurnalele de rețea trebuie păstrate înainte de curățare.
Acreditările ar trebui să fie rotite de pe un dispozitiv separat de încredere. Echipele ar trebui să revoce sesiunile de browser, jetoanele de depozit, acreditările npm, cheile cloud și alte secrete care erau disponibile pentru contul afectat.

Indicatorii REF9403 de la Elasticpoate sprijini vânătoarea, dar respondenții ar trebui să investigheze și dovezi comportamentale, cum ar fi enumerarea amplă a fișierelor, accesul repetat la clipboard, procesele Node.js suspecte și conexiunile Socket.IO neașteptate.
- Izolați dispozitivul de dezvoltator suspectat.
- Păstrați depozitul și înregistrați-i sursa și comite informații.
- Colectați procesele care rulează, istoricul terminalului și jurnalele de rețea.
- Căutați numele de fișiere, domeniile, adresele IP și hashurile de arhivă cunoscute.
- Revocați sesiunile active de pe un dispozitiv curat.
- Rotiți acreditările GitHub, GitLab, npm, SSH, cloud și CI/CD.
- Examinați portofelele criptomonede și mutați fonduri dacă este posibilă expunerea.
- Verificați jurnalele de control al sursei și de audit în cloud pentru acces neautorizat.
- Investigați alte sisteme accesibile prin intermediul acreditărilor stocate pe dispozitiv.
- Reconstruiți punctul final atunci când respondenții nu pot stabili domeniul complet.
Punctele finale ale dezvoltatorilor au nevoie de o izolare mai puternică
Dezvoltatorii au nevoie de instrumente care pot executa cod, instala pachete și pot ajunge la servicii externe. Aceste capabilități fac sistemele lor ținte valoroase și pot slăbi controalele concepute pentru dispozitivele obișnuite de birou.
Mai devremeConcluziile unității 42 privind direcționarea către dezvoltatoria arătat cum interviurile false ar putea plasa programe malware pe mai multe platforme pe sistemele Windows și macOS. REF9403 extinde acest model la activele pe care dezvoltatorii le pot presupune că sunt inofensive.
Organizațiile ar trebui să ofere medii dedicate pentru evaluările candidaților, testarea open-source și arhivele nefamiliare. Acreditările de scurtă durată, seifurile secrete și limitele stricte de acces pot reduce impactul dacă un dezvoltator rulează cod rău intenționat.
FAQ
Ce este campania REF9403?
REF9403 este un nume de urmărire Elastic Security Labs pentru o campanie de interviu contagioasă legată de Coreea de Nord, care distribuie evaluări de codare rău intenționată dezvoltatorilor de software.
Vizualizarea unei imagini SVG infectate poate rula malware OTTERCOOKIE?
Infecția REF9403 observată nu începe atunci când cineva pur și simplu vede o imagine de steag. Malware-ul rulează atunci când victima pornește proiectul furnizat și JavaScript-ul său de pe server reconstruiește și execută fragmente Base64 stocate în comentariile SVG.
Ce informații poate fura malware-ul?
Programul malware poate colecta acreditări ale browserului, date de completare automată, baze de date cu extensii de portofel cu criptomonede, acreditări cloud, fișiere SSH, fișiere de mediu, documente, cod sursă, istoricul shell și conținutul clipboard-ului.
Ce sisteme de operare sunt afectate?
Principalele module de acreditări, de furt de fișiere și de acces la distanță acceptă Windows, macOS și Linux. Colecția Clipboard funcționează pe Windows și macOS în eșantionul analizat, în timp ce descărcările executabile suplimentare vizează Windows.
Ce ar trebui să facă un dezvoltator după ce rulează un test de codare suspect?
Dezvoltatorul ar trebui să izoleze dispozitivul, să păstreze dovezile și să notifice echipa de securitate. De pe un dispozitiv curat separat, sesiunile și acreditările expuse ar trebui revocate sau rotite, inclusiv jetoanele de control sursă, cheile cloud, cheile SSH și secretele portofelului pentru criptomonede.
