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 -v e npm -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 ls o npm 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 list per verificare le versioni installate.
  • Controlla i file di configurazione: Ispeziona i file package.json e index.js per 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.