Il gruppo di cyber-espionaggio Armored Likho opera dal 2022 contro agenzie governative e società del settore elettrico in Russia, Brasile e Kazakhstan con un infostealer Python inedito, BusySnake Stealer, i cui componenti iniziali sono generati da modelli linguistici di intelligenza artificiale e offuscati con PyArmor Pro 9.2.0. Il report di Kaspersky Securelist, pubblicato nell'aprile 2022, documenta per la prima volta l'uso di LLM nella catena di infezione di un APT attivo, segnando un punto di svolta nella democratizzazione delle tecniche di evasione avanzata.
- Armored Likho, alias Eagle Werewolf su base di evidenza circostanziale, conduce dal 2022 campagne di cyber-espionage e furto di dati contro target governativi e infrastrutture energetiche in 3 paesi: Russia, Brasile e Kazakhstan.
- BusySnake Stealer è un infostealer Python-based precedentemente non documentato, che implementa un'architettura modulare handler-based con offuscamento runtime dinamico tramite PyArmor Pro 9.2.0.
- I payload di primo stadio (loader e stager) presentano commenti verbosi e emoji nel codice sorgente, indicazione che Kaspersky interpreta come "fortemente indicativa" di generazione mediante LLM.
- Il gruppo abusa di repository GitHub per lo staging automatizzato dei componenti malware, con rotazione rapida dei payload e dei repository per eludere il rilevamento.
- La persistenza si basa su un scheduled task che esegue il payload ogni 5 minuti tramite VBScript, un intervallo insolitamente breve rispetto ai 15-60 minuti tipici del malware commodity.
Come l'AI entra nella catena di infezione
L'analisi tecnica di Kaspersky rivela che i payload iniziali di Armored Likho portano tracce inequivocabili di generazione automatica. I file Python contenenti i loader e gli stager presentano commenti estesi, formattazione con bullet-point e emoji — uno stile di codifica che gli analisti GReAT definiscono "altamente non caratteristico del malware sviluppato da umani".
"This coding style is highly uncharacteristic of human-developed malware. It strongly indicates that the group is leveraging LLMs to generate their malicious payloads." — Kaspersky Securelist
L'uso di modelli linguistici per la generazione del codice malevolo offre al gruppo un vantaggio operativo duplice. Da un lato, i payload AI-generated variano significativamente tra loro, rendendo inefficaci le firme statiche basate su hash o pattern riconosciuti. Dall'altro, il codice tende a passare indenne attraverso le sandbox dinamiche: gli analizzatori automatizzati eseguono il primo stadio senza rilevare comportamenti malevoli, poiché il payload vero e proprio viene scaricato e decifrato solo in momenti successivi.
Questa tecnica offusca i TTP (Tactics, Techniques, and Procedures) del gruppo, complicando gli sforzi di attribuzione che tradizionalmente si basano sulla coerenza stilistica del codice e sulla ripetizione di pattern sviluppati manualmente nel tempo.
PyArmor Pro 9.2.0 e l'offuscamento runtime
BusySnake Stealer impiega PyArmor Pro versione 9.2.0, strumento commerciale di offuscamento per codice Python che implementa una decrittazione runtime dinamica per funzione. Il meccanismo funziona così: ogni funzione del malware rimane cifrata nel file distribuito e viene decifrata solo al momento della sua esecuzione, per essere immediatamente ricifrata al termine.
Questo approccio rende impraticabile l'analisi statica tradizionale: il reverse engineer che ispeziona il file su disco trova solo bytecode oscurato, mentre l'analisi dinamica deve catturare ogni frammento decifrato nel preciso istante della sua esecuzione, ricomponendo il puzzle funzione per funzione. Kaspersky annota che la versione 9.2.0 di PyArmor Pro rappresenta uno stato dell'arte nell'offuscamento Python consumer-grade, precedentemente non osservato in campagne APT documentate.
L'architettura handler-based di BusySnake Stealer organizza il furto di credenziali, documenti e screenshot in moduli separati, ciascuno attivabile dal server di comando e controllo. La directory di lavoro del malware è $appdata\WindowsHelper, dove risiedono i componenti eseguiti e i dati raccolti prima dell'esfiltrazione.
GitHub come infrastruttura e le 2 varianti di infezione
Armored Likho non registra domini dedicati per lo staging dei payload, ma abusa di repository GitHub — piattaforma che gode di elevata reputazione nelle liste allow dei proxy aziendali. Kaspersky ha identificato repository con build di sviluppo iniziali e campioni di test, evidenziando un rilascio automatizzato che consente la rotazione rapida sia dei payload che dei repository stessi.
La campagna si diffonde attraverso 2 vettori distinti. La prima variante utilizza un installer NSIS che ospita un'applicazione decoy — un falso test psicologico — per disarmare la suspicione dell'utente mentre in background estrae e installa il payload principale. Gli allegati phishing portano nomi tematici come "psihologicheskiy_test.zip" o "zayavka_gumanitarnayapomosch.rar".
La seconda variante sfrutta la vulnerabilità ZDI-CAN-25373 su file LNK: il collegamento Windows nasconde parametri di command line mediante spazi e interruzioni di riga, eseguendo un downloader PowerShell che recupera i componenti successivi. Il dossier non specifica quale software vulnerabile esponga questa falle, né fornisce un punteggio di severità o un identificatore CVE associato.
La persistenza ibrida: ogni 5 minuti
BusySnake Stealer garantisce la propria sopravvivenza attraverso un scheduled task che esegue il payload ogni 5 minuti tramite uno script VBScript (run.vbs). Questo intervallo insolitamente breve — rispetto ai 15-60 minuti tipici del malware commodity — suggerisce una priorità operativa sulla raccolta continua di dati in tempo reale.
In parallelo, il malware implementa un meccanismo di lock-file non standard: un algoritmo custom verifica la presenza del file Roaming\WindowsHelper\screenshots\.lock per prevenire esecuzioni multiple concorrenti, invece di ricorrere ai tradizionali mutex o chiavi di registro. Questa scelta, segnalata come anomala dagli analisti, complica ulteriormente il rilevamento basato su indicatori di compromissione consolidati.
Cosa fare adesso
Le organizzazioni che operano nel settore energetico e nella pubblica amministrazione nei 3 paesi target — Russia, Brasile e Kazakhstan — devono integrare nella loro postura di sicurezza controlli specifici per i TTP documentati di Armored Likho.
Monitorare l'esecuzione di script VBScript con intervalli di 5 minuti attraverso i log dei scheduled task di Windows, poiché questa frequenza è un indicatore distintivo della persistenza di BusySnake Stealer.
Ispezionare il percorso $appdata\WindowsHelper e i sottodirectory, in particolare la presenza del file .lock in screenshots\, come indicatori di compromissione associati alla directory di lavoro del malware.
Analizzare il traffico verso repository GitHub non autorizzati o inusuali, dato che Armored Likho utilizza questa piattaforma per lo staging automatizzato con rotazione rapida dei payload.
Valutare l'uso di strumenti di analisi dinamica avanzata per il rilevamento di codice Python offuscato con PyArmor Pro 9.2.0, dato che la decrittazione runtime per funzione elude le firme statiche convenzionali.
Esaminare con attenzione gli allegati con nomi tematici in lingua russa, in particolare archivi che contengono installer NSIS o file LNK con parametri nascosti da spazi e interruzioni di riga.
Perché è importante
Il dossier di Kaspersky non documenta misure correttive specifiche né raccomandazioni operative dettagliate per le potenziali vittime. Non è specificato se i repository GitHub identificati siano stati segnalati o rimossi, né è chiaro se la campagna prosegua oltre la data di pubblicazione del report nell'aprile 2022.
Il numero esatto di entità compromesse non è quantificato, e l'attribuzione del gruppo a un soggetto sponsorizzato da nazione-stato o a un attore mercenario rimane non documentata. L'alias Eagle Werewolf, riportato dalla fonte, si fonda su evidenza circostanziale piuttosto che su sovrapposizioni infrastrutturali confermate.
Ciò che il report rende evidente è l'accelerazione di una tendenza: l'incrocio tra AI-generated malware, offuscamento commerciale avanzato e abuso di servizi cloud legittimi erode la distinzione tradizionale tra APT "sofisticati" e operatori di livello intermedio. Quando un gruppo può generare payload evasivi con LLM e distribuirli tramite GitHub, l'attribuzione basata sulla "maturità tecnica" perde parte della sua validità predittiva.
Il furto sistematico di credenziali, documenti e screenshot ogni 5 minuti espone il settore energetico e la pubblica amministrazione a rischi di spionaggio industriale e, in prospettiva, di sabotaggio infrastrutturale. La capacità di rilevare comportamenti anomali nell'uso di PyArmor, nel pattern di esecuzione VBScript schedulato o nell'accesso a repository GitHub non autorizzati diventa centrale, poiché le firme statiche sono destinate a diventare progressivamente inadeguate.
Limiti e punti aperti
Il report di Kaspersky, pur tecnicamente densissimo, lascia interrogativi su cui la fonte non si pronuncia. Non è documentato se ZDI-CAN-25373 sia stata oggetto di patch da parte del vendor interessato, né se la vulnerabilità sui file LNK sia attualmente sfruttabile su sistemi aggiornati. La natura dei dati esfiltrati — se credenziali di accesso a sistemi industriali, documenti strategici o informazioni personali — non è dettagliata nella sezione tecnica disponibile.
L'uso di LLM per la generazione del codice, sebbene indicato come "fortemente probabile" dagli analisti, non è accompagnato da evidenza forense che identifichi il modello specifico o il servizio utilizzato. Resta quindi un'ipotesi operativa solida, ma non una certezza assoluta.
Le informazioni sono basate sulla fonte citata e aggiornate al momento della pubblicazione.