Grafana, breccia GitHub: un token dimenticato apre i repository

Grafana Labs ha subito una breccia GitHub per un token CI/CD non ruotato dopo l'attacco supply chain TanStack. Codice sorgente e contatti business esfiltrati.

Contenuto

Grafana, breccia GitHub: un token dimenticato apre i repository
Grafana, breccia GitHub: un token dimenticato apre i repository

Grafana Labs ha reso pubblico il 19 maggio 2026 che un singolo token GitHub workflow, mancato nella rotazione d'emergenza, ha permesso agli attaccanti di accedere ai propri repository privati e interni. L'incidente, rilevato l'11 maggio, rappresenta l'espansione laterale di una supply chain attack inizialmente condotta tramite il pacchetto npm TanStack compromesso dal gruppo TeamPCP: da un'infezione di build a una breccia di proprietà intellettuale con richiesta estorsiva.

Punti chiave
  • Grafana Labs ha dichiarato che la breccia è limitata all'ambiente GitHub: codice sorgente pubblico, privato e repository interni, senza evidenza di compromissione dei sistemi di produzione clienti o della piattaforma Grafana Cloud.
  • L'attacco ha origine dalla campagna supply chain TanStack npm orchestrata da TeamPCP, che ha introdotto malware nell'ambiente di build/CI con furto di token GitHub workflow.
  • Dopo la rotazione iniziale dei token, uno è stato mancato: ha consentito agli attaccanti di accedere ai repository e scaricare contenuti aggiuntivi, inclusi nomi e indirizzi email di contatti business.
  • Il gruppo CoinbaseCartel ha listato Grafana Labs su un sito dark web il 15 maggio 2026; il 16 maggio Grafana ha ricevuto una richiesta estorsiva e ha deciso di non pagare.

Da npm TanStack a GitHub: come è cresciuta la superficie d'attacco

La campagna supply chain che ha colpito Grafana è parte di un'operazione più ampia attribuita a TeamPCP, attivo su npm e altri registry di pacchetti. Il vettore iniziale — un pacchetto TanStack compromesso — ha funzionato come tramite per iniettare malware nell'ambiente di continuous integration. Da lì, il malware ha esfiltrato token GitHub workflow, le credenziali non-uman che consentono agli automatismi CI/CD di autenticarsi ai repository.

Grafana ha reagito con rotazione aggressiva dei token, ma la procedura è risultata incompleta. Come ha spiegato l'azienda, la revisione successiva ha rivelato che un workflow originariamente ritenuto non impattato era invece compromesso. Questo ha aperto una finestra di accesso che gli attaccanti hanno sfruttato per espandere il proprio raggio d'azione dai repository pubblici a quelli privati e interni.

Il caso mostra una dinamica ricorrente nelle supply chain attack: il danno immediato del pacchetto compromesso è spesso misurabile, ma la persistenza garantita da un identity token non ruotato può essere più grave. Le non-human identity nei workflow CI/CD proliferano in modo invisibile: ogni GitHub Action, ogni integrazione terza, ogni pipeline genera token con scope spesso più ampio del necessario. Senza inventario completo, la rotazione d'emergenza resta un'operazione a tentativi.

Il "token missed": perché un errore di rotazione parziale espone più dell'attacco iniziale

L'elemento tecnico centrale è proprio questo: non la compromissione del pacchetto npm in sé, ma la mancata rotazione di un singolo token workflow. Grafana ha ruotato "a significant number" di token, secondo la propria dichiarazione, ma uno è sfuggito. La formulazione è significativa: non un token nascosto o cifrato male, semplicemente un elemento perso in un inventario presumibilmente manuale o parzialmente automatizzato.

Le conseguenze sono state estese. Oltre al codice sorgente, gli attaccanti hanno scaricato repository usati dai team per "collaborare e archiviare informazioni operative interne e altri dettagli sul business", come ha riferito Grafana. I dati esfiltrati includono nomi e indirizzi email di contatti business, ma non informazioni prelevate da sistemi di produzione o dalla piattaforma Grafana Cloud. Questa distinzione è importante: l'incidente non ha toccato i dati dei clienti in hosting, ma ha colpito la proprietà intellettuale e le informazioni di relazione commerciale dell'azienda.

L'incertezza rimane su alcuni punti. Non è chiaro se il token mancato sia stato esposto esclusivamente tramite TanStack o anche attraverso altri vettori. Non è verificato se i dati listati da CoinbaseCartel il 15 maggio corrispondano esattamente a quelli rubati tramite il token Grafana o se derivino da accesso separato. Grafana non ha dettagliato quali repository specifici siano stati coinvolti.

"We performed analysis and quickly rotated a significant number of GitHub workflow tokens, but a missed token led to the attackers gaining access to our GitHub repositories" — Grafana Labs (via The Hacker News)

TeamPCP e il mercato dei repository GitHub: dal furto alla vendita

TeamPCP non è nuovo a operazioni di questo tipo. BleepingComputer ha documentato precedenti campagne supply chain su npm, PyPI e Docker, con il gruppo attivo nella compromissione di registry di pacchetti per ottenere accesso a ambienti di sviluppo. In questo caso, il gruppo ha claimato accesso a circa 4.000 repository interni privati di GitHub, mettendo in vendita l'accesso per almeno $50.000.

Il post di vendita, riportato da BleepingComputer, è esplicito: "No low ball offers will be accepted, everything for the main platform is there and I very am happy to send samples to interested buyers to verify the absolute authenticity. There is a total of around ~4.000 repos of private code here". Il claim riguarda GitHub in generale, non specificamente Grafana: non è verificato se i ~4.000 repository includano quelli dell'azienda o se rappresentino un pool aggregato da più breccie.

Il 15 maggio 2026, il gruppo CoinbaseCartel ha listato Grafana Labs sul proprio sito dark web. Il giorno successivo, Grafana ha ricevuto la richiesta estorsiva. La decisione di non pagare, annunciata nella disclosure, allinea Grafana alla maggior parte delle aziende che affrontano ransomware o estorsione dati, ma non elimina il rischio che i materiali rubati circolino comunque.

Cosa fare adesso

Per le organizzazioni che usano GitHub Actions e dipendono da pacchetti npm, l'incidente Grafana offre un catalogo di misure immediate e di medio termine.

  • Inventariare tutti i non-human identity nei workflow CI/CD, non solo i token principali: GitHub workflow tokens, deploy keys, integration secrets e service accounts devono essere mappati con automaticità, non con ricerca manuale post-incident.
  • Automatizzare la rotazione e la revoca con policy che non dipendano dalla memoria dei team: un token non deve poter persistere oltre la durata del job che lo genera, e la revoca deve essere più rapida della reazione umana.
  • Segmentare lo scope dei workflow in modo che un token compromesso non abbia accesso a tutto il parco repository: il principio del least privilege applicato alle identità automatizzate riduce il raggio di espansione laterale.
  • Auditare le dipendenze npm con verifica di provenienza e behavioural analysis in CI: il pacchetto compromesso è stato il punto di ingresso, ma la mancanza di rilevamento nel pipeline ha permesso l'esfiltrazione dei token.

Perché la supply chain non finisce con il pacchetto pulito

L'angolo di lettura che emerge dall'incidente Grafana è che le supply chain attack moderne non sono eventi a singolo stadio. La compromissione del pacchetto TanStack è stata il detonatore; la persistenza attraverso un token dimenticato è stata l'esplosivo vero. Le aziende investono in scanning di dipendenze e in firme dei pacchetti, ma spesso trascurano l'igiene delle identità non-uman che quei pacchetti incontrano in fase di build.

Il rischio per il lettore non è astratto. Per chi sviluppa software con GitHub Actions, la lezione è che la rotazione token non è un'operazione di cleanup post-incident: è la difesa in profondità che determina se una supply chain attack resta contenuta o diventa una breccia di codice sorgente. Grafana ha pagato il prezzo di un token mancato in un inventario presumibilmente affollato. Il conto, per ora, è in codice sorgente esfiltrato e in una richiesta estorsiva pubblica. Per altre aziende, può ancora essere preventivo.

Domande frequenti

I dati dei clienti Grafana Cloud sono stati compromessi?

No, secondo la dichiarazione ufficiale di Grafana Labs non c'è evidenza che i sistemi di produzione clienti o la piattaforma Grafana Cloud siano stati toccati. La breccia è limitata all'ambiente GitHub aziendale.

Cos'è il gruppo CoinbaseCartel e che relazione ha con TeamPCP?

CoinbaseCartel è il gruppo che ha listato Grafana Labs sul proprio sito dark web il 15 maggio 2026. Non è chiaro dalla fonte se coincida con TeamPCP o se operi come affiliato o broker separato per la vendita dei dati.

Perché un singolo token può causare danni così estesi?

I GitHub workflow tokens, se generati con scope ampio o se appartengono a workflow con accesso a molti repository, fungono da chiavi master per l'automazione. Senza rotazione completa e senza segmentazione dello scope, la loro compromissione equivale a un accesso laterale istantaneo a tutta la superficie esposta.

Fonti

Le informazioni sono state verificate sulle fonti citate e aggiornate al momento della pubblicazione.

Fonti

Link utili

Apri l'articolo su DeafNews