meta ads streamrat gitspawn agenti ai rce git

Meta Ads diffonde StreamRat, GitSpawn apre RCE negli agenti AI attraverso Git

🛡️ Executive Summary

  • StreamRat viene promosso tramite Meta Ads a circa 570.000 utenti, sfruttando false offerte di streaming per distribuire un sofisticato trojan Android.
  • Il malware combina Accessibility, VNC, HVNC, overlay, keylogging e blocco temporaneo della connettività per ottenere un controllo quasi completo del dispositivo.
  • GitSpawn sfrutta configurazioni Git malevole per eseguire codice prima del trust prompt in Claude Code e altri agenti AI utilizzati dagli sviluppatori.

Due campagne mostrano quanto strumenti perfettamente legittimi possano diventare il primo anello dell’esecuzione malevola. ThreatFabric ha scoperto StreamRat, nuovo banking trojan Android promosso attraverso annunci nell’ecosistema Meta che hanno raggiunto circa 570.000 utenti, soprattutto in Spagna, utilizzando come esca un falso servizio di streaming televisivo. Parallelamente Manifold Security ha documentato GitSpawn, una classe di vulnerabilità negli agenti AI per lo sviluppo che permette a configurazioni Git contenute in un progetto ricevuto dall’esterno di provocare esecuzione di codice con i privilegi dello sviluppatore, in alcuni casi prima ancora che venga mostrato o accettato il workspace trust prompt. Meta Ads e Git sembrano superfici completamente differenti, ma entrambe le operazioni sfruttano lo stesso passaggio critico: convincere un sistema o un utente a fidarsi di un contesto apparentemente ordinario.

StreamRat usa Meta Ads per trasformare una falsa app TV in un banking trojan

Annuncio

La ricerca originale di ThreatFabric ricostruisce una campagna individuata alla fine di luglio 2026 e denominata “Steamtv Esp.”, rivolta principalmente a utenti di lingua spagnola. Gli operatori acquistavano pubblicità nell’ecosistema Meta presentando un presunto servizio gratuito di streaming televisivo. Una delle campagne è rimasta attiva tra 11 giugno e 3 luglio 2026 e, secondo i dati della piattaforma analizzati dai ricercatori, ha raggiunto circa 570.000 account Meta almeno una volta.

image 94
Meta Ads diffonde StreamRat, GitSpawn apre RCE negli agenti AI attraverso Git 6

Non è possibile stabilire quante persone abbiano effettivamente installato il malware e ThreatFabric non attribuisce 570.000 infezioni alla campagna: il numero rappresenta la platea pubblicitaria potenzialmente esposta. I banner sarebbero comparsi con elevata probabilità su Facebook e Instagram, mentre il codice della landing page prevedeva anche la possibilità che l’utente arrivasse da TikTok. Il sito verificava tramite JavaScript il sistema operativo della vittima e mostrava il download soltanto ai dispositivi Android. L’utente veniva quindi guidato attraverso una procedura che spiegava come abilitare l’installazione da fonti sconosciute e successivamente concedere i Servizi di accessibilità. Il payload veniva recuperato da un repository GitHub appartenente allo stesso account già collegato alla distribuzione di Mirax, trojan precedentemente analizzato nella campagna Meta Ads che trasformava smartphone Android in proxy residenziali controllati dagli attaccanti.

Leggi anche: RedHook prende il controllo degli smartphone Android senza privilegi root

Il dropper blocca Internet prima di installare il payload finale

La catena d’infezione di StreamRat utilizza un dropper a più stadi progettato per mantenere la vittima dentro la procedura di installazione. Dopo l’apertura dell’APK, l’applicazione chiede di diventare il launcher Home predefinito del dispositivo, facendo in modo che la pressione del pulsante Home riporti continuamente l’utente nella propria interfaccia. Il dropper scarica quindi il payload finale nella directory pubblica Downloads con un nome del tipo update_{timestamp}.apk e richiede il permesso per installare applicazioni provenienti da fonti sconosciute.

image 95
Meta Ads diffonde StreamRat, GitSpawn apre RCE negli agenti AI attraverso Git 7

L’elemento più particolare è però l’utilizzo di una VPN Android deliberatamente non funzionante: prima del completamento dell’installazione il malware chiede il permesso di creare una connessione VPN, instrada attraverso di essa il traffico delle altre applicazioni ma esclude se stesso e non inoltra realmente i pacchetti. Il risultato è una temporanea perdita di connettività per il resto del telefono mentre il dropper continua a funzionare. ThreatFabric ritiene che il meccanismo possa ridurre l’efficacia dei controlli cloud e dei sistemi di reputazione utilizzati durante l’installazione di APK sconosciuti, compreso Google Play Protect, senza però disabilitarne le capacità offline.

image 96
Meta Ads diffonde StreamRat, GitSpawn apre RCE negli agenti AI attraverso Git 8

Una volta eseguito StreamRat, la VPN viene rimossa e il trojan può comunicare normalmente con il server di comando. L’abuso di funzioni Android legittime conferma una tendenza già osservata nelle campagne mobile che combinano social engineering, Accessibility e controllo remoto: il malware non necessita necessariamente di una vulnerabilità del sistema operativo se riesce a convincere la vittima a concedergli personalmente i privilegi necessari.

VNC, HVNC e overlay consegnano quasi tutto lo smartphone all’operatore

Una volta ottenuto l’accesso ai Servizi di accessibilità, StreamRat dispone di un arsenale paragonabile a quello dei banking trojan Android più evoluti. Il malware comunica con il C2 attraverso WebSocket, trasmette modello del dispositivo, versione Android, applicazioni installate e stato delle interfacce e monitora continuamente quale app si trova in foreground. Il controllo dello schermo può avvenire in due modalità. La prima utilizza MediaProjection per creare una sessione VNC vera e propria; dopo che Accessibility è stato concesso, StreamRat può interagire automaticamente con il dialogo di autorizzazione e selezionare la condivisione dell’intero schermo. La seconda modalità, definibile come HVNC, sfrutta invece takeScreenshot() dell’Accessibility API ogni 200 millisecondi, ridimensiona le immagini e le invia al server senza mostrare il normale indicatore di screen sharing associato a MediaProjection. Il malware dispone inoltre di un Accessibility Node Viewer che ricostruisce l’interfaccia come albero JSON, riducendo banda e permettendo all’operatore di leggere rapidamente testo e controlli presenti sul display. A questo si aggiungono keylogging, overlay HTML per rubare credenziali, notifiche false, simulazione di tap e swipe, blocco dello schermo e possibilità di riutilizzare PIN o pattern intercettati. Una falsa schermata di aggiornamento o un overlay nero possono occultare ciò che l’operatore sta facendo realmente sul dispositivo. L’architettura del pannello include ruoli user, supervisor e admin, builder per payload e dropper e gestione centralizzata delle injection, elementi che portano ThreatFabric a valutare StreamRat come un probabile Malware-as-a-Service sviluppato da operatori con esperienza precedente nell’ecosistema Android.

GitSpawn esegue codice prima ancora che Claude Code chieda fiducia

La seconda ricerca riguarda invece gli strumenti utilizzati dagli sviluppatori. Manifold Security ha denominato GitSpawn una classe di problemi scoperta analizzando ciò che gli agenti AI fanno automaticamente quando vengono avviati dentro una directory di progetto. Claude Code, Goose, Hermes, Qwen Code, Grok Build e altri tool raccolgono informazioni sul repository eseguendo comandi Git come git status o git diff. Queste operazioni sembrano passive, ma Git può leggere dalla configurazione locale del repository opzioni che indicano programmi esterni da eseguire durante l’aggiornamento dell’indice. L’esempio centrale è core.fsmonitor, funzionalità legittima progettata per migliorare le prestazioni nei repository molto grandi. Un progetto può configurarla in .git/config indicando un comando da eseguire.

Quando l’agente AI lancia automaticamente git status, Git aggiorna l’indice e avvia quel comando. Il problema è che diversi agenti eseguivano queste operazioni fuori dal proprio sandbox e prima del trust boundary, permettendo al payload di ereditare direttamente i privilegi dello sviluppatore. Non si tratta di prompt injection e non è il modello linguistico a decidere di eseguire il malware: è il codice dell’agente che invoca un normale sottoprocesso Git senza neutralizzare configurazioni pericolose. Il risultato completa un rischio già emerso nelle dimostrazioni in cui repository GitHub e agenti AI portavano fino a una reverse shell attraverso istruzioni apparentemente legittime.

Claude Code corregge una variante ma un secondo percorso risultava ancora aperto

Manifold ha verificato il primo problema su Claude Code 2.1.193: all’avvio il client eseguiva git status senza neutralizzare core.fsmonitor, consentendo al comando definito nella configurazione del repository di partire prima dell’accettazione del workspace trust prompt. Il problema è stato segnalato il 26 giugno e risulta corretto dalla versione 2.1.196. Una seconda variante individuata nel percorso claude ultrareview utilizza un’altra impostazione Git, non resa pubblica dai ricercatori proprio perché al momento della disclosure risultava ancora sfruttabile. Manifold afferma di averla nuovamente verificata il 1° settembre su Claude Code 2.1.252, dopo che la segnalazione era stata chiusa come duplicata di un ticket interno.

La classe di attacco non riguarda però esclusivamente Anthropic. Goose ha corretto il problema nella 1.44.0 con CVE-2026-72718; OpenAI Codex e Cursor risultano anch’essi corretti dopo segnalazioni indipendenti. Alla pubblicazione, invece, Manifold dichiarava ancora vulnerabili alcune varianti su Qwen Code, Grok Build, Hermes e Claude Code ultrareview. Anthropic aveva già riconosciuto in precedenza una categoria più generale di vulnerabilità legate al codice eseguito prima del trust dialog e ha spiegato nella propria analisi sui meccanismi di contenimento di Claude che configurazioni e hook locali devono essere trattati come input non attendibili fino all’esplicita approvazione della directory. GitSpawn mostra che questa regola deve essere applicata anche ai sottoprocessi di strumenti tradizionali che l’agente utilizza in background.

Il repository malevolo deve arrivare già con la directory .git

Un dettaglio tecnico limita ma non elimina il rischio. Un normale git clone non trasferisce il .git/config controllato dall’attaccante, quindi non basta pubblicare su GitHub un repository contenente una configurazione core.fsmonitor malevola e convincere la vittima a clonarlo. GitSpawn richiede che il progetto venga consegnato insieme alla directory .git già popolata: per esempio attraverso un archivio ZIP, una cartella sincronizzata, un drive condiviso, un supporto USB o una directory consegnata direttamente da un collega o consulente. È un limite importante, ma non un vettore irrealistico nelle aziende. Progetti completi vengono spesso scambiati come archivi durante audit, migrazioni, acquisizioni, outsourcing, assistenza tecnica e handover tra sviluppatori. Una volta ricevuta la cartella, è sufficiente aprirla con un agente vulnerabile perché il comando parta senza che il developer chieda all’AI di eseguire nulla. Con i privilegi dello sviluppatore l’attaccante può teoricamente accedere a SSH key, token GitHub, credenziali cloud, variabili d’ambiente, repository locali e configurazioni della shell. La ricerca aggiunge quindi una nuova variante al problema già osservato con AgentBaiting, dove migliaia di falsi repository venivano costruiti per essere scoperti e raccomandati direttamente dagli agenti AI: non è più necessario nascondere codice malevolo nel progetto quando può essere sufficiente alterare il comportamento dell’infrastruttura che l’agente utilizza per comprenderlo.

Continua con:

Meta Ads e GitSpawn mostrano che il trust boundary arriva prima del malware

StreamRat e GitSpawn non condividono malware, piattaforme o vittime, ma individuano lo stesso errore concettuale: la sicurezza viene spesso applicata dopo che una prima decisione di fiducia è già stata presa. Nel caso Android il banner acquistato su una piattaforma conosciuta porta l’utente verso un sito che gli insegna passo dopo passo a rimuovere le protezioni necessarie per installare il trojan. Meta Ads non compromette direttamente il telefono, ma offre al criminale distribuzione, targeting e un contesto commerciale familiare. GitSpawn compie un salto ancora più interessante: il developer può aspettarsi che il trust prompt dell’agente rappresenti il momento nel quale decide se concedere fiducia al progetto, ma alcune operazioni Git necessarie a mostrare quel prompt sono già state eseguite. La mitigazione deve quindi spostarsi un passaggio indietro. Su Android un’applicazione di streaming che richiede launcher predefinito, VPN, installazione di ulteriori APK e Accessibility presenta una combinazione di privilegi incompatibile con la sua funzione dichiarata e dovrebbe interrompere immediatamente il processo di installazione. Nel mondo degli agenti AI, una directory ricevuta come archivio deve essere considerata non attendibile anche prima che Claude Code, Qwen Code o un altro tool la analizzi: Manifold raccomanda di controllare .git/config e agli sviluppatori degli agenti di neutralizzare esplicitamente configurazioni Git capaci di avviare processi durante le chiamate utilizzate per raccogliere il contesto. La lezione comune è che il payload non deve necessariamente presentarsi come malware. Può essere un annuncio approvato, una funzione VPN, un servizio di accessibilità, una configurazione Git o persino un semplice git status. La superficie realmente critica è il momento nel quale un componente apparentemente innocuo riceve abbastanza fiducia da poter attivare quello successivo. Con applicazioni e agenti sempre più autonomi, proteggere quel primo passaggio sta diventando più importante che riconoscere il malware quando ormai è già in esecuzione.

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.

Torna in alto