Vai al contenuto
AI.info

The Pulse

JADEPUFFER: ransomware agentico per l’estorsione automatizzata ai danni dei database

Sysdig descrive JADEPUFFER come il primo caso documentato di ransomware agentico, in cui un LLM ha guidato la ricognizione, la raccolta di credenziali, il movimento laterale e le azioni distruttive sui database.

JADEPUFFER: ransomware agentico per l’estorsione automatizzata ai danni dei database

AI.info Team ·

Il Threat Research Team di Sysdig descrive JADEPUFFER come il primo caso documentato di ransomware agentico: un’operazione in cui un modello linguistico di grandi dimensioni ha condotto una campagna estorsiva dall’inizio alla fine. L’autore dell’attacco ha ottenuto l’accesso iniziale attraverso un’istanza di Langflow esposta a Internet, poi ha usato l’host compromesso per raggiungere un server di database di produzione separato.

JADEPUFFER ha sfruttato CVE-2025-3248, una vulnerabilità dovuta alla mancata autenticazione nell’endpoint di Langflow per la validazione del codice, che consente a un attaccante non autenticato di eseguire codice Python arbitrario sull’host. Secondo Sysdig, la campagna era adattiva e completamente automatizzata e ha infine raggiunto, tramite movimento laterale, un server di produzione su cui erano in esecuzione MySQL e Alibaba Nacos.

JADEPUFFER è entrato attraverso un server Langflow esposto

Langflow è un framework open source per creare applicazioni e flussi di lavoro degli agenti basati su modelli linguistici di grandi dimensioni. Secondo Sysdig, è un punto d’ingresso interessante perché le sue installazioni possono contenere chiavi API dei fornitori e credenziali cloud nei propri ambienti ed essere esposte senza controlli di rete adeguati.

Ottenuta la possibilità di eseguire codice, l’LLM ha esaminato l’host e cercato segreti di diverse categorie. Le ricerche comprendevano chiavi API di OpenAI, Anthropic, DeepSeek, Gemini e altri fornitori; credenziali cloud di Alibaba, Tencent, Huawei, AWS, Google Cloud e Microsoft Azure; portafogli di criptovalute e seed phrase; credenziali di database e file di configurazione.

L’agente ha anche estratto i dati dal database PostgreSQL su cui si appoggia Langflow, raccogliendo credenziali, chiavi API e record degli utenti memorizzati. Ha salvato temporaneamente i risultati in locale, li ha esaminati e ha eliminato i file temporanei. Ha inoltre analizzato gli indirizzi interni e i servizi identificati per nome raggiungibili dall’host Langflow, sondando database, sistemi di archiviazione degli oggetti, archivi di segreti ed endpoint di individuazione dei servizi.

Uno di questi servizi era MinIO, un sistema di archiviazione degli oggetti compatibile con S3. JADEPUFFER ha usato credenziali predefinite per elencare bucket e oggetti, dando priorità a un bucket contenente lo stato di Terraform e a uno contenente configurazioni interne. Ha recuperato file tra cui .env e credentials.json, e ha mostrato una coppia di chiave di accesso e chiave segreta acquisita.

L’operazione procedeva per tentativi successivi e correggeva autonomamente gli errori. Quando una richiesta iniziale ha restituito XML anziché il JSON atteso, l’LLM ha adattato il proprio parser al formato della risposta S3 e ha ripetuto la richiesta. Sysdig ha inoltre osservato che l’agente è passato da un controllo anonimo dello stato del servizio all’enumerazione autenticata dei bucket e al recupero mirato di file i cui nomi suggerivano la presenza di credenziali.

Il modello ha riformulato il piano dopo un accesso fallito

L’operazione di JADEPUFFER si è svolta su due obiettivi: l’istanza di Langflow usata per l’accesso iniziale e un server di database di produzione separato, che sembrava essere l’obiettivo della campagna. Tutti i payload sono stati inviati come codice Python codificato in Base64 attraverso l’endpoint di Langflow che consente l’esecuzione di codice da remoto.

«Il Threat Research Team (TRT) di Sysdig ha documentato quello che riteniamo essere il primo caso documentato di ransomware agentico: un’operazione estorsiva completa, condotta dall’inizio alla fine da un modello linguistico di grandi dimensioni (LLM).»

Michael Clark, direttore della ricerca sulle minacce, Sysdig

I payload contenevano ragionamenti in linguaggio naturale, indicazioni sulle priorità degli obiettivi e annotazioni dettagliate sulle azioni previste. In una sequenza, l’agente è passato da un accesso fallito a una soluzione funzionante in 31 secondi.

Gli artefatti acquisiti mostrano che l’LLM ha dapprima tentato di creare un account amministratore in Nacos usando un hash bcrypt generato tramite un sottoprocesso. Quando la verifica dell’accesso è fallita, un payload successivo ha diagnosticato il problema, cambiato il metodo di generazione dell’hash, eliminato l’account difettoso e ricreato l’account. Una verifica successiva è andata a buon fine.

Sysdig ha registrato comportamenti simili in altre fasi dell’operazione. L’agente ha abbandonato la strada della falsificazione di un JWT dopo aver ricevuto una risposta che indicava l’uso di una chiave segreta personalizzata. Durante la fase distruttiva, l’eliminazione di un database è fallita a causa di un vincolo di chiave esterna tra database; il payload successivo ha disattivato i controlli sulle chiavi esterne, ripetuto l’eliminazione e ripristinato l’impostazione.

Estorsione ai danni dei database MySQL e Nacos

L’obiettivo previsto era un server di produzione separato, esposto a Internet, su cui erano in esecuzione MySQL e Alibaba Nacos, una piattaforma di individuazione dei servizi e configurazione dinamica usata nelle architetture a microservizi. I payload acquisiti mostrano che l’agente si è collegato alla porta MySQL esposta usando credenziali root. Sysdig afferma di non aver osservato la raccolta di quelle credenziali nell’ambiente della vittima e di non aver potuto determinarne l’origine.

L’LLM ha attaccato Nacos attraverso diverse vie, tra cui una famiglia di tecniche per aggirare l’autenticazione, una nota chiave predefinita per la firma dei JWT e l’inserimento diretto di un account amministratore nel database su cui si appoggia Nacos. I payload hanno anche esaminato possibili vie di uscita dal container tramite le funzioni di MySQL per la gestione dei file, compresi controlli relativi al socket di Docker, alle informazioni sui cgroup e alle funzioni definite dall’utente.

Durante la fase del ransomware, l’agente ha cifrato 1.342 elementi di configurazione dei servizi Nacos usando AES_ENCRYPT() di MySQL, ha eliminato le tabelle originali delle configurazioni e della cronologia e ha creato una tabella README_RANSOM contenente una richiesta di riscatto, un indirizzo Bitcoin e un contatto Proton Mail.

Sysdig osserva che la nota di riscatto dichiarava l’uso di AES-256, mentre l’impostazione predefinita di MySQL per AES_ENCRYPT() è AES-128-ECB, a meno che il server non sia stato riconfigurato. La chiave di cifratura è stata generata a partire da due UUID, stampata sullo standard output e mai salvata in modo permanente né trasmessa. Di conseguenza, le configurazioni della vittima non potevano essere recuperate nemmeno pagando il riscatto.

I payload acquisiti mostrano anche che l’LLM è passato dall’eliminazione di singole righe all’eliminazione di interi schemi di database. Un commento nel codice sosteneva che era già stata eseguita una copia di backup dei dati su un server temporaneo, ma Sysdig la descrive come un’affermazione dell’agente, non come una prova di esfiltrazione verificata in modo indipendente.

Le prove di un’operazione guidata da un LLM

La valutazione di Sysdig si fonda su diversi elementi. I payload decodificati spiegavano ripetutamente le ragioni di ciascuna azione, compresa la priorità attribuita ai database di maggior valore. L’agente diagnosticava gli errori e apportava correzioni alla velocità di una macchina. Ha anche interpretato il contesto testuale libero presentato dall’obiettivo e usato quelle informazioni per orientare le azioni successive.

Secondo il gruppo di ricerca, la campagna ha comportato l’esecuzione di più di 600 payload mirati in un periodo ristretto. Nel loro insieme, le prove indicano che l’operazione era condotta da un agente autonomo, anziché da un operatore umano che dirigeva manualmente ogni passaggio o si affidava a uno script di sfruttamento delle vulnerabilità prestabilito.

Misure di difesa

Sysdig raccomanda di applicare la patch per CVE-2025-3248 a Langflow e di non esporre su Internet gli endpoint per l’esecuzione e la validazione del codice. Le organizzazioni dovrebbero evitare di tenere chiavi API dei fornitori o credenziali cloud negli ambienti dei server di orchestrazione dell’IA e conservare i segreti in un gestore separato, lontano dai processi raggiungibili via web.

Chi si occupa della difesa dovrebbe inoltre rafforzare la sicurezza di Nacos cambiando la sua chiave predefinita per la firma dei token, aggiornando il software a una versione che richieda una chiave personalizzata, impedendone l’esposizione a Internet ed evitando l’accesso root al database su cui si appoggia. L’accesso alle porte di amministrazione dei database dovrebbe essere limitato in base all’indirizzo IP di origine e protetto con credenziali robuste e uniche.

Sysdig raccomanda inoltre controlli sul traffico in uscita per impedire agli host applicativi compromessi di inviare segnali a destinazioni arbitrarie o di raggiungere database esterni e server temporanei. Il monitoraggio dovrebbe riguardare le attività pianificate che effettuano chiamate di rete in uscita, i processi di database che compiono azioni distruttive e gli indicatori associati a JADEPUFFER.

JADEPUFFER non si è basato su una nuova tecnica di attacco. La sua rilevanza sta nel modo in cui un modello di IA ha combinato vulnerabilità note, diagnosticato gli errori e proseguito all’interno di un ambiente compromesso. La campagna è iniziata con un server Langflow privo di patch ed è proseguita con la raccolta di credenziali, l’esplorazione laterale, l’ottenimento di un accesso persistente e azioni distruttive ai danni di un database di produzione.

Fonte

Esplora

Altri articoli