Lo stesso attaccante è riuscito a compromettere due volte il medesimo server Langflow esposto su Internet, modificando completamente il payload tra la prima e la seconda intrusione. Il team di ricerca sulle minacce di Sysdig ha documentato la prima campagna il 1° luglio e la seconda il 20 luglio. Il punto di ingresso è rimasto invariato, ma l’operazione è passata da un attacco improvvisato contro servizi e configurazioni a un ransomware compilato e progettato specificamente per distruggere risorse utilizzate nei sistemi di intelligenza artificiale. Entrambe le compromissioni hanno sfruttato CVE-2025-3248, una vulnerabilità di autenticazione mancante nell’endpoint di validazione del codice di Langflow. La falla consente a chiunque riesca a raggiungere il server di eseguire codice Python senza autenticazione. Durante la prima campagna, l’attaccante ha utilizzato gli strumenti disponibili sull’host per crittografare 1.342 elementi di configurazione di Alibaba Nacos tramite la funzione di crittografia di MySQL, eliminando successivamente le relative tabelle. Nella seconda operazione ha invece distribuito ENCFORGE, un eseguibile compilato in Go capace di individuare circa 180 estensioni di file.
La selezione dei formati dimostra che ENCFORGE non è un ransomware generico successivamente adattato agli ambienti AI, ma uno strumento sviluppato fin dall’inizio per colpire infrastrutture di machine learning e intelligenza artificiale generativa. Tra i file ricercati figurano checkpoint di PyTorch e TensorFlow, pesi nel formato Hugging Face SafeTensors, file GGUF utilizzati in numerose implementazioni locali di modelli linguistici, indici vettoriali FAISS e dataset di addestramento in formato Parquet e NumPy. Un ransomware tradizionale può danneggiare incidentalmente questi file perché crittografa tutto ciò che trova. ENCFORGE, invece, li riconosce esplicitamente e li include tra i propri obiettivi. Anche il flag previsto per aggiungere nuovi formati cita come esempi gli adattatori LoRA e i pesi GGML legacy, un dettaglio che indica una conoscenza diretta delle tecnologie presenti sulle macchine destinate all’addestramento, all’ottimizzazione e all’esecuzione di modelli AI. Michael Clark, responsabile del team di ricerca sulle minacce di Sysdig, ha descritto l’obiettivo come la distruzione dell’unica risorsa che un’organizzazione non può semplicemente ripristinare. ENCFORGE non contiene codice di rete, non effettua chiamate in uscita, non dispone di un sito per la pubblicazione dei dati rubati e non utilizza un portale di pagamento. L’identico indirizzo Proton Mail presente nelle due richieste di riscatto collega entrambe le campagne al gruppo identificato come JADEPUFFER.
L’attaccante ha raccolto credenziali durante la compromissione, ma il ransomware non dispone di funzioni di esfiltrazione. Il suo unico scopo è rendere inutilizzabili i file presenti sull’host. Per velocizzare l’operazione, ENCFORGE non crittografa necessariamente l’intero contenuto, ma interviene su specifiche regioni dei file. Utilizza AES-256 in modalità CTR con una chiave generata per ogni esecuzione e successivamente protetta tramite una chiave RSA-2048 incorporata nel binario. La tecnica è simile a quella adottata dalle principali famiglie ransomware per danneggiare rapidamente file di grandi dimensioni senza doverli elaborare integralmente. Il problema è particolarmente grave perché i normali piani di backup aziendali spesso non includono in modo esplicito i pesi dei modelli, i checkpoint, gli indici vettoriali e i dati di addestramento. Il ripristino di un database da uno snapshot comporta la perdita delle transazioni successive, ma il recupero di un modello ottimizzato non equivale a riprodurre semplicemente delle righe. Tutto ciò che il modello ha appreso dopo l’ultimo backup non è memorizzato come una sequenza di operazioni facilmente replicabile.
Ricostruire un modello non è quindi una normale attività di restore. Sysdig stima che il recupero diretto di un singolo modello ottimizzato e pronto per la produzione possa costare tra 75.000 e 500.000 dollari, considerando l’utilizzo di GPU cloud necessario per nuove sessioni di training e il lavoro degli ingegneri. Il costo si riferisce a un solo modello, mentre molti team conservano diverse varianti sul medesimo storage condiviso. Se anche i dati di addestramento si trovano sullo stesso host dei pesi, il recupero rimane bloccato finché il dataset non viene ricostruito. Nemmeno il pagamento del riscatto garantisce il ripristino. Nella prima campagna, la chiave di crittografia era stata generata casualmente, mostrata una sola volta sulla console e mai salvata. Quel payload si comportava quindi di fatto come un wiper accompagnato da una richiesta di pagamento.
La quantificazione economica del danno modifica anche il modo in cui il rischio può essere presentato all’interno delle aziende. Kayne McGladrey, senior member dell’IEEE con esperienza nella sicurezza delle identità, ha osservato che molti team falliscono nel finanziare adeguatamente le difese perché classificano l’esposizione come un semplice problema di cybersecurity. Il rischio dovrebbe invece essere espresso in termini aziendali, collegandolo alla perdita finanziaria, al costo di sostituzione e all’impatto operativo. Un modello distrutto possiede un costo di ricostruzione misurabile e questa è la formulazione che consente a un CFO di comprendere e finanziare le misure necessarie. Le linee guida istituzionali non si sono ancora adeguate pienamente a questo tipo di minaccia. Nel maggio 2025, l’Artificial Intelligence Security Center della NSA, la CISA e l’FBI hanno pubblicato il documento “AI Data Security”, sottoscritto congiuntamente anche da Regno Unito, Australia e Nuova Zelanda. Le tre principali categorie di rischio individuate riguardano la catena di fornitura dei dati, la modifica malevola dei dataset e la deriva dei dati. Tutti questi scenari si concentrano sull’affidabilità e sull’integrità delle informazioni. ENCFORGE introduce una domanda ancora più radicale: verificare se quei dati e quegli artefatti esistano ancora. La seconda campagna ha inoltre mostrato la capacità dell’attaccante di adattare rapidamente la propria strategia. Dopo avere ottenuto l’esecuzione di codice, l’agente ha scansionato l’host alla ricerca di chiavi cloud, stringhe di connessione e token API. Ha quindi riutilizzato le credenziali contro database interni e servizi di cache, individuando infine il socket Docker in /var/run/docker.sock, una risorsa che, se montata all’interno di un container, equivale frequentemente a ottenere privilegi di root sull’host.
Il primo tentativo di scaricare il binario del ransomware dal server di comando e controllo non è riuscito. Invece di ripetere semplicemente il download, l’attaccante ha cambiato metodo. Attraverso il canale Langflow ha generato sei script Python consecutivi, ognuno dei quali correggeva un errore del precedente, arrivando a una soluzione funzionante per uscire dal container in cinque minuti e 24 secondi. Lo script definitivo ricavava l’identificativo del processo host tramite l’API Docker, copiava il ransomware oltre il confine del namespace, eseguiva la crittografia e infine contava i file per verificare il completamento dell’operazione. Nella prima campagna, un comportamento simile aveva permesso di diagnosticare e correggere un accesso fallito in appena 31 secondi. La complessità del problema era aumentata, ma il metodo iterativo si è dimostrato ugualmente efficace.
Sam Evans, all’epoca CISO di Clearwater Analytics, ha ricondotto il problema al tempo di permanenza dell’attaccante. Più a lungo un soggetto ostile rimane nell’ambiente, maggiore diventa il raggio d’azione dell’attacco e più alta è la probabilità che la compromissione si trasformi in un incidente rilevante. Quando attività che normalmente richiederebbero ore vengono completate in pochi minuti, la finestra a disposizione dei difensori si riduce drasticamente. Mike Riemer, SVP del Network Security Group e Field CISO di Ivanti, ha descritto questa strategia come una conseguenza del rafforzamento dei punti di ingresso principali. Gli attaccanti, non riuscendo più ad accedere direttamente dalla porta principale, utilizzano credenziali, token e servizi laterali per entrare dalla porta posteriore. Il problema riguarda in particolare le risorse che le organizzazioni considerano protette solo perché non direttamente esposte su Internet, anche quando risultano raggiungibili da applicazioni già compromesse.
Non è stato affermato che una macchina abbia condotto l’intera operazione in autonomia. La prima campagna richiedeva comunque l’intervento umano per selezionare il target e predisporre l’infrastruttura, mentre Sysdig non è riuscita a determinare l’origine delle credenziali di root. Nella seconda intrusione, il bersaglio è stato scelto da un essere umano, ma le fasi successive sono state eseguite senza un operatore costantemente presente. Heath Renfrow, cofondatore e CISO della società di recupero dati Fenix24, ha sottolineato che la compressione di ore di lavoro offensivo in pochi minuti priva i difensori di tempo prezioso. Che l’attacco sia stato interamente guidato dall’intelligenza artificiale o soltanto fortemente automatizzato non modifica le misure necessarie per contrastarlo.
La gravità della campagna è aggravata dal fatto che il server era rimasto esposto per oltre quattordici mesi. CVE-2025-3248 ha un punteggio CVSS di 9,8. La CISA l’ha inserita nel catalogo Known Exploited Vulnerabilities il 5 maggio 2025, fissando per le agenzie federali statunitensi una scadenza di correzione al 26 maggio. Langflow aveva già risolto la vulnerabilità nella versione 1.3.0. Quando JADEPUFFER è tornato nel luglio 2026, il server risultava quindi vulnerabile a una falla presente nel catalogo CISA da più di quattordici mesi ed era già stato pubblicamente documentato come compromesso. Secondo Riemer, dopo la pubblicazione di una patch bastano circa 72 ore perché gli exploit diventino disponibili, mentre molti clienti impiegano almeno una settimana per completare manualmente l’aggiornamento. Il confronto tra una finestra operativa di 72 ore e un ritardo di quattordici mesi evidenzia quanto l’esposizione non possa essere considerata un semplice problema occasionale.
Nessuna delle tecniche impiegate nelle due campagne era realmente nuova. Durante la prima intrusione, l’attaccante ha falsificato un token amministrativo di Nacos utilizzando una chiave di firma predefinita pubblica dal 2020. Ha sfruttato CVE-2021-29441, un bypass dell’autenticazione corretto da Alibaba nel 2021, e ha trovato un’istanza MinIO configurata con le credenziali predefinite minioadmin:minioadmin. Sysdig ha contato più di 600 payload, ciascuno basato su una configurazione errata nota, una credenziale predefinita oppure una vulnerabilità già corretta ma lasciata esposta. La seconda campagna ha aggiunto un socket Docker accessibile dal container. Le singole debolezze erano quindi comuni e ben conosciute. L’elemento nuovo è stata la capacità di assemblarle, verificarle e sfruttarle alla velocità della macchina. Langflow attira questo tipo di attenzione per la natura delle informazioni e delle connessioni che gestisce. Circa 7.000 istanze risultavano esposte, in gran parte in Nord America, spesso contenenti chiavi API dei provider, credenziali cloud e collegamenti attivi agli archivi vettoriali che ENCFORGE era stato costruito per crittografare. Esporre un ambiente di orchestrazione AI sul perimetro della rete significa rendere accessibili, direttamente o indirettamente, risorse che possono condurre molto più in profondità nell’infrastruttura.
La CISA ha inserito complessivamente cinque vulnerabilità di Langflow nel catalogo KEV, due delle quali nel luglio 2026. Il 7 luglio ha aggiunto CVE-2026-55255, una vulnerabilità di isolamento tra tenant che permette a qualsiasi utente autenticato su un’istanza condivisa di eseguire i flussi appartenenti a un altro tenant utilizzando le credenziali di quest’ultimo. I manutentori le hanno attribuito un punteggio di 9,9 e la correzione è stata distribuita con Langflow 1.9.1. Il 21 luglio la CISA ha aggiunto CVE-2026-0770, una vulnerabilità ancora più grave. Trend Micro ha identificato un percorso non autenticato per l’esecuzione di codice con privilegi di root attraverso il parametro exec_globals, nello stesso endpoint di validazione utilizzato da JADEPUFFER. La falla ha un punteggio CVSS di 9,8. KEVIntel ha registrato attività di sfruttamento a partire dal 27 giugno, con oltre 220 tentativi provenienti da 64 indirizzi. Secondo il fondatore Ryan Dewhurst, i payload non si sono limitati alla ricognizione, ma hanno tentato di ottenere credenziali AWS e metadati dei container. Alle agenzie federali era stata assegnata una scadenza di correzione al 24 luglio.
Questi ambienti non rappresentano casi eccezionali. Un sondaggio della Cloud Security Alliance, commissionato da Token Security e condotto su 418 professionisti, ha rilevato che l’82% delle organizzazioni aveva scoperto agenti di intelligenza artificiale di cui nessuno era formalmente a conoscenza. Il 65% aveva inoltre già gestito almeno un incidente legato a questi agenti nell’ultimo anno. McGladrey ha ricondotto il problema dei privilegi a una pratica aziendale vecchia di decenni: copiare il profilo di accesso di un dipendente esistente e assegnarlo a un nuovo assunto. La stessa logica viene ora applicata agli agenti AI. Un agente tende a utilizzare tutto ciò che è disponibile per completare il proprio compito e può quindi operare con più autorizzazioni del necessario. Il rischio aumenta a causa della velocità di esecuzione, della scala e della capacità di concatenare azioni che un essere umano svolgerebbe molto più lentamente.
La risposta operativa deve partire dall’aggiornamento immediato di tutte le istanze Langflow accessibili da Internet alla versione attualmente supportata. Qualsiasi sistema non aggiornato può essere esposto ad almeno una delle cinque vulnerabilità presenti nel catalogo CISA, compresa quella aggiunta il 21 luglio. Dopo l’aggiornamento è necessario analizzare le richieste storiche verso /api/v1/validate/code, verificando in particolare la presenza del pattern exec_globals. Il socket Docker deve essere rimosso dai container applicativi. Langflow non dovrebbe avere necessità di accedervi direttamente. Quando il mount è indispensabile per esigenze specifiche, è opportuno interporre un proxy che consenta esclusivamente le chiamate strettamente necessarie, impedendo l’utilizzo completo dell’API Docker e riducendo il rischio di evasione dal container. I percorsi che contengono gli artefatti dei modelli devono essere indicati esplicitamente nel piano di backup e disaster recovery. Checkpoint, indici vettoriali, pesi e dati di addestramento devono essere protetti tramite snapshot immutabili, conservati al di fuori dell’host che esegue i modelli e sottoposti a test di ripristino reali. La semplice presenza di una copia non è sufficiente se non è stata verificata la possibilità di ricostruire effettivamente l’ambiente produttivo.
Tutte le credenziali raggiungibili dall’host compromesso devono essere ruotate. L’applicazione delle patch non revoca token e segreti già raccolti. Durante la prima campagna, l’attaccante ha ottenuto in pochi secondi credenziali OpenAI, Anthropic e cloud. Le chiavi dei provider non dovrebbero essere conservate direttamente nel runtime dell’applicazione, ma richiamate tramite un gestore di segreti con permessi limitati e sostituzioni circoscritte. È inoltre necessario predisporre controlli capaci di rilevare la creazione massiva di file con estensione .locked nelle directory che contengono formati come .gguf, .safetensors, .ckpt e .faiss. Sysdig ha pubblicato una regola YARA e gli hash di entrambi i payload, che al momento dell’analisi non risultavano rilevati dagli antivirus. Non è stato pubblicato un numero complessivo di file danneggiati, quindi l’evento documenta un passaggio di crittografia osservato in tempo reale, non una quantificazione definitiva della perdita.
La campagna mostra che chi sfrutta una vulnerabilità in un framework AI può ormai presentarsi con strumenti costruiti espressamente per le risorse a cui quel framework è connesso. I modelli, i pesi, gli indici vettoriali e i dataset non devono più essere considerati semplici file applicativi, ma asset produttivi con un costo di sostituzione elevato e, in alcuni casi, non interamente riproducibili. Gli artefatti di intelligenza artificiale devono quindi essere inclusi nei piani di backup, continuità operativa e disaster recovery allo stesso livello dei database. In meno di tre settimane, tra i due report di Sysdig, lo stesso attaccante è passato da codice Python improvvisato a un ransomware compilato, specializzato e capace di riconoscere direttamente le risorse più critiche degli ambienti AI.
