Nordkoreanskt länkade angripare gömmer OTTERCOOKIE-anpassad skadlig kod i SVG-landsflaggade filer som distribueras genom falska utvecklarkodningstester. Den skadliga koden körs när ett mål startar det medföljande e-handelsprojektet, inte när någon bara tittar på en bild.
Kampanjen, spårad som REF9403, använder social ingenjörskonst snarare än en mjukvarusäkerhet. Angripare poserar som rekryterare eller projektägare, kontaktar utvecklare med jobbmöjligheter och övertygar dem om att ladda ner och köra en funktionell kodningsbedömning.
Elastic Security Labs upptäckte REF9403efter att en angripare lagt upp en utvecklarmöjlighet i företagets community Slack workspace. Elastic länkar operationen till Contagious Interview, en långvarig kampanj som tillskrivs skådespelare i linje med Nordkorea.
Hur det falska kodningstestet når utvecklare
Den 26 maj 2026 skrev en Slack-användare vid namn "Maxwell" i en jobbkanal och påstod sig behöva hjälp med att modernisera en e-handelsplattform. Intresserade utvecklare flyttades till privata meddelanden och ombads att slutföra en kodningsbedömning.
Det medföljande projektet verkade legitimt. Det använde välbekanta webbutvecklingstekniker och förblev funktionellt efter installationen, vilket hjälpte förvaret att se ut som ett genuint tekniskt test.
Detta tillvägagångssätt utnyttjar utvecklarnas förtroende i rekryteringsarbetsflöden. En kandidat förväntar sig att klona arkiv, installera beroenden, inspektera kod och starta lokala servrar under en bedömning, vilket ger angriparna en rimlig anledning att begära potentiellt farliga åtgärder.
Projektet innehöll SVG-bilder som visade landsflaggor. Filer som t.exAE.svgochAF.svgåterges normalt, men deras källa innehöll HTML-liknande kommentarblock som innehöll Base64-kodade skadliga programfragment.
SVG är ett XML-baserat bildformat som kan innehålla text, metadata och kommentarer. I det här fallet dolde inte angriparna kod genom ändringar av bildpixlar. De placerade kodad text direkt i kommentarer som en bildvisare skulle ignorera.
En JavaScript-fil med namnetserverValidation.jssamlade in SVG-filerna, sorterade dem i alfabetisk ordning, extraherade kommentarerna och sammanfogade fragmenten. Den avkodade och körde sedan den rekonstruerade JavaScript-nyttolasten.
| Attackstadiet | Observerad aktivitet |
|---|---|
| Rekrytering lockar | Falsk utvecklarmöjlighet publicerad genom Slack |
| Privat kontakt | Intresserade mål flyttade till direktmeddelanden |
| Projektleverans | Funktionell e-handelskodningsbedömning tillhandahålls |
| Lagring av nyttolast | Base64-fragment placerade i kommentarer i SVG-flaggafiler |
| Rekonstruktion | serverValidation.jsläser och sammanfogar fragmenten |
| Utförande | Återställd JavaScript körs när projektservern startar |
| Datastöld | Inloggningsuppgifter, plånböcker, filer och urklippsdata samlas in |
| Fjärråtkomst | Socket.IO-kanalen tillåter interaktiv kommandoexekvering |
Nyttolasten körs vid serverstart
Projektetsserver/index.jsfilen anropar den skadliga valideringsrutinen efter att ha konfigurerat dess initiala mellanprogram. Bådenpm run devochnpm startstarta denna serverfil.
Som ett resultat av detta körs skadlig programvara varje gång den lokala utvecklingsservern startar. Pakethanterarens kontroller som enbart fokuserar på installationsskript kanske inte stoppar den här körvägen.
Detta betyder också att en SVG-förhandsgranskning ensam inte infekterar systemet. Den observerade attacken kräver att målet kör projektet och aktiverar JavaScript på serversidan som rekonstruerar den dolda nyttolasten.
Varför forskare kallar det OTTERCOOKIE-Aligned
Elastic hittade likheter mellan det återställda JavaScriptet och OTTERCOOKIE, inklusive matchande strängar, kodstruktur, beteende och API-slutpunkter. Provet inkluderade dock modifieringar och kombinerade funktioner som tidigare var uppdelade på relaterade skadliga programfamiljer.
DeAnalys av Microsofts smittsam intervjubeskriver OTTERCOOKIE som en modulär JavaScript-bakdörr som kan utföra kommandon, söka efter kryptovalutanycklar, ladda ytterligare moduler och exfiltrera data.
Elastic sa att gränserna mellan OTTERCOOKIE och BEAVERTAIL har blivit mindre tydliga. REF9403-nyttolasten fungerar som en allt-i-ett-verktygssats utan Python-stadiet som setts i några tidigare smittsamma intervjuinfektioner.
Fyra malware-moduler körs på enheten
Det rekonstruerade JavaScriptet lanserar fyra huvudkomponenter. Tillsammans tillhandahåller de autentiseringsstöld, filinsamling, urklippsövervakning och fjärråtkomst.
Den första komponenten är inriktad på webbläsaruppgifter, autofyll-databaser och plånbokstillägg för kryptovaluta över Windows, macOS och Linux. Den ändrar sin processtitel tillnpm-cacheatt se ut som en vanlig Node.js-process.
De andra komponenterna söker i filsystemet, skapar en Socket.IO-kommandokanal och samlar in urklippsinnehåll. På Windows kan skadlig programvara också försöka ladda ner ytterligare körbara filer från angriparkontrollerad infrastruktur.
| Modul | Huvudförmåga | Plattformar som stöds |
|---|---|---|
| Webbläsare och plånbokstjuver | Samlar in sparad webbläsardata och databaser för cryptocurrency-plånbokstillägg | Windows, macOS och Linux |
| Filtjuver | Söker efter dokument, källkod, referenser och konfigurationsfiler | Windows, macOS och Linux |
| Socket.IO RAT | Ger systemregistrering och interaktiv skalkommandoexekvering | Windows, macOS och Linux |
| Urklipp stjälare | Övervakar och laddar upp ändrande innehåll i urklipp | Windows och macOS |
| Lastdroppare | Försök att ladda ner och köra ytterligare filer | Windows |
Inriktade webbläsaruppgifter och plånböcker för kryptovaluta
Autentiseringsmodulen söker efter profiler som tillhör webbläsare som Chrome, Edge, Brave, Opera och LT Browser. De exakta webbläsarvägarna varierar beroende på operativsystem.
Den riktar sig till databaser som kan innehålla sparade inloggningar, autofyllinformation och tilläggsdata. Proverna innehåller också en hårdkodad lista med 25 webbläsartillägg för kryptovaluta plånbok, inklusive MetaMask, Phantom, Rabby, Trust Wallet, TronLink, OKX Wallet och Coinbase-relaterade alternativ.
På macOS försöker modulen också samla in användarens inloggningsnyckelringdatabas. Stulna webbläsarsessioner eller plånbokstilläggsdata kan förbli användbara även efter att ett offer ändrat ett kontolösenord.
File Stealer söker efter utvecklarkataloger
Filstjälkomponenten söker efter miljöfiler, privata nycklar, skalhistorik, dokument, källkod, konfigurationsfiler och bilder. På Windows räknar den upp monterade enheter innan de skannas.
På macOS och Linux fokuserar sökningen på användarens hemkatalog. Banor som innehåller.aws,.azure,.config,.ssh,.bash_historyeller.zsh_historyfå särskild uppmärksamhet.
Denna inriktning skapar allvarliga organisatoriska risker. Utvecklarmaskiner innehåller ofta molnuppgifter, arkivtokens, SSH-nycklar och åtkomst till CI/CD-system som kan stödja en bredare kompromiss.
- Miljöfiler som innehåller programhemligheter
- AWS- och Azure-referenser
- SSH privata nycklar och konfiguration
- Shell-kommandohistorik
- Källkodsfiler och projektdokument
- Webbläsarinloggningsdatabaser
- Förlängningsdata för kryptovaluta plånbok
- macOS inloggningsnyckelringsdata
Socket.IO Backdoor ger angripare ett interaktivt skal
Fjärråtkomstmodulen ansluts tillcontroller.rightwidth[.]devgenom Socket.IO över HTTPS. Den registrerar det infekterade systemet och skickar identifierande värdinformation till kontrollanten.
En operatör kan skicka ett skalkommando genom kanalen. Skadlig programvara kör den med Node.jschild_process.exec()och returnerar utdata, vilket ger interaktiv åtkomst till den komprometterade maskinen.
Modulen letar efter tecken på VMware, VirtualBox, QEMU och andra virtualiserade miljöer. Ett positivt resultat lägger till en virtuell maskinetikett till registreringsinformationen, men skadlig programvara fortsätter att köras.
Urklippsövervakning körs varje halvsekund
På Windows och macOS söker urklippskomponenten efter nytt innehåll var 500:e millisekund. Alla ändringar kan skickas till angriparens infrastruktur.
Windows-system kör upprepade dolda PowerShell-kommandon med hjälp avGet-Clipboard. På macOS använder skadlig programvarapbpastekommando. Linux-implementeringen i det analyserade provet samlade inte in innehållet i urklipp.
Den här funktionen kan avslöja lösenord, API-tokens, plånboksadresser, återställningsfraser eller privata meddelanden som en utvecklare kopierar under vanligt arbete.
Windows-komponent försöker ytterligare nedladdningar
Droppern endast för Windows försöker ladda ner tre filer förklädda med.txtförlängningar. Det döper om dem tillhostService.exe,printSvc.exeochdhcpSvc.exeföre avrättningen.
Elastic kunde inte hämta dessa filer eftersom servern inte var tillgänglig under analysen. Deras exakta funktionalitet förblir därför obekräftad och bör inte härledas från deras filnamn.
Den misslyckade hämtningen gör inte ett infekterat system säkert. Autentiseringsstöld, filinsamling, urklippsövervakning och fjärråtkomstmoduler kan redan avslöja känslig information utan dessa extra nyttolaster.
Smittsam intervju har riktat sig till utvecklare i flera år
Smittsam intervju har fungerat sedan åtminstone december 2022. Angripare utger sig vanligtvis för att vara rekryterare från kryptovaluta-, teknik- eller artificiell intelligensföretag och vägleder offer genom en övertygande anställningsprocess.
Enhet 42:s forskning om smittsam intervjutidigare dokumenterade nordkoreanskt länkade falska rekryterare som levererar BEAVERTAIL och InvisibleFerret skadlig kod till arbetssökande inom teknik.

REF9403-kampanjen ändrar förpackningen, men målet för social ingenjörskonst förblir konsekvent. Angriparen behöver målet för att lita på tilldelningen och exekvera kod i en miljö som innehåller värdefulla referenser.
Indikatorer associerade med REF9403
Säkerhetsteam bör kombinera fil-, nätverks- och beteendeindikatorer. Arkivnamn kan enkelt ändras, medan legitima projekt av en slump kan använda generiska namn som t.execommerce-main.zip.
| Typ | Indikator | Redovisat syfte |
|---|---|---|
| Fil | serverValidation.js | Rekonstruerar nyttolasten från SVG-kommentarer |
| Fil | AE.svgochAF.svg | Exempel på flaggfiler som innehåller kodade fragment |
| Processtitel | npm-cache | Malware process förklädnad |
| Domän | rightwidth[.]dev | Urklipp och kommandoinfrastruktur |
| Domän | ldb.rightwidth[.]dev | Datainsamling av webbläsare och plånbok |
| Domän | upload.rightwidth[.]dev | Stulna filuppladdningar |
| Domän | controller.rightwidth[.]dev | Socket.IO fjärråtkomstkontroll |
| Domän | file.rightwidth[.]dev | Windows nyttolast nedladdningar |
| IPv4 | 195.26.248[.]212 | Rapporterad kommandoinfrastruktur |
| IPv4 | 188.40.64[.]61 | Rapporterad kommandoinfrastruktur |
Hur utvecklare kan kontrollera kodningsbedömningar
Utvecklare bör behandla alla oönskade kodningstest som opålitlig kod. Ett polerat gränssnitt, giltiga beroenden och fungerande funktioner fastställer inte att förvaret är säkert.
Före utförande bör granskare inspekterapackage.json, serverstartfiler, uppgiftskonfigurationer och skript som läser tillgångskataloger. Långa kodade kommentarer i SVG, HTML eller andra statiska filer kräver också undersökning.
DeMicrosofts begränsningsvägledningrekommenderar att man använder isolerade, icke-beständiga virtuella maskiner för kodningstester och undviker primära arbetsstationer som har tillgång till produktionssystem, arkiv eller molnkonton.
- Verifiera rekryteraren och företaget genom en oberoende kanal.
- Kontrollera åldern och historiken för förvaret och avsändarkontot.
- Granska alla start- och uppgiftskonfigurationsfiler.
- Leta efter
eval(), dynamisk funktionskonstruktion och skalutförande. - Inspektera kommentarer i SVG, HTML och andra statiska tillgångar.
- Använd en virtuell engångsmaskin utan personliga eller företagsuppgifter.
- Begränsa utgående nätverksåtkomst medan du testar okända projekt.
- Inaktivera inte säkerhetsverktyg på en rekryterares begäran.
Vad du ska göra efter att ha kört ett misstänkt arkiv
Alla som körde ett matchande projekt bör koppla bort enheten från nätverket och kontakta relevant säkerhetsteam. Lagret, terminalhistoriken, processinformation och nätverksloggar bör bevaras före sanering.
Inloggningsuppgifter bör roteras från en separat betrodd enhet. Team bör återkalla webbläsarsessioner, förvarstokens, npm-uppgifter, molnnycklar och andra hemligheter som var tillgängliga för det berörda kontot.

Elastics REF9403-indikatorerkan stödja jakt, men svarande bör också undersöka beteendebevis som bred filuppräkning, upprepad åtkomst till urklipp, misstänkta Node.js-processer och oväntade Socket.IO-anslutningar.
- Isolera den misstänkta utvecklarenheten.
- Bevara förvaret och registrera dess källa och commit information.
- Samla pågående processer, terminalhistorik och nätverksloggar.
- Sök efter kända filnamn, domäner, IP-adresser och arkivhashar.
- Återkalla aktiva sessioner från en ren enhet.
- Rotera GitHub, GitLab, npm, SSH, moln och CI/CD referenser.
- Granska cryptocurrency-plånböcker och flytta pengar om exponering är trolig.
- Kontrollera källkontroll och molngranskningsloggar för obehörig åtkomst.
- Undersök andra system som kan nås via inloggningsuppgifter lagrade på enheten.
- Bygg om slutpunkten när svarande inte kan fastställa hela omfattningen.
Endpoints för utvecklare behöver starkare isolering
Utvecklare kräver verktyg som kan exekvera kod, installera paket och nå externa tjänster. Dessa funktioner gör deras system till värdefulla mål och kan försvaga kontroller designade för vanliga kontorsenheter.
Ju tidigareEnhet 42 resultat som riktar sig mot utvecklarevisade hur falska intervjuer kan placera skadlig programvara på flera plattformar på Windows- och macOS-system. REF9403 utökar det mönstret till tillgångar som utvecklare kan anta är ofarliga.
Organisationer bör tillhandahålla dedikerade miljöer för kandidatbedömningar, öppen källkodstestning och okända arkiv. Kortlivade referenser, hemliga valv och strikta åtkomstgränser kan minska effekten om en utvecklare kör skadlig kod.
FAQ
Vad är REF9403-kampanjen?
REF9403 är ett spårningsnamn för Elastic Security Labs för en Nordkoreansk-länkad smittsam intervjukampanj som distribuerar skadliga kodningsbedömningar till mjukvaruutvecklare.
Kan en infekterad SVG-bild köra OTTERCOOKIE malware?
Den observerade REF9403-infektionen startar inte när någon bara tittar på en flaggbild. Skadlig programvara körs när offret startar det medföljande projektet och dess serversida JavaScript rekonstruerar och exekverar Base64-fragment lagrade i SVG-kommentarer.
Vilken information kan skadlig programvara stjäla?
Skadlig programvara kan samla in webbläsaruppgifter, autofylldata, databaser för cryptocurrency-plånbokstillägg, molnuppgifter, SSH-filer, miljöfiler, dokument, källkod, skalhistorik och urklippsinnehåll.
Vilka operativsystem påverkas?
De viktigaste autentiserings-, filstöld- och fjärråtkomstmodulerna stöder Windows, macOS och Linux. Urklippssamling fungerar på Windows och macOS i det analyserade provet, medan ytterligare körbara nedladdningar riktar sig till Windows.
Vad ska en utvecklare göra efter att ha kört ett misstänkt kodningstest?
Utvecklaren bör isolera enheten, bevara bevis och meddela säkerhetsteamet. Från en separat ren enhet bör exponerade sessioner och referenser återkallas eller roteras, inklusive källkontrolltokens, molnnycklar, SSH-nycklar och kryptovaluta plånbokshemligheter.
