Negli scorsi giorni un attacco coordinato ha iniettato codice malevolo nel pacchetto ufficiale Python di Mistral AI e in oltre 170 librerie npm e PyPI, colpendo ecosistemi usati da milioni di sviluppatori in tutto il mondo.
La campagna, attribuita al gruppo TeamPCP e denominata “Mini Shai-Hulud“, ha preso di mira in modo simultaneo TanStack, UiPath, Guardrails AI e OpenSearch. Microsoft Threat Intelligence ha confermato l’incidente nella giornata di ieri, avviando un’indagine sulla versione 2.4.6 di Mistral, mai rilasciata ufficialmente dal team di sviluppo.
Come il malware si attivava all’importazione della libreria
La versione compromessa conteneva codice malevolo inserito nel file __init__.py del client Python. A ogni importazione della libreria su sistemi Linux, lo script scaricava silenziosamente un payload secondario da un IP remoto, salvandolo in /tmp/transformers.pyz e avviandolo come processo in background.
Il nome del file era scelto deliberatamente per imitare la libreria Transformers di Hugging Face, riducendo il rischio di destare sospetti negli ambienti di machine learning. L’obiettivo principale era il furto di credenziali: token GitHub, chiavi API cloud, credenziali AWS e GCP, account Kubernetes e segreti memorizzati nelle pipeline CI/CD.
Secondo i ricercatori di Wiz, il malware prendeva di mira anche i vault di 1Password e Bitwarden, con logica geografica integrata: si disattivava in presenza di impostazioni di lingua russa e, su sistemi geolocalizzati in Israele o Iran, introduceva una probabilità di eseguire una cancellazione ricorsiva del filesystem.
Un elemento tecnico di rilievo riguarda le attestazioni SLSA Build Level 3: secondo alcuni report, i pacchetti compromessi portavano firme digitali valide, rendendo inefficaci i controlli di integrità standard. Se confermato, si tratterebbe del primo caso documentato di codice malevolo distribuito con questo livello di certificazione.
Cosa fare subito se hai installato la versione incriminata
Mistral AI ha pubblicato un advisory ufficiale il 12 maggio, confermando che l’infrastruttura core non è stata compromessa.
I pacchetti malevoli sono stati rimossi da PyPI, che ha messo in quarantena l’intero progetto. Se hai installato la versione 2.4.6 o trovi quella versione in un lockfile, considera compromessi tutte le informazioni presenti in quell’ambiente.
Le azioni prioritarie sono: ruotare subito chiavi API, token GitHub, credenziali cloud e chiavi SSH; verificare la presenza del file /tmp/transformers.pyz sui sistemi Linux coinvolti; controllare connessioni verso domini sconosciuti e modifiche non autorizzate nei repository.
Gli esperti consigliano inoltre di abilitare ignore-scripts=true per bloccare l’esecuzione automatica degli script npm e di introdurre un ritardo minimo prima di installare nuovi pacchetti pubblicati, per permettere alla community di rilevare eventuali anomalie.