La campagna Contagious Interview, attiva dal 2023 e attribuita ad attori allineati con la Corea del Nord (DPRK), rappresenta una delle evoluzioni più sofisticate delle operazioni cyber finalizzate al finanziamento del regime di Pyongyang. Gli attaccanti sfruttano servizi di storage JSON come JSON Keeper, JSONsilo e npoint.io per ospitare e distribuire codice malevolo travestito da progetti legittimi su GitLab e GitHub. Questo approccio consente di eludere i sistemi di rilevamento e di mimetizzarsi nel traffico web ordinario, sfruttando infrastrutture affidabili per la delivery del malware. Gli obiettivi principali della campagna sono sviluppatori di software impegnati in ambiti come cryptocurrency, blockchain e Web3, che vengono colpiti su sistemi Windows, Linux e macOS attraverso una catena d’attacco che combina social engineering, trojanizzazione del codice e moduli modulari di raccolta dati.
Cosa leggere
Background e obiettivi della campagna
La campagna Contagious Interview nasce come un’iniziativa di lungo termine per generare entrate economiche destinate alla Repubblica Popolare Democratica di Corea, sfruttando il lavoro remoto e la crescente fiducia nelle piattaforme di networking professionale. I target sono sviluppatori esperti e professionisti del settore IT, selezionati per la loro esposizione in ecosistemi Web3. Gli attori iniziano l’approccio su LinkedIn utilizzando profili di recruiter falsi, spesso costruiti con ruoli incoerenti e nomi inventati come quello di un presunto direttore medico, “Dr. med. Hubert Buschmann”, che afferma di reclutare per una piattaforma immobiliare di nuova generazione.

Il contatto iniziale avviene con messaggi formali e apparentemente innocui che simulano offerte di lavoro o colloqui tecnici. Una volta guadagnata la fiducia della vittima, gli aggressori inviano un link verso un repository GitHub o GitLab che contiene un progetto demo di apparente natura professionale. I titoli dei progetti sono accattivanti: “Real Estate Rental Platform”, “GoldenCity”, o varianti che mescolano il concetto di real estate e tokenizzazione. Questi repository contengono codice Node.js con variabili codificate in Base64 che, una volta decodificate, rimandano a URL JSON dove sono ospitati script JavaScript obfuscati. Il tutto appare credibile, con file README, licenze open source e persino commit fittizi, ma al loro interno nascondono payload dannosi progettati per attivarsi durante l’esecuzione locale del codice da parte della vittima.
Tattiche di social engineering e inganno professionale
Le tattiche di social engineering utilizzate nella campagna si basano sull’imitazione di pratiche reali di selezione del personale. Gli attori fingono di essere recruiter, direttori di progetti o professionisti del settore immobiliare, creando un contesto in cui la vittima non percepisce alcuna minaccia. Durante lo scambio di messaggi, il falso recruiter propone una simulazione di colloquio tecnico e fornisce istruzioni per scaricare un progetto demo. L’obiettivo è indurre il candidato ad avviare un’applicazione Node.js contenente il malware, presentata come esercitazione o valutazione pratica.

La catena psicologica dell’inganno si rafforza grazie alla rapidità delle risposte e alla coerenza apparente del linguaggio. Tuttavia, alcuni dettagli anomali — come la provenienza geografica del contatto, l’incoerenza del ruolo o la mancanza di verifiche video — costituiscono red flag evidenti. Gli attori, una volta ottenuta l’esecuzione del progetto, attivano un fetch automatico verso un servizio JSON che contiene il codice malevolo nascosto. Le comunicazioni e i payload vengono gestiti attraverso una rete di indirizzi email appositamente creati, come [email protected], [email protected] o [email protected], che coordinano il caricamento e la rotazione dei file su servizi di hosting pubblici.
Meccanismo di delivery tramite storage JSON

L’uso dei servizi di storage JSON rappresenta la principale innovazione della campagna. Invece di utilizzare server o domini malevoli, gli attori sfruttano piattaforme pubbliche e legittime, che consentono la memorizzazione e la distribuzione di oggetti JSON tramite link. Questo stratagemma permette di confondere il traffico dannoso con quello normale, riducendo la probabilità di individuazione.

All’interno dei repository trojanizzati, il codice decodifica stringhe Base64 che contengono indirizzi URL remoti ospitati su JSON Keeper o JSONsilo. Una volta decodificato, il contenuto JSON viene caricato ed eseguito come script locale, attivando il modulo infostealer BeaverTail, seguito dal downloader OtterCookie e dal Remote Access Trojan (RAT) InvisibleFerret.

Questi componenti lavorano in sinergia. BeaverTail raccoglie informazioni di sistema, analizza directory e profili browser, accede a wallet crypto come MetaMask, Phantom e TronLink, e ruba documenti Word, PDF e screenshot. Su macOS, estrae password e chiavi dal Keychain, mentre OtterCookie gestisce l’esfiltrazione dei dati raccolti e la connessione ai server di comando e controllo. InvisibleFerret, invece, funge da RAT modulare in linguaggio Python, capace di scaricare moduli aggiuntivi da Pastebin o domini .onion, garantendo il controllo remoto completo del sistema compromesso.
Evoluzione tecnica della catena di attacco
Con gli aggiornamenti di agosto 2025, la campagna introduce il framework Tsunami, un modulo aggiuntivo che potenzia la persistenza e l’evasione dei controlli di sicurezza. Questo componente, integrato nel modulo Python “pow” di InvisibleFerret, consente di escludere il malware dalle scansioni di Microsoft Defender, creare task schedulati per l’esecuzione continua e utilizzare algoritmi di cifratura RSA e XOR per validare i payload.

Il processo di esecuzione è estremamente complesso: le variabili Base64 vengono decodificate in stringhe esadecimali che, a loro volta, rimandano a Pastebin contenenti codice cifrato. Le chiavi di decodifica, come la frase “!!!HappyPenguin1950!!!”, vengono utilizzate per generare indirizzi che portano a file binari .NET, uno dei quali, denominato TsunamiInstaller, veniva scaricato in precedenza dall’indirizzo 23.254.164.156/introduction-video, oggi offline ma riconosciuto come punto di distribuzione della catena finale del malware.

InvisibleFerret adotta un sistema di verifica delle firme digitali per autenticare i moduli scaricati, utilizzando una chiave pubblica RSA incorporata nel codice. Il modulo Tsunami, inoltre, è capace di installare Python nei sistemi in cui è assente e di mantenere la persistenza tramite attività pianificate e modifiche al registro.
Infrastruttura e indicatori di compromissione
L’infrastruttura di Contagious Interview è distribuita su più livelli e caratterizzata da una combinazione di elementi legittimi e risorse malevole. I payload vengono ospitati su servizi JSON pubblici e integrati in repository GitHub e GitLab come technicalmanager-group/real-esate, goldencity-group/goldencity-demo o meta-stake/RealEstateVC, tutti riconducibili agli stessi attori. Alcuni componenti sono stati caricati su Railway.app per il download di file ZIP contenenti ulteriori script, collegati a indirizzi IP come 146.70.253.107:1224.

Le attività di monitoraggio hanno identificato anche l’uso di Pastebin e domini TOR per il caricamento di stage successivi del malware, insieme a una rotazione frequente di email e repository, che garantisce la sopravvivenza della campagna anche dopo i takedown. Gli indicatori di compromissione includono URL JSON anomali, stringhe Base64 sospette nei file di configurazione e comportamenti di rete compatibili con chiamate Axios verso indirizzi remoti.
Implicazioni e contromisure
La campagna Contagious Interview riflette l’elevato livello di maturità operativa della cyberwarfare nordcoreana, che combina social engineering, abuso di piattaforme legittime e malware modulare. L’obiettivo principale resta l’acquisizione di fondi e informazioni riservate utili al finanziamento del programma nucleare della DPRK, ma la tecnica dimostra un potenziale adattabile a obiettivi geopolitici e spionistici. Le aziende dovrebbero rafforzare i controlli sulle offerte di lavoro e sui contatti ricevuti via LinkedIn, evitando di eseguire codice proveniente da repository non verificati e analizzando con attenzione i file di configurazione che contengono variabili codificate o richieste HTTP non documentate. Una vigilanza costante sull’origine delle comunicazioni e sui comportamenti anomali in ambienti di sviluppo rappresenta la chiave per mitigare il rischio. La comunità europea dei developer, in particolare quella italiana, deve prestare particolare attenzione alle richieste di collaborazione nel settore crypto, che rimane uno dei più appetibili per gli attori della DPRK. L’abuso di servizi legittimi come JSON Keeper o GitLab dimostra quanto la minaccia si stia spostando verso tecniche di mimetizzazione infrastrutturale, dove la linea tra traffico normale e malevolo diventa sempre più sottile.