Security Blog

634 lösenord på 56 sekunder

#110

October 2, 2026 · By Marketing team

← All posts

En utvecklare gick igenom två intervjurundor med ett falskt företag. Riktig webbplats, riktiga ansikten, riktiga tekniska samtal. Sen körde de kodutmaningen. På under en minut var alla Chrome-lösenord, macOS Keychain och kryptoplånboksdata borta.

En utvecklare — säkerhetsmedveten, erfaren, någon som aktivt letar efter bedrägerier — gick igenom en flerstegs intervjuprocess med ett falskt företag. HR-samtal. Teknisk intervju med två ingenjörer. Riktig webbplats med teamfoton. Riktiga LinkedIn-profiler. Veckor av relationsbyggande.

Sen bad de utvecklaren köra en liten kodutmaning under en skärmdelning.

56 sekunder senare hade angriparna 634 sparade Chrome-lösenord, macOS Keychain-filen (som innehåller nyckeln för att dekryptera dem) och MetaMask-plånboksdata.

Så gick attacken till

GitHub-repot såg rent ut. Några backend-filer, inget misstänkt. Men ett beroende — winston-middleware, ett paket med oskyldigt klingande namn — hade ett eget beroende: next-runtimejs.

Där låg vapnet.

I samma ögonblick som npm install kördes exekverades ett shell-skript tyst. Inga promptar, inga varningar. Det laddade ner en Go-baserad bakdörr och registrerade den för autostart vid varje uppstart.

Det här var inget script kiddie-verktyg. Egen RC4-krypterad C2-protokoll. Kommandon för shell-exekvering, filstöld, Chrome-lösenordsextraktion, Keychain-exfiltrering och riktning mot kryptoplånböcker. Professionellt byggt.

Bakdörren startade 16:16:37. Chrome-lösenorden lästes 16:17:33. Utvecklaren noterade en macOS-popup om en utgående förbindelse och stängde av WiFi inom en minut — men skadan var redan skedd.

Varför intervjun spelade roll

Den här attacken hade misslyckats som ett kallt mejl. "Kör det här repot" från en främling ignoreras.

Men efter två intervjurundor? Efter att ni skrattat ihop över hur många falska jobbbedrägerier som riktar in sig på utvecklare? Efter att en av intervjuarna sa "Ni får gärna leta efter bakdörrar" med ett leende?

Då sänker du garden. Förtroendet är sårbarheten. Malwaren är bara lasten.

Utvecklaren formulerade det bäst: "Om det hände mig, kan det hända vem som helst i ert team."

Vad Chrome-lösenord faktiskt betyder

Chrome krypterar sparade lösenord med AES. Dekrypteringsnyckeln lagras i macOS Keychain. Angriparna stal båda filerna på under en minut.

Varje sparat lösenord — bank, e-post, GitHub, molnkonsoler — var läsbart i deras ände. Keychain-filen kan knäckas offline utan hastighetsbegränsningar. Utvecklaren var tvungen att rotera allt.

Det här är den smutsiga hemligheten med webbläsarsparade lösenord: de krypteras med en nyckel som bor på samma maskin. Kompromissa maskinen, så är "krypteringen" bara dekor.

DPRK-mönstret

Utvecklaren nämnde att deras föregående företag också hackades av Nordkorea tre månader tidigare. Det här är kampanjen "Contagious Interview" — nordkoreanska statliga angripare som kör falska jobbintervjuer för att plantera malware på utvecklarmaskiner.

Det är inte slumpmässigt. De riktar in sig på utvecklare specifikt på grund av vad utvecklare har tillgång till: produktionsnycklar, signaturnycklar, molninfrastruktur — och allt mer AI-agent-tokens som kan komma åt ännu mer.

Skalan är industriell. Falska företag med genererade ansikten. Välgjorda webbplatser. Intervjuprocesser över flera veckor. De investerar för att avkastningen finns där.

"Lösenordshanterare hjälper inte"

Utvecklaren gjorde ett intressant påstående i tråden: "Lösenordshanterare hjälper inte om de har tillgång till din dator via en bakdörr som den här, eftersom de kan skicka vilken fil som helst senare, skräddarsy en exploit specifikt för dig, keyloggers, skärmbilder."

Det är delvis rätt och delvis fel.

En lösenordshanterare som lagrar sitt valv på din lokala disk, upplåst med ett huvudlösenord du skriver in — ja, en bakdörr med tangentloggning och filåtkomst kan kompromissa det.

Men en lösenordshanterare med hårdvarubundna nycklar — där dekrypteringsnyckeln härleds från en fysisk autentikator och aldrig existerar som en fil på disken — är fundamentalt annorlunda. Bakdörren kan stjäla filer, logga tangenttryckning, ta skärmbilder. Men den kan inte extrahera en nyckel som bara finns inuti en hårdvarusäkerhetsmodul under ett fysiskt tryck.

De 634 Chrome-lösenorden stals eftersom både de krypterade data och dekrypteringsnyckeln var filer i filsystemet. Om dekrypteringsnyckeln kräver fysisk besittning av en enhet ger filstöld dig krypterade blobbar och inget mer.

Vad du ska göra

  • Kör aldrig intervjukod på din primära maskin. Använd en VM eller en separat enhet.
  • Kör npm install --ignore-scripts på okända repon innan du exekverar
  • Använd en utgående brandvägg (Little Snitch, LuLu) som varnar för nya förbindelser
  • Sluta spara lösenord i Chrome. Punkt.
  • Ha krypto på hårdvaruplånböcker, inte webbläsartillägg
  • Behandla varje kodutmaning från en rekryterare som potentiellt fientlig, hur många samtal ni än haft

Utvecklaren överlevde för att en macOS-popup fångade den utgående förbindelsen i tid. De flesta hade klickat på Tillåt utan att tänka efter.

56 sekunder. Det är allt som krävs.