
Pacchetti MemTensor malevoli diffondono il credential stealer sckit
Gli attaccanti hanno compromesso i pacchetti MemTensor su npm e PyPI per diffondere il credential stealer sckit, che raccoglie le credenziali degli sviluppatori e le invia a skyleen.fr.
Attori minaccia sconosciuti hanno compromesso due pacchetti MemTensor legittimi su npm, il registro dei pacchetti JavaScript, e sul Python Package Index (PyPI), il repository ufficiale dei pacchetti per il linguaggio di programmazione Python, per distribuire il credential stealer sckit, un impianto basato su Go che ruba le credenziali degli sviluppatori su Windows, Linux e macOS. L'attività è stata segnalata dai ricercatori di Aikido, SafeDep, Socket e StepSecurity. I pacchetti interessati sono @memtensor/memos-cloud-openclaw-plugin versioni 0.1.21, 0.1.23 e 0.1.25, e MemoryOS versione 2.0.34. Le versioni 0.1.22 e 0.1.24 del pacchetto npm sono pulite, e il progetto PyPI è stato messo in quarantena dopo la comparsa della versione malevola.
StepSecurity ha spiegato che le versioni malevole del pacchetto npm nascondono un payload Go all'interno di una legittima integrazione di memoria AI. Quando il gateway dell'agente si avvia, e ogni volta che il plugin gestisce un evento di richiamo della memoria, il codice lancia quel payload. Il lanciatore passa l'ambiente del processo host, il che significa che il programma può leggere le impostazioni e le variabili disponibili al processo all'interno del quale viene eseguito, e durante il richiamo della memoria passa il testo del prompt dell'utente direttamente all'eseguibile malevolo. Il pacchetto PyPI si comporta in modo leggermente diverso: avvia un binario Go collegato staticamente, un file di programma autonomo, non appena il modulo memos viene importato in un'applicazione. In entrambi gli ecosistemi lo scopo è lo stesso: eseguire un programma multipiattaforma che ruba credenziali, raccogliendo dati da servizi cloud, piattaforme di codice sorgente, registri di pacchetti e strumenti per sviluppatori, e inviarli a un server esterno su skyleen.fr.
Socket ha segnalato cosa cerca l'impianto. I suoi obiettivi includono segreti di npm, PyPI, GitHub, GitLab, AWS, Vault e SSH. Su una macchina infetta cerca file di credenziali come .npmrc, .vault-token, id_ecdsa, credentials.db, access_tokens.json e stored_tokens. Esamina anche le variabili d'ambiente, le piccole porzioni di dati di configurazione che i programmi leggono dal computer, che puntano a token, password, chiavi API, chiavi private, cookie di sessione e stringhe di connessione per database o broker di messaggi, incluse variabili come NPM_TOKEN e PYPI_API_TOKEN. L'elenco del materiale rubato comprende anche chiavi di accesso AWS, token GitHub e GitLab, token npm e PyPI, chiavi Hugging Face, HashiCorp Vault, Slack, Stripe e SendGrid, e JWT, che sono brevi biglietti di accesso digitale.
SafeDep ha ricostruito come l'attaccante ha ottenuto i token di pubblicazione in quello che ha descritto come un attacco alla supply chain. Secondo SafeDep, l'attaccante ha ottenuto i token di pubblicazione dalle pipeline di rilascio GitHub Actions di MemTensor stesso. GitHub Actions è un servizio che automatizza la compilazione, il test e il rilascio del codice. Inviando commit che hanno indotto il workflow a consegnare il token npm o PyPI, l'attaccante ha acquisito la capacità di pubblicare le versioni manomesse del pacchetto. SafeDep ha inoltre osservato che l'impianto può funzionare come un worm: può auto-proliferarsi attraverso GitHub e pubblicando direttamente pacchetti npm e PyPI. Raccoglie credenziali dalle macchine degli sviluppatori e dai job CI, che sono esecuzioni automatizzate di compilazione e test. Riceve attività firmate da un server command-and-control (C2), una macchina gestita dagli attaccanti che impartisce istruzioni all'impianto, e contiene modelli per installarsi in pacchetti npm, pacchetti Python e workflow GitHub Actions. Al momento del rapporto non era chiaro se anche altri pacchetti oltre a MemTensor fossero stati compromessi.
StepSecurity ha fornito maggiori dettagli sulla funzione legittima del plugin MemOS Cloud, che normalmente collega il runtime dell'agente OpenClaw a un servizio di memoria. Richiama memorie rilevanti prima che un agente elabori un prompt e aggiunge memorie dopo un'esecuzione, e dichiara punti di integrazione per i runtime Clawdbot e Moltbot. Questa collocazione è importante perché il plugin viene eseguito all'interno di un processo che gestisce abitualmente input dell'utente e può ereditare credenziali preziose. Su una workstation di sviluppo lo stesso account utente può spesso accedere a configurazioni cloud, repository di codice sorgente, token di pubblicazione di pacchetti e segreti applicativi, e nei job automatizzati il processo può ricevere credenziali iniettate per quello specifico job.
L'avviso iniziale forniva misure difensive immediate. Raccomandava di fissare il pacchetto npm alla versione 0.1.20 e il pacchetto PyPI alla versione 2.0.33 come basi sicure, ruotare eventuali segreti esposti, terminare qualsiasi processo sckit e bloccare il dominio skyleen.fr insieme a tutti i suoi sottodomini. Un aggiornamento ai rapporti ha poi confermato che le versioni malevole erano state rimosse sia da npm che da PyPI, e ha indicato le ultime versioni pulite come @memtensor/memos-cloud-openclaw-plugin versione 0.1.24 e MemoryOS versione 2.0.33. Questa compromissione della supply chain è un promemoria del fatto che le macchine degli sviluppatori e i processi di rilascio automatizzati sono obiettivi attraenti per gli attaccanti che vogliono passare da un piccolo aggiornamento di pacchetto ad account cloud e di hosting di codice ampiamente utilizzati. Per le organizzazioni che si affidano a pacchetti di terze parti, un servizio IT e di consulenza orientato alla sicurezza come AEU-I può aiutare a rivedere le dipendenze, rafforzare il modo in cui le pipeline di automazione gestiscono i segreti e pianificare una risposta di contenimento, anche se la priorità immediata resta aggiornare i pacchetti interessati e ruotare le credenziali.
Come Proteggerti
- Aggiorna immediatamente tutti i pacchetti MemTensor installati: per @memtensor/memos-cloud-openclaw-plugin usa la versione 0.1.24, e per MemoryOS usa la versione 2.0.33, ed evita le vecchie versioni difettose 0.1.21, 0.1.23, 0.1.25 e 2.0.34
- Cambia le password e le chiavi segrete per qualsiasi servizio online che hai usato sullo stesso computer dove potrebbe essere stato eseguito uno di questi pacchetti, in particolare gli account di hosting del codice, cloud e pubblicazione di
- Se gestisci un sito web o un progetto software, rimuovi o fissa a una versione sicura qualsiasi pacchetto che dipende da MemTensor, e controlla l'elenco delle dipendenze del tuo progetto per aggiornamenti sospetti.
- Ruota, o sostituisci, tutti i token segreti e le chiavi memorizzate nei job automatizzati di compilazione e pubblicazione, perché il malware è stato progettato per raccogliere quelle credenziali.
- Prima di aggiornare qualsiasi pacchetto, guarda la cronologia delle versioni e le note di rilascio del progetto, ed evita una versione appena cambiata che non è pubblica da molto tempo.
I Termini Spiegati
- npm Il registro dei pacchetti per JavaScript, dove gli sviluppatori condividono e installano pezzi di codice riutilizzabili.
- PyPI Abbreviazione di Python Package Index, il repository ufficiale dove gli sviluppatori pubblicano e scaricano pacchetti per il linguaggio di programmazione Python.
- GitHub Actions Un servizio integrato in GitHub che compila, testa e pubblica automaticamente il codice quando gli sviluppatori apportano modifiche.
- Command-and-control (C2) server Un computer controllato dagli attaccanti che invia istruzioni alle macchine infette e riceve i dati rubati.
- CI jobs Esecuzioni automatizzate di compilazione e test che vengono eseguite ogni volta che gli sviluppatori modificano il codice, e che spesso hanno accesso a credenziali segrete.
- Environment variables Piccole porzioni di dati di configurazione che i programmi leggono dal computer o dal server su cui vengono eseguiti, spesso usate per memorizzare password e token.
- Go Un linguaggio di programmazione sviluppato da Google che viene spesso utilizzato per creare programmi da riga di comando multipiattaforma.