Sommario
Due gravi minacce alla sicurezza stanno colpendo GitHub e la sua community di sviluppatori. Da un lato, un attacco alla supply chain ha compromesso la popolare GitHub Action tj-actions/changed-files, utilizzata in oltre 23.000 repository, mettendo a rischio credenziali di accesso e segreti CI/CD. Dall’altro, una massiccia campagna di phishing ha bersagliato quasi 12.000 repository, utilizzando falsi avvisi di sicurezza per indurre gli utenti ad autorizzare una malicious OAuth app che può prendere il controllo degli account GitHub.
Compromissione della GitHub Action “tj-actions/changed-files”
La GitHub Action tj-actions/changed-files, ampiamente utilizzata nei flussi di lavoro CI/CD per il rilevamento di modifiche nei file, è stata compromessa da attori malevoli che hanno modificato il codice dell’azione, introducendo una retroattiva alterazione delle versioni precedenti per stampare segreti CI/CD nei log di build di GitHub Actions.
L’attacco ha portato alla divulgazione di credenziali sensibili come chiavi AWS, token di accesso personali (PAT) di GitHub, token npm e chiavi RSA private. Il problema è stato catalogato con il CVE-2025-30066 e ha ricevuto un punteggio CVSS di 8.6, indicando un alto livello di gravità (maggiori dettagli qui).
Secondo gli esperti di sicurezza, il codice malevolo all’interno della GitHub Action eseguiva uno script Python ospitato su un GitHub Gist, il cui scopo era quello di estrarre i segreti dal processo Runner Worker e stamparli nei log. GitHub ha già rimosso il Gist compromesso, ma non ci sono prove che i segreti esposti siano stati esfiltrati su un’infrastruttura controllata dagli attaccanti.
La compromissione è avvenuta sfruttando un token di accesso personale (PAT) dell’account bot @tj-actions-bot, utilizzato per mantenere il repository. Gli attaccanti sono riusciti a rubare il PAT, ottenendo così accesso al codice dell’azione e modificandone il comportamento senza che gli sviluppatori se ne accorgessero immediatamente.
In risposta all’attacco, gli sviluppatori di tj-actions/changed-files hanno:
- Revocato il token compromesso e aggiornato le credenziali del bot.
- Modificato il sistema di autenticazione, introducendo l’uso di passkey per ridurre il rischio di attacchi futuri.
- Aggiornato la sicurezza del repository, applicando il principio del least privilege per limitare le autorizzazioni.
Tutti gli utenti che utilizzano questa GitHub Action devono aggiornare immediatamente alla versione 46.0.1 e verificare i propri flussi di lavoro CI/CD per segni di attività sospette tra il 14 e il 15 marzo 2025.
Campagna di phishing su GitHub con finti avvisi di sicurezza
Parallelamente, una seconda minaccia ha colpito GitHub: una massiccia campagna di phishing ha preso di mira quasi 12.000 repository, sfruttando falsi avvisi di sicurezza per indurre gli sviluppatori ad autorizzare una malicious OAuth app.
L’attacco si basa sulla pubblicazione di issue fasulle nei repository target, con il seguente messaggio:
“Security Alert: Unusual Access Attempt – Abbiamo rilevato un tentativo di accesso al tuo account GitHub da un dispositivo o una posizione insolita.”
Gli avvisi indicavano un presunto accesso non autorizzato da Reykjavik, Islanda, associato all’indirizzo IP 53.253.117.8, inducendo i destinatari a cliccare su un link per “proteggere il proprio account”.
Il link, invece, reindirizzava gli utenti a una pagina di autorizzazione per un’app OAuth malevola chiamata “gitsecurityapp”, che richiedeva permessi critici:
- Accesso completo ai repository pubblici e privati.
- Possibilità di leggere e scrivere nei profili utente.
- Accesso alle organizzazioni GitHub dell’utente.
- Controllo su GitHub Actions e su tutti i workflow associati.
- Autorizzazione alla creazione e cancellazione di repository.
Se autorizzata, l’app forniva agli attaccanti controllo totale sull’account della vittima, permettendo la modifica del codice, la sottrazione di dati sensibili e la cancellazione dei repository.
Questa campagna è iniziata il 17 marzo 2025 e GitHub sta già intervenendo per rimuovere gli issue dannosi, ma gli attacchi continuano a evolversi.
Come proteggersi da questi attacchi?
A fronte di questi attacchi su larga scala, gli utenti di GitHub devono adottare misure di sicurezza proattive per proteggere i propri account e repository.
- Aggiornare immediatamente la GitHub Action “tj-actions/changed-files” alla versione 46.0.1 e rivedere tutti i workflow CI/CD eseguiti tra il 14 e il 15 marzo.
- Non autorizzare applicazioni OAuth sospette. Se hai già concesso l’accesso alla “gitsecurityapp”, revoca immediatamente i permessi nelle impostazioni GitHub.
- Monitorare le attività sospette sui repository, verificando la presenza di issue inattesi o modifiche anomale nei workflow di GitHub Actions.
- Attivare l’autenticazione a due fattori (2FA) per proteggere gli account da accessi non autorizzati.
- Eseguire una rotazione delle credenziali e dei token di accesso per evitare esfiltrazioni di dati.
Questi attacchi evidenziano quanto la sicurezza delle pipeline di sviluppo e la protezione degli account GitHub siano fondamentali per prevenire danni su larga scala. Le azioni compromesse e le app OAuth malevole possono avere impatti devastanti, mettendo a rischio interi progetti e infrastrutture.