
C’è una tempesta in corso in GitHub che riguarda le Actions, lo strumento della piattaforma dedicato agli automatismi di promozione del codice, dove una componente tra le più usate è stata compromessa ed è diventata un rischio per i repository che la utilizzano.
Si chiama tj-actions/changed-files, ed è una di quelle GitHub Actions preconfezionate che uno straordinario numero di persone pone all’interno delle proprie configurazioni di Continuous Integration, il cui ruolo è di tracciare tutti i file modificati, aggiunti o rimossi in un repository. Il problema è stato tracciato nella CVE CVE-2025-30066, con punteggio 8.6 (HIGH).
All’interno del report pubblicato dall’azienda StepSecurity che per prima ha rilevato il problema viene descritta la modalità di attacco: gli aggressori hanno modificato il codice della Action aggiornando retroattivamente i tag di versione precedenti per fare riferimento al commit dannoso.
Quello che fa la Action compromessa è semplicemente stampare i segreti ed i dati riservati presenti all’interno dei workload di CI/CD in GitHub. Se questi sono accessibili al pubblico (ed ovviamente nei repository pubblici lo sono), chiunque potrebbe leggere i log e ottenere le informazioni esposte.
A quanto indica il report, al momento, non ci sono prove che i segreti trapelati siano stati inviati a qualsiasi destinazione remota, ma, come si può immaginare, una volta che i dati sono già pubblici il problema diventa relativo.
È interessante, ed allo stesso tempo inquietante, leggere la sequenza delle operazioni che hanno portato i criminali a compromettere un elemento così diffuso come tj-actions/changed-files, poiché ricorda fin troppo bene quanto ci è capitato di raccontare a proposito di altre compromissioni del recente passato:
- Tutto è partito dalla compromissione di un token di accesso personale (PAT) collegato all’account bot @tj-actions-bot che aveva permessi di manutenzione sul repository. Nessuno sa come esattamente sia stato compromesso il PAT, ma è presumibile sia stata la consueta combinazione di social engineering e sfruttamento di altre vulnerabilità esistenti.
- È stato creato il commit malevolo al di fuori del repository Action.
- I tag delle release di tutte le Action sono stati aggiornati per puntare al commit dannoso. Con questa modifica, l’Action ha iniziato a eseguire il codice malevolo.
Il particolare relativo ad un puntamento esterno al repository ufficiale è ciò che differenzia questo attacco da altri simili. Cercando infatti il commit malevolo nel repository stesso, questo risulta inesistente:

Chiaramente il report chiude suggerendo a tutti di cambiare, nel caso la si utilizzasse, la Action con qualcosa di più affidabile, ed in questo senso StepSecurity offre step-security/changed-files@v45, ma rimane imperativo togliere l’Action malevola, oltre a ruotare i secret ed effettuare tutte le verifiche del caso nelle varie run pregresse per capire se queste espongono dati riservati e sensibili.
Occhi aperti!
Da sempre appassionato del mondo open-source e di Linux nel 2009 ho fondato il portale Mia Mamma Usa Linux! per condividere articoli, notizie ed in generale tutto quello che riguarda il mondo del pinguino, con particolare attenzione alle tematiche di interoperabilità, HA e cloud.
E, sì, mia mamma usa Linux dal 2009.