FlutterShell segna una nuova fase nelle campagne di malvertising contro utenti macOS, perché combina distribuzione tramite Google Ads, applicazioni desktop contraffatte, abuso di Developer ID Apple validi, notarizzazione superata e un’architettura malevola basata su Flutter e Dart. La campagna, tracciata da Unit 42 di Palo Alto Networks come Operation FlutterBridge e associata al cluster CL-CRI-1089, mostra come gli attaccanti stiano portando sul sistema operativo Apple tecniche già osservate in precedenti operazioni Windows, aggiornandole con una struttura più dinamica e difficile da analizzare. Il malware si presenta come applicazione apparentemente legittima, spesso collegata a funzioni innocue come player podcast o visualizzatori PDF, ma integra una WebView controllata dagli operatori che consente di ricevere comandi remoti, modificare il filesystem, eseguire shell command ed esfiltrare dati. Il passaggio da JSCoreRunner a FlutterShell indica una maturazione del toolkit offensivo, con maggiore offuscamento, controllo remoto più flessibile e possibilità di aggiornare la logica malevola senza ricompilare il bundle locale. L’uso di annunci sponsorizzati su Google e YouTube amplia la superficie di esposizione, perché intercetta utenti che cercano software gratuito o utility desktop e li indirizza verso siti di download costruiti per apparire credibili.
Cosa leggere
Operation FlutterBridge porta il cluster CL-CRI-1089 su macOS
Operation FlutterBridge rappresenta la fase macOS del cluster CL-CRI-1089, un’attività osservata almeno dal 2023 e progressivamente adattata a più piattaforme. La campagna si intensifica su macOS dalla fine del 2025, quando gli attaccanti iniziano a distribuire applicazioni contraffatte firmate e notarizzate attraverso annunci acquistati su Google Ads. Le società di comodo utilizzate per l’acquisto pubblicitario, tra cui AdsParkPro LTD, Advantage Web Marketing LLC e SOFT WE ART LIMITED, mostrano caratteristiche compatibili con strutture di facciata: siti generici, presenza aziendale minima e titolari riconducibili all’area ucraina. Quando un account pubblicitario viene sospeso, gli operatori migrano rapidamente verso nuove entità, mantenendo continuità nella distribuzione. Il targeting è globale ma privilegia mercati ad alto valore come Francia, Germania, Stati Uniti, Canada, Australia ed Europa occidentale, dove la ricerca di software desktop gratuito genera traffico qualificato. Le app promosse, come PodcastsLounge, PDF-Brain e PDF-Ninja, svolgono funzioni plausibili per non destare sospetti, ma nascondono la logica offensiva dentro componenti caricati dinamicamente. Questo modello rende l’utente parte inconsapevole di una catena di infezione che inizia da una ricerca legittima, passa da un annuncio sponsorizzato e termina con l’esecuzione di una backdoor macOS.
FlutterShell usa Flutter e Dart per nascondere una WebView malevola

La scelta di costruire FlutterShell con Flutter e Dart non è casuale, perché permette agli attaccanti di distribuire applicazioni desktop native con un aspetto credibile e una base tecnica meno comune nell’analisi malware tradizionale per macOS. La logica malevola principale non risiede in una semplice routine statica, ma in una WebView che carica contenuti da server controllati dagli operatori. All’interno di questa WebView opera un bridge JavaScript-nativo chiamato flutterInvoke, progettato per consentire alla pagina remota di richiamare funzioni native del sistema. I comandi arrivano in formato JSON e includono primitive come esecuzione di shell, lettura e scrittura di file, esplorazione di directory, raccolta di variabili d’ambiente e interazione con il profilo utente.

Gli endpoint di configurazione, tra cui /getConfig e /getUpdateThanksConfig, consentono di cambiare comportamento in tempo reale senza aggiornare l’app installata. Questo punto è essenziale: l’applicazione locale può apparire immutata e già approvata dall’ecosistema Apple, mentre il codice remoto modifica funzioni, payload e flussi decisionali. L’uso dello strumento blutter ha permesso agli analisti di disassemblare il codice Dart e confermare la presenza di routine malevole che, al momento dello studio, non risultavano rilevate su VirusTotal, rafforzando il vantaggio operativo degli attaccanti.
Il bridge JavaScript-nativo abilita esecuzione comandi e furto dati

Il cuore operativo di FlutterShell è il bridge flutterInvoke, che trasforma una pagina web remota in un controller capace di comandare funzioni native su macOS. Questa architettura consente agli operatori di inviare istruzioni strutturate al malware e ottenere capacità tipiche di una backdoor, tra cui exec_sync, read_file, write_file, exists e get_home_dir, funzioni già osservate nel precedente JSCoreRunner. L’approccio è particolarmente insidioso perché separa l’interfaccia visibile dall’utente dalla logica di controllo effettiva. L’app può presentarsi come un visualizzatore PDF o un player podcast, mentre la WebView riceve script e configurazioni aggiornate dal comando e controllo. Le varianti più recenti includono anche endpoint come /summarize-text, usati per inviare file verso server remoti e sottoporli a elaborazione tramite intelligenza artificiale prima dell’esfiltrazione. Questa funzione indica un’evoluzione verso il furto dati selettivo: non soltanto copiare file, ma analizzarne il contenuto per individuare informazioni utili, riassumerle o classificarle. In uno scenario aziendale, questa capacità può diventare molto pericolosa perché consente di processare documenti, PDF, note interne e file testuali senza generare necessariamente volumi di traffico elevati. La backdoor unisce quindi controllo remoto, manipolazione del filesystem e triage intelligente delle informazioni, collocandosi oltre il semplice adware.
Delay, offuscamento e notarizzazione aumentano la capacità di evasione
FlutterShell integra una routine di ritardo progettata per ridurre l’efficacia delle analisi automatiche. Dopo l’esecuzione iniziale, il malware contatta il comando e controllo per ottenere un valore di delay espresso in secondi; se non riceve risposta o il valore risulta nullo, imposta un ritardo predefinito di 1200 secondi. Questa finestra temporale consente all’applicazione di apparire inattiva o innocua durante molte scansioni sandbox, che spesso osservano il comportamento per periodi limitati. Gli operatori combinano il delay con un progressivo aumento dell’offuscamento: le prime varianti utilizzano stringhe più leggibili, quelle successive passano a Base64 e infine al flag –obfuscate di Flutter, introducendo nomi di funzione fuorvianti come read_pdf per confondere l’analisi manuale. Il fatto che le app siano firmate con Developer ID Apple validi e superino la notarizzazione aumenta ulteriormente il rischio, perché riduce gli avvisi visibili all’utente e conferisce una parvenza di legittimità. Questo non significa che il malware aggiri ogni controllo di macOS, ma dimostra che gli attori sono in grado di operare dentro zone grigie dell’ecosistema Apple sfruttando identità sviluppatore valide, app apparentemente funzionali e tempi di attivazione differiti.
Le varianti PodcastsLounge, PDF-Brain e PDF-Ninja mostrano sviluppo attivo

Gli analisti identificano almeno tre varianti principali di FlutterShell, distribuite a distanza di circa un mese e collegate a differenti esche applicative. La prima variante, associata a PodcastsLounge, compare a ottobre 2025 e appare come una prima implementazione della backdoor Flutter su macOS. Le varianti successive, PDF-Brain e PDF-Ninja, introducono modifiche nei package name, tra cui com.app.pdfBrain e com.pdfninja.app, e affinano progressivamente offuscamento, configurazione e capacità di esfiltrazione. L’evoluzione mensile suggerisce un ciclo di sviluppo attivo, con test sul campo, correzioni incrementali e introduzione di nuove funzioni. Le build PDF risultano particolarmente rilevanti perché integrano l’endpoint /summarize-text, indizio di una fase in cui gli attaccanti sperimentano funzioni AI per trattare i file sottratti. Alcune componenti appaiono incomplete o non terminate, elemento che conferma un toolkit ancora in sviluppo e non un malware statico arrivato a maturità definitiva. La continuità dei domini, il riuso di pattern infrastrutturali e la progressiva specializzazione delle applicazioni indicano che gli operatori stanno adattando il malware in base alle risposte delle vittime, ai blocchi pubblicitari e ai rilevamenti dei vendor di sicurezza.
L’adware modifica Google Chrome e forza traffico verso sinterfumesco.com
Oltre alle funzioni di backdoor, FlutterShell incorpora un payload adware capace di alterare la configurazione di Google Chrome su macOS. Il malware estrae l’UUID della macchina attraverso il comando ioreg e interviene sul file Secure Preferences del browser per modificare provider di ricerca predefinito e pagina nuova scheda. L’obiettivo è indirizzare il traffico verso sinterfumesco.com, dominio usato per monetizzazione pubblicitaria e hijacking dell’esperienza web. Dopo la modifica delle preferenze, il malware termina le istanze di Chrome con killall e le riavvia con parametri specifici che includono l’URL malevolo, il ripristino della sessione precedente e flag per nascondere avvisi di crash. Questa sequenza consente di rendere immediatamente visibile l’effetto dell’infezione anche se il browser non era attivo al momento dell’installazione. La presenza dell’adware non riduce la gravità della backdoor, ma anzi conferma la natura finanziaria dell’operazione: gli attaccanti cercano monetizzazione diretta tramite traffico pubblicitario, mantenendo al tempo stesso capacità più profonde di controllo remoto ed esfiltrazione. La doppia componente rende FlutterShell più ambiguo nelle fasi iniziali, perché alcune difese potrebbero classificarlo come adware, sottovalutando le funzioni di backdoor sottostanti.
L’infrastruttura C2 usa domini dedicati e traffico HTTPS apparentemente legittimo
L’infrastruttura di comando e controllo di FlutterShell si appoggia a domini registrati appositamente, tra cui atsheisdomestic.org, etoftheappyrince.org e healightejustb.org. Le varianti contattano questi endpoint per scaricare configurazioni, ricevere aggiornamenti, ottenere comandi e gestire la logica della WebView. Il traffico avviene tramite richieste HTTPS, una scelta che consente di confondersi con normali comunicazioni web e riduce la visibilità dei contenuti trasmessi. L’architettura separa inoltre i domini tra varianti diverse, pur mantenendo pattern di naming e infrastruttura riconducibili allo stesso cluster. Questo permette agli operatori di isolare alcune campagne, sostituire rapidamente endpoint bloccati e mantenere attive varianti non ancora rilevate. La capacità di modificare il comportamento del malware lato server è uno dei fattori più pericolosi, perché consente di attivare o disattivare funzioni senza cambiare il file distribuito tramite malvertising. Dal punto di vista difensivo, i domini C2, gli URL di hijacking e i bundle firmati rappresentano indicatori fondamentali, ma non sufficienti: l’uso di Flutter e WebView impone anche controlli comportamentali su applicazioni apparentemente legittime che stabiliscono connessioni verso domini appena registrati o non coerenti con la funzione dichiarata.
I legami con JSCoreRunner, RecipeLister e Calendaromatic confermano un toolkit cross-platform
Operation FlutterBridge non appare come una campagna isolata, ma come l’estensione macOS di un ecosistema offensivo già osservato su Windows con campagne come RecipeLister e Calendaromatic. Gli elementi comuni includono uso di WebView, hijacking del browser, siti adware con icone di brand noti, firme riconducibili a società come SOFT WE ART LIMITED e strutture di comando simili. Il collegamento più forte riguarda JSCoreRunner, backdoor precedente da cui FlutterShell eredita primitive operative come exists, exec_sync, read_file, write_file e get_home_dir. La differenza principale è il salto tecnologico verso Flutter, che rende più complessa l’analisi statica e consente di distribuire applicazioni desktop dall’aspetto più curato su macOS. Questo passaggio indica una strategia chiara: mantenere una base funzionale già testata, ma trasferirla su framework più moderni e meno immediati da analizzare. La presenza dello stesso cluster su Windows e macOS mostra inoltre che gli attaccanti non stanno più considerando il mondo Apple come obiettivo secondario. L’aumento della quota professionale di macOS, soprattutto in settori creativi, sviluppo software, consulenza e startup, rende gli utenti Apple target più interessanti per campagne finanziarie, furto credenziali e raccolta documentale.
Errori di opsec e indicatori aiutano il rilevamento della campagna
Nonostante la sofisticazione tecnica, gli operatori di FlutterShell commettono diversi errori di opsec che facilitano il collegamento tra le varianti. Le applicazioni mostrano traduzioni incoerenti, immagini non rifinite, contaminazioni tra loghi di podcast e PDF e dettagli grafici incompatibili con software professionale. Questi elementi possono sembrare marginali, ma diventano utili per ricostruire il perimetro della campagna e individuare artefatti correlati. Unit 42 ha estratto hash SHA256 dei campioni analizzati e identificato bundle .app e file .dmg firmati da sviluppatori come Yasar Sever e Batuhan Dabag. I domini C2, gli URL di hijacking, i package name e i percorsi modificati in Chrome rappresentano indicatori chiave per attività di detection, threat hunting e risposta agli incidenti. Palo Alto Networks segnala aggiornamenti a Advanced WildFire, URL Filtering, DNS Security, Cortex XDR, XSIAM e Cortex Agentix per bloccare file, domini e comportamenti collegati. Per gli utenti finali, la presenza di applicazioni sconosciute come PodcastsLounge, PDF-Brain o PDF-Ninja, soprattutto se installate tramite annunci sponsorizzati e non da fonti ufficiali, deve essere considerata un segnale di rischio. La rimozione manuale delle app sospette, il controllo delle preferenze di Chrome e la verifica delle connessioni verso domini anomali sono passaggi essenziali per contenere l’infezione.
FlutterShell dimostra che il malvertising resta una minaccia concreta per macOS
La campagna FlutterShell conferma che macOS non è immune dalle operazioni di malvertising avanzato e che la fiducia verso annunci sponsorizzati, firme sviluppatore e app notarizzate può essere sfruttata dagli attaccanti. Il modello operativo è efficace perché non richiede exploit complessi: intercetta utenti durante una ricerca legittima, li indirizza verso siti di download credibili, distribuisce app funzionanti e attiva gradualmente la componente malevola dopo una finestra di ritardo. L’uso di Flutter, Dart, WebView, JavaScript bridge, Google Ads, Developer ID Apple, Chrome hijacking e funzioni AI per l’elaborazione dei file esfiltrati mostra una convergenza tra adware, backdoor e toolkit cross-platform. La risposta difensiva deve quindi andare oltre il semplice controllo della firma o della notarizzazione. Aziende e utenti devono limitare l’installazione da annunci pubblicitari, privilegiare store ufficiali e siti verificati, monitorare modifiche ai browser, controllare applicazioni appena installate e usare soluzioni EDR capaci di osservare comportamento, connessioni e manipolazioni del filesystem. FlutterShell non è solo un nuovo malware macOS, ma un segnale della maturazione delle campagne finanziarie contro l’ecosistema Apple: meno rumorose delle infezioni tradizionali, più credibili nella distribuzione e sempre più capaci di adattarsi rapidamente ai controlli di sicurezza.
Iscriviti alla Newsletter
Non perdere le analisi settimanali: Entra nella Matrice Digitale.
Matrice Digitale partecipa al Programma Affiliazione Amazon EU. In qualità di Affiliato Amazon, ricevo un guadagno dagli acquisti idonei. Questo non influenza i prezzi per te.








