Questa guida spiega come identificare e rispondere a un attacco di supply chain che ha compromesso diversi pacchetti npm sotto il namespace @redhat-cloud-services. L'attacco ha iniettato un malware ruba-credenziali chiamato Miasma in pacchetti frontend utilizzati da progetti di Red Hat cloud services.
Questo attacco è utile per gli sviluppatori e le aziende che utilizzano i pacchetti npm compromessi, poiché fornisce le informazioni necessarie per verificare se sono stati colpiti e per adottare misure correttive immediate.
L'attacco ha interessato 96 versioni di 32 pacchetti, con un totale di 116.991 download settimanali. Il malware è stato rilevato il 1° giugno 2026 e ha preso di mira una vasta gamma di credenziali sensibili, tra cui token GitHub Actions, credenziali AWS, Google Cloud e Azure, token HashiCorp Vault, token di account di servizio Kubernetes e file kubeconfig, token di pubblicazione npm e PyPI, chiavi SSH private, credenziali del registro Docker, chiavi GPG e file .env.
L'attacco è stato reso possibile da un account GitHub compromesso utilizzato per inserire codice malizioso nei pacchetti mantenuti in un'organizzazione GitHub di Red Hat. I pacchetti compromessi sono stati pubblicati tramite GitHub Actions OIDC, suggerendo un compromesso del pipeline CI/CD.
Red Hat ha pubblicato un bollettino di sicurezza, RHSB-2026-006, e ha rimosso le versioni compromesse da npm. L'indagine è ancora in corso.
Se hai installato le versioni dei pacchetti interessati dopo il 1° giugno 2026, è fondamentale trattare i segreti CI, le credenziali cloud, le chiavi SSH e i token npm come compromessi e sostituirli immediatamente.
Prerequisiti
- Sistema operativo: Qualsiasi sistema operativo che supporti npm (Node Package Manager), come Linux, macOS o Windows.
- Node.js e npm: Installati sul sistema. Verificare la versione con i comandi
node -venpm -v. - Accesso ai progetti Red Hat: Accesso ai progetti e ai repository GitHub di Red Hat che utilizzano i pacchetti npm compromessi.
- Strumenti di analisi: Strumenti per analizzare dependency trees, lockfiles, CI logs e build artifacts, come
npm lsonpm audit. - Strumenti di sicurezza: Strumenti per rilevare e gestire malware, come antivirus o soluzioni di sicurezza specifiche per lo sviluppo software.
Procedura per verificare e rispondere all'attacco ai pacchetti npm di Red Hat
Questa guida ti aiuterà a verificare se il tuo progetto è stato colpito dall'attacco ai pacchetti npm di Red Hat e a prendere le misure necessarie per mitigare i rischi.
Passo 1: Identificare i pacchetti compromessi
- Controlla i tuoi file package.json e package-lock.json per la presenza dei seguenti pacchetti:
- @redhat-cloud-services/chrome
- @redhat-cloud-services/frontend-components
- Altri pacchetti sotto il namespace @redhat-cloud-services
Passo 2: Verificare le versioni installate
- Esegui il comando npm ls per elencare tutte le dipendenze del tuo progetto.
- Controlla che le versioni dei pacchetti compromessi siano state installate dopo il 1 giugno 2026.
Passo 3: Analizzare i log dei CI/CD
- Esamina i log dei tuoi pipeline di integrazione continua per individuare eventuali installazioni dei pacchetti compromessi.
- Presta particolare attenzione ai log delle esecuzioni avvenute dopo il 1 giugno 2026.
Passo 4: Isolare gli ambienti compromessi
- Se hai identificato ambienti in cui i pacchetti compromessi sono stati installati, isolali immediatamente.
- Considera potenzialmente esposti tutti gli ambienti con accesso a segreti, come runner CI, workstation di sviluppo o sistemi di build.
Passo 5: Rotazione delle credenziali
- Se hai installato versioni compromesse dei pacchetti dopo il 1 giugno 2026, tratta come compromessi:
- Token GitHub Actions
- Credenziali AWS, Google Cloud e Azure
- Token HashiCorp Vault
- Token di account servizio Kubernetes e file kubeconfig
- Token di pubblicazione npm e PyPI
- Chiavi SSH private
- Credenziali di registry Docker
- Chiavi GPG
- File .env
- Rota immediatamente tutte le credenziali elencate sopra.
Passo 6: Aggiornare i pacchetti
Passo 7: Monitorare gli aggiornamenti
- Segui le raccomandazioni di Red Hat e Aikido per ulteriori misure di mitigazione.
Verifica e Troubleshooting
Come testare se funziona
- Verifica le versioni dei pacchetti: Controlla se hai installato versioni compromesse dei pacchetti elencati. Utilizza il comando
npm listper verificare le versioni installate. - Controlla i file di configurazione: Ispeziona i file
package.jsoneindex.jsper rilevare script sospetti o modifiche non autorizzate.
Cosa fare se fallisce
- Aggiorna i pacchetti: Installa le versioni più recenti e sicure dei pacchetti compromessi.
- Ruota le credenziali: Cambia immediatamente tutte le credenziali sensibili, inclusi token GitHub Actions, credenziali cloud, chiavi SSH e token npm.
- Monitora l'attività: Implementa un monitoraggio continuo per rilevare eventuali attività sospette o tentativi di accesso non autorizzati.
Sintesi didattica e invito alla pratica
- Rivedi i passaggi chiave:
- Identifica i pacchetti compromessi e le versioni interessate.
- Comprendi il meccanismo di infezione tramite il preinstall script malizioso.
- Analizza le credenziali sensibili mirate dal malware Miasma.
- Azioni immediate:
- Controlla i log dei sistemi CI/CD per segni di compromissione.
- Rimuovi le versioni compromesse e aggiorna i tuoi dipendenze.
- Monitora gli aggiornamenti del bollettino di sicurezza Red Hat per ulteriori indicazioni.
- Pratica proattiva:
- Implementa controlli rigorosi sui workflow di CI/CD per prevenire accessi non autorizzati.
- Esegui audit regolari delle dipendenze e degli ambienti di sviluppo.
- Adotta strumenti di sicurezza avanzati per rilevare anomalie nei pacchetti npm.
La sicurezza del software è un processo continuo. Mantieni alta la vigilanza e aggiornati costantemente sulle minacce emergenti.
Nota Editoriale e Disclaimer
Le guide e i contenuti pubblicati su GoYou sono frutto di attività di ricerca e analisi indipendente, a scopo informativo, educativo e di approfondimento.
GoYou non costituisce una testata giornalistica né un prodotto editoriale ai sensi della Legge n. 62/2001 e non svolge attività di informazione in tempo reale.
Il progetto GoYou non fornisce consulenza professionale, tecnica, legale o finanziaria e declina ogni responsabilità per l’uso improprio delle informazioni pubblicate.
Nel settore Crypto, ogni investimento comporta rischi: si invita il lettore a informarsi sempre in modo autonomo prima di assumere qualsiasi decisione.