Finti colloqui di lavoro: così ti installano backdoor sul PC da sviluppatore

Una campagna mirata usa falsi repository Next.js per infettare i sistemi degli sviluppatori durante falsi colloqui di lavoro. Rubati credenziali e accessi cloud con backdoor multi-stadio.

Una campagna mirata contro sviluppatori sta sfruttando progetti Next.js fraudolenti e false offerte di lavoro per inserire backdoor nei sistemi dei tecnici. L’indagine, condotta dal team Microsoft Defender Experts, evidenzia come l’ingegneria sociale applicata al contesto di sviluppo software sia diventata un vettore d’attacco efficace quanto le compromissioni della supply chain.

L’analisi si inserisce in un periodo in cui le piattaforme per condividere codice, come Bitbucket e GitHub, sono usate sempre più spesso anche per selezionare sviluppatori, grazie a migliaia di repository pubblici che riproducono esercitazioni simili a progetti reali. In questo contesto, cresce il numero di attacchi informatici che colpiscono direttamente le procedure di lavoro degli sviluppatori, sfruttando strumenti molto diffusi come Node.js (ambiente per eseguire codice JavaScript), Visual Studio Code (editor di sviluppo) e i più recenti framework Web.

Una campagna costruita su falsi progetti Next.js

I repository malevoli individuati da Microsoft presentano nomi credibili, ad esempio “Cryptan-Platform-MVP1”, e simulano sfide di coding o progetti dimostrativi. Il codice, apparentemente legittimo, include componenti trojanizzati che si attivano durante le normali operazioni di sviluppo.

La prima anomalia rilevata: traffico sospetto da processi Node.js verso infrastrutture command and control su porta HTTP 3000, con connessioni ripetute a intervalli regolari. Tale comportamento ha portato all’identificazione di una campagna coordinata con infrastrutture distribuite su domini ospitati su Vercel e indirizzi IP dedicati.

L’attacco sfrutta tre distinti percorsi di esecuzione, tutti integrati nei normali flussi operativi dello sviluppatore. Il primo riguarda l’automazione delle workspace di Visual Studio Code: configurazioni nel file .vscode/tasks.json con l’opzione runOn impostata su folderOpen attivano task malevoli non appena la cartella è aperta.

Il secondo percorso si attiva in fase di build: asset apparentemente innocui, come versioni modificate di jquery.min.js, includono codice offuscato che scarica loader JavaScript remoti all’esecuzione del comando npm run dev.

Il terzo percorso avviene all’avvio del backend, dove route server-side decodificano endpoint salvati in Base64 nei file .env, esfiltrano variabili di ambiente e caricano codice remoto tramite costrutti dinamici come new Function().

Impatto: furto di credenziali e compromissione dell’infrastruttura

Una volta eseguito il payload, le funzionalità malevole da esso integrate includono il furto di credenziali, l’accesso a cookie e sessioni, la scansione delle directory locali e il caricamento di file riservati.

L’obiettivo primario dell’aggressione non è solo la compromissione del singolo dispositivo, ma l’accesso indiretto a infrastrutture aziendali, flussi di sviluppo e ambienti cloud collegati all’identità dello sviluppatore. Gli attaccanti mirano a sfruttare la posizione privilegiata di queste figure, che spesso fungono da punto di intersezione tra codice sorgente, servizi di integrazione continua e ambienti di produzione.

La scelta di mascherare il malware come prova tecnica di selezione risponde a una logica precisa: ridurre la soglia di sospetto e ottenere esecuzione volontaria del codice in un contesto di fiducia.

Gli sviluppatori sono abituati a testare repository sconosciuti, installare dipendenze e avviare server locali; azioni che in questo scenario diventano vettori di attacco. L’ingegneria sociale si combina così con tecniche di offuscamento e con l’abuso di strumenti legittimi per aggirare le difese tradizionali.

Il contatto iniziale con la vittima può avvenire attraverso molteplici canali: email di recruiting apparentemente provenienti da aziende reali, messaggi diretti su piattaforme professionali o segnalazioni di opportunità lavorative con link a repository Bitbucket. In alcuni casi gli aggressori costruiscono identità credibili, complete di profili aziendali e descrizioni dettagliate del ruolo, per aumentare il tasso di successo. Il repository fornito contiene istruzioni per eseguire un test tecnico, inducendo la vittima a clonare il codice ed eseguirlo localmente.

False proposte di lavoro agli sviluppatori installano malware

Microsoft spiega come funziona la catena di attacco che prende di mira gli sviluppatori (fonte: Developer-targeting campaign using malicious Next.js repositories)

I file .env sono un obiettivo privilegiato

Una volta stabilita la compromissione, il malware inizia la raccolta di dati sensibili attraverso l’accesso a variabili d’ambiente, file di configurazione e archivi locali. I file .env rappresentano un obiettivo privilegiato, poiché spesso contengono credenziali di accesso a servizi cloud come AWS, chiavi API di terze parti e token di autenticazione per piattaforme come GitHub o sistemi di continuous integration.

Parallelamente, il codice malevolo può interrogare i database locali dei browser Web per estrarre cookie di sessione e token OAuth, consentendo agli aggressori di impersonare la vittima senza necessità di conoscere la password.

Le informazioni raccolte sono inviate al server command and control, dove possono essere utilizzate per diversi scopi: accesso diretto a repository privati, modifica del codice sorgente, distribuzione di ulteriori payload tramite pipeline CI/CD o movimento laterale verso altri sistemi aziendali.

Negli scenari più avanzati, gli attaccanti possono utilizzare le credenziali sottratte per pubblicare aggiornamenti malevoli, compromettere ambienti di staging o distribuire codice infetto a clienti e utenti finali.

Il valore economico e strategico di questi accessi spiega la crescente frequenza di attacchi mirati agli sviluppatori. Una singola workstation compromessa può diventare il punto di ingresso per un’intera infrastruttura, consentendo agli aggressori di ottenere proprietà intellettuale, dati sensibili e accesso a sistemi critici.

Mitigazioni operative per sviluppatori e team di sicurezza

La difesa richiede l’adozione di misure operative mirate. Gli sviluppatori dovrebbero mantenere attivo il Workspace Trust e la Restricted Mode in Visual Studio Code, verificare manualmente i file di configurazione e isolare l’esecuzione di prove tecniche in ambienti virtualizzati.

I team di sicurezza possono rafforzare il monitoraggio comportamentale, applicare regole di riduzione della superficie di attacco di Microsoft Defender per bloccare script offuscati e analizzare le comunicazioni di rete per individuare pattern tipici dei malware Node-based.

Considerare i flussi di sviluppo come superficie d’attacco primaria rappresenta un cambiamento operativo necessario per contrastare minacce di questo tipo.

Ti consigliamo anche

Link copiato negli appunti