Gli hacker hanno compromesso il pacchetto Python ufficiale di Mistral AI su PyPI, insieme a centinaia di altri pacchetti di sviluppo ampiamente utilizzati, esponendo token GitHub, credenziali cloud e archivi di password nell'intero ecosistema degli sviluppatori di IA e criptovalute.
Microsoft Threat Intelligence ha dichiarato l'11 maggio di aver avviato un'indagine sul pacchetto PyPI mistralai versione 2.4.6 dopo aver scoperto del codice dannoso iniettato in mistralai/client/__init__.py che, una volta eseguito all'importazione, scaricava un payload secondario dall'indirizzo IP 83.142.209.194 nella directory /tmp/transformers.pyz e lo avviava sui sistemi Linux.
Microsoft sta indagando sulla compromissione del pacchetto PyPI mistralai v2.4.6. Gli aggressori hanno iniettato del codice in mistralai/client/__init__.py che viene eseguito all'importazione, scarica hxxps://83[.]142[.]209[.]194/transformers.pyz in /tmp/transformers.pyz e avvia un payload di secondo stadio su Linux.… pic.twitter.com/9Xfb07Hcia
— Microsoft Threat Intelligence (@MsftSecIntel) 12 maggio 2026
Il nome del file imita il framework di intelligenza artificiale Transformers, ampiamente utilizzato da Hugging Face. Il compromesso Mistral è un tassello di una campagna coordinata che i ricercatori chiamano Mini Shai-Hulud.
La piattaforma di sicurezza SafeDep ha segnalato che l'operazione ha compromesso oltre 170 pacchetti e pubblicato 404 versioni dannose tra l'11 e il 12 maggio.
L'attacco presenta la vulnerabilità CVE-2026-45321 con un punteggio CVSS di 9,6, che lo classifica come di gravità critica.
Il modello di fiducia sulla provenienza SLSA si è appena rotto
Ciò che rende questo attacco strutturalmente senza precedenti è il fatto che i pacchetti dannosi contenevano attestazioni di provenienza valide di livello 3 della build SLSA.
La provenienza SLSA è un certificato crittografico generato da Sigstore che serve a verificare che un pacchetto sia stato creato da una fonte attendibile.
Snyk ha riferito che l'attacco TanStack è il primo caso documentato di pacchetti npm dannosi con provenienza SLSA valida, il che significa che le difese della catena di fornitura basate su attestazioni sono ora dimostrabilmente insufficienti.
Gli aggressori, identificati come TeamPCP, hanno concatenato tre vulnerabilità: una configurazione errata del flusso di lavoro pull_request_target, l'avvelenamento della cache di GitHub Actions e l'estrazione in fase di esecuzione di un token OIDC dal processo runner di GitHub Actions.
Il commit dannoso è stato creato utilizzando un'identità fittizia che impersonava l'app GitHub di Anthropic Claude, con il prefisso [skip ci] per sopprimere i controlli automatici.
Cosa ruba il malware e come si diffonde
Come riportato da Cryptopolitan in merito all'incidente del Trust Wallet del gennaio 2026, legato a perdite per 8,5 milioni di dollari, il worm Shai-Hulud si è evoluto attraverso diverse ondate a partire dal settembre 2025.
Quest'ultima variante aggiunge il furto di password dai vault: i ricercatori di Wiz hanno documentato che il malware ora prende di mira i vault 1Password e Bitwarden, oltre alle chiavi SSH, alle credenziali AWS e GCP, agli account di servizio Kubernetes, ai token GitHub e alle credenziali di pubblicazione npm.
Il ladro esfiltra i dati attraverso tre canali ridondanti: un dominio typosquat (git-tanstack.com), la rete di messaggistica decentralizzata Session e repository GitHub a tema Dune creati con i token rubati.
Il malware si arresta se vengono rilevate impostazioni della lingua russa. Sui sistemi geolocalizzati in Israele o Iran, introduce una probabilità su 6 di eseguire la cancellazione ricorsiva ( rm -rf / ).
Come hanno reagito Mistral e l'ecosistema più ampio
Il 12 maggio Mistral ha pubblicato un avviso di sicurezza in cui affermava che la sua infrastruttura principale non era stata compromessa. L'azienda ha ricondotto l'incidente a un dispositivo di sviluppo compromesso, collegato alla più ampia campagna TanStack relativa alla catena di fornitura.
La versione mistralai==2.4.6 è stata caricata poco dopo la mezzanotte UTC del 12 maggio, prima che PyPI mettesse il progetto in quarantena.
I pacchetti npm compromessi, tra cui @mistralai/mistralai, @mistralai/mistralai-azure e @mistralai/mistralai-gcp , sono rimasti disponibili per diverse ore prima di essere rimossi.
Il volume cumulativo settimanale di download dei pacchetti compromessi supera i 518 milioni. Il solo pacchetto @tanstack/react-router riceve 12,7 milioni di download settimanali.
Si consiglia agli sviluppatori che hanno installato le versioni interessate di ruotare le credenziali cloud, i token GitHub, le chiavi SSH e le chiavi API di Exchange, nonché di controllare le directory .claude/ e .vscode/ alla ricerca di hook di persistenza.
Se stai leggendo questo, sei già un passo avanti. Rimani al passo con i tempi iscrivendoti alla nostra newsletter .