惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Google DeepMind News
Google DeepMind News
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
酷 壳 – CoolShell
酷 壳 – CoolShell
WordPress大学
WordPress大学
小众软件
小众软件
博客园 - 司徒正美
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
Jina AI
Jina AI
Hugging Face - Blog
Hugging Face - Blog
博客园 - Franky
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
量子位
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
雷峰网
雷峰网
云风的 BLOG
云风的 BLOG
M
MIT News - Artificial intelligence
F
Fortinet All Blogs
T
Tailwind CSS Blog
Martin Fowler
Martin Fowler
I
InfoQ
The GitHub Blog
The GitHub Blog
有赞技术团队
有赞技术团队
The Cloudflare Blog
罗磊的独立博客

RSS Csirt Italia

Rilevata vulnerabilità in GIMP Rilevate vulnerabilità in Erlang/OTP Vulnerabilità in prodotti Palo Alto Networks Risolte vulnerabilità su GitLab CE/EE Rilevata vulnerabilità in Oracle Rilevate vulnerabilità in prodotti Splunk Rilevate vulnerabilità in MongoDB Rilevate nuove vulnerabilità in Jenkins Vulnerabilità nel modulo CPython “bz2” Rilevata vulnerabilità in componenti UEFI shim Vulnerabilità in prodotti Fortinet Rilevate vulnerabilità in prodotti Dahua Risolte vulnerabilità in OpenSSL Risolte vulnerabilità in Xen Risolte vulnerabilità in prodotti Spring Rilevate vulnerabilità in TYPO3 CMS Ivanti June Security Update Vulnerabilità in prodotti Schneider Electric Adobe: aggiornamenti di sicurezza Aggiornamenti Mensili Microsoft Veeam: risolta vulnerabilità in Backup & Replication Aggiornamenti per prodotti Siemens Vulnerabilità in prodotti QNAP Risolte vulnerabilità in Gogs Vulnerabilità in prodotti VMware Check Point: sfruttamento attivo in rete della CVE-2026-50751 SAP Security Patch Day Rilevate vulnerabilità in Apache Http Server Risolte vulnerabilità in Google Chrome Vulnerabilità in StrongSwan
Supply Chain Attack: compromissione del pacchetto NPM Axios
2026-03-31 · via RSS Csirt Italia

Sintesi

È stata recentemente rilevata la compromissione della supply chain che ha interessato Axios, libreria JavaScript largamente utilizzata che fa da client HTTP per effettuare richieste verso API e servizi web. L'attacco, dovuto alla compromissione (hijacking) dell'account di un’utenza maintainer, ha permesso la pubblicazione sul registro NPM di versioni opportunamente predisposte, che integravano un malware dropper. Tali versioni sono progettate per installare un Remote Access Trojan (RAT) su sistemi Windows, macOS e Linux.

Tipologia

Remote Code Execution

Descrizione dell’incidente

L’evento è scaturito dalla compromissione (hijacking) dell'account NPM di uno dei maintainer del progetto Axios. L'attaccante, dopo aver acquisito il controllo dell'utenza e averne modificato l'indirizzo e-mail (passando a un provider crittografato ProtonMail), ha pubblicato manualmente, sul registro NPM, le versioni malevole 1.14.1 (per il ramo stabile 1.x) e 0.30.4 (per il ramo legacy 0.x). Tale operazione ha permesso l’elusione della pipeline di rilascio automatizzata su GitHub Actions e i relativi controlli basati su OIDC (OpenID Connect Trusted Publishing), infrangendo la catena di fiducia tra codice sorgente verificato e pacchetto distribuito.

Vettore di Infezione e Payload

Si evidenzia che la scelta dell'attaccante è stata quella di non alterare il codice sorgente del pacchetto Axios, utilizzando una tecnica di shadow injection che ha permesso di eludere i controlli di analisi statica (SAST) e le revisioni manuali dei diff tra le versioni.

Nel dettaglio all'interno di tali versioni, l'attaccante ha iniettato una singola dipendenza malevola: plain-crypto-js@4.2.1, che sfrutta la funzionalità automatica di postinstall di NPM per lanciare istantaneamente uno script (setup.js) durante l'installazione della libreria.

Lo script, fortemente offuscato per eludere l'analisi dinamica, contatta un server di Command and Control (C2) identificando il sistema operativo della vittima e scaricando payload specifici di secondo livello, per Windows, macOS o Linux.

Completata l'installazione silente del Remote Access Trojan (RAT), il malware avvia routine di auto-eliminazione del dropper e ripristina lo stato originale dei file di configurazione del progetto (come package.json e i file di lock). Rimuovendo ogni riferimento alla dipendenza malevola plain-crypto-js dalla directory node_modules, il malware rende l'infezione invisibile ai comuni strumenti di auditing locale, garantendo la persistenza silenziosa a livello di sistema operativo.

La diffusione delle versioni compromesse è stata interrotta tramite l'intervento del registro NPM, che ha provveduto al "ritiro forzato" (unpublish) delle versioni malevole di Axios (1.14.1 e 0.30.4). Contestualmente, il pacchetto plain-crypto-js è stato rimosso e sostituito con un security stub[1] per inibirne il download e l'esecuzione automatica.

Potenziali Impatti

1.   Data Breach: esfiltrazione di variabili d'ambiente, file di configurazione cloud (AWS, Azure, GCP), token di autenticazione e chiavi SSH.

2.   Compromissione CI/CD: l'infezione di un runner permette all'attaccante di iniettare codice malevolo in altri progetti o manipolare gli artefatti finali (immagini Docker, binari), estendendo la compromissione alla supply chain dei propri clienti.

3.   Lateral Movement: impiego delle informazioni carpite per ottenere l'accesso a risorse interne, database o segmenti di rete protetti, eludendo eventuali controlli grazie alla fiducia intrinseca degli ambienti di sviluppo.

4.   Rischio Persistenza: la semplice eliminazione della directory node_modules o la rimozione del pacchetto Axios non elimina l'infezione, che rimane attiva e silente come processo di sistema indipendente.

Prodotti e versioni affette

  • axios - stable (1.x), versione 1.14.1
  • axios - legacy (0.x), versione 0.30.4

Pacchetti correlati

  • @shadanai/openclaw, versioni 2026.3.28-2, 2026.3.28-3, 2026.3.31-1 e 2026.3.31-2
  • @qqbrowser/openclaw-qbot, versione 0.0.130

Azioni di mitigazione

Gli utenti e le organizzazioni possono far fronte a questa tipologia di attacchi valutando l’implementazione delle misure di mitigazione raccomandate riportate di seguito:

  • Audit: verificare nelle dipendenze (package-lock.json, o altri) la presenza delle versioni compromesse 1.14.1 o 0.30.4;
  • Downgrade e Cache: forzare il ritorno a una versione stabile (ad esempio 1.7.9) e svuotare la cache di sistema con il comando npm cache clean –force (o comandi equivalenti);
  • Rotazione di Credenziali e Token: revocare e rigenerare chiavi API, token cloud (AWS/Azure/GCP) e chiavi SSH presenti sulle macchine o nei runner CI/CD coinvolti;
  • Bonifica Host: considerare ogni sistema che ha eseguito l'installazione del pacchetto in oggetto, come compromesso. La persistenza del malware a livello di sistema operativo richiede la formattazione o il ripristino dell'immagine degli host (laptop o server di build) interessati.

Per verificare l’eventuale compromissione dei propri sistemi si raccomanda di valutare l’utilizzo dei meccanismi di rilevamento riportati al seguente link, nella sezione “Am I Affected?”.

Infine, si raccomanda di valutare l’implementazione sui propri apparati di sicurezza degli Indicatori di Compromissione (IoC)[2] presenti nei link disponibili nella sezione Riferimenti.

  1. Security Stub: pacchetto segnaposto (placeholder) privo di codice funzionale, pubblicato dai gestori del registro NPM in sostituzione di un pacchetto rimosso per motivi di sicurezza. Lo scopo dello stub è inibire il download della versione malevola e generare un errore o un avviso di sicurezza esplicito qualora un sistema tenti di risolvere tale dipendenza, impedendo così la propagazione del malware e l'esecuzione di script dannosi (come i postinstall) legati al pacchetto originale.
  2. Per definizione, non tutti gli indicatori di compromissione sono malevoli. Questo CSIRT non ha alcuna responsabilità per l'attuazione di eventuali azioni proattive (es. inserimento degli IoC in blocklist) relative agli indicatori forniti. Le informazioni contenute in questo documento rappresentano la migliore comprensione della minaccia al momento del rilascio.