L’attacco della catena di approvvigionamento che coinvolge l’azione di GitHub “TJ-Actions/Modified-Recordsdata” è iniziato come un attacco altamente mirato contro uno dei progetti open supply di Coinbase, prima di evolversi in qualcosa di più diffuso nella portata.
“Il payload si è concentrato sullo sfruttamento del flusso pubblico CI/CD di uno dei loro progetti open supply: Agentkit, probabilmente allo scopo di sfruttarlo per ulteriori compromessi”, Palo Alto Networks Unit 42 disse in un rapporto. “Tuttavia, l’attaccante non è stato in grado di utilizzare i segreti di Coinbase o pubblicare pacchetti.”
IL incidente Venne alla luce il 14 marzo 2025, quando fu scoperto che “TJ-Actions/Shifting-Recordsdata” period compromesso per iniettare codice che trapelava segreti sensibili da repository che gestivano il flusso di lavoro. È stato assegnato l’identificatore CVE CVE-2025-30066 (Punteggio CVSS: 8.6).
Secondo Endor Labs, si stima che 218 repository di GitHub abbiano esposto i loro segreti a causa dell’attacco della catena di approvvigionamento e la maggior parte delle informazioni trapelate embrace una credenziali “poche dozzine” per Dockerhub, NPM e Amazon Internet Providers (AWS), nonché GitHub Installa Entry Tokens.
“La scala iniziale dell’attacco della catena di approvvigionamento sembrava spaventosa, considerando che decine di migliaia di repository dipendono dall’azione del github”, il ricercatore della sicurezza Henrik Plate disse.
“Tuttavia, perforando i flussi di lavoro, le loro corse e i segreti trapelati mostrano che l’impatto effettivo è più piccolo del previsto:” Solo “218 repository hanno trapelato segreti e la maggior parte di questi sono github_tokens di breve durata, che scadono una volta che una corsa di flusso di lavoro è stata completata.”
Da allora, è emerso che il tag V1 di un’altra azione GitHub chiamata “Reviewdog/Motion-Setup”, su cui “TJ-Actions/Modificate-Recordsdata” si basa su come una dipendenza tramite “TJ-Actions/EsLint-Modified-Recordsdata”, è stato anche compromesso nel vantaggio fino all’incidente di TJ con un carico a pagamento. IL violazione di “reviewdog/azione-setup” viene monitorato come CVE-2025-30154 (Punteggio CVSS: 8.6).
Si cube che lo sfruttamento di CVE-2025-30154 abbia abilitato l’attore non identificato per ottenere un token di accesso personale (PAT) associato a “TJ-Actions/Modifica-Recordsdata”, permettendo loro di modificare il repository e spingere il codice dannoso, a sua volta a turno che colpisce ogni singolo repository GitHub che dipendeva dall’azione.
“Quando è stata eseguita l’azione TJ-Actions/ESLint-Modified-Recordsdata, i segreti TJ-Actions/modificati di Recordsdata CI del Runner sono stati trapelati, consentendo agli aggressori di rubare le credenziali utilizzate nel corridore, incluso un token di accesso personale (pat) appartenente al TJ-BOT-Actions Person Account GitHub”, i ricercatori dell’Unità 42 OMER GIL, Aviad HAAMI, ASI Greenhol, appartenenti a TJ-BOT-Actions Person Actions Person ” disse.
Attualmente è sospettato che l’attaccante sia riuscito a ottenere in qualche modo l’accesso a un token con accesso a scrittura all’organizzazione ReviewDog al positive di apportare le alterazioni canaglia. Detto questo, il modo in cui questo token potrebbe essere stato acquisito rimane sconosciuto in questa fase.
Inoltre, si cube che il malizioso si impegna a “ReviewDog/Motion-Setup”. Richiesta di pull fork al repository originale e alla positive introducendo commit arbitrari, uno state of affairs chiamato un commit penzolante.
“L’attaccante ha adottato misure significative per nascondere le loro tracce utilizzando varie tecniche, come sfruttare i commit pendenti, creare più account utente GitHub temporanei e offuscare le loro attività nei registri del flusso di lavoro (specialmente nell’attacco iniziale di Coinbase)”, ha detto Gil, senior Analysis Supervisor di Palo Alto Networks, ha detto la notizia di Hacker. “Questi risultati indicano che l’attaccante è altamente qualificato e ha una profonda comprensione delle minacce di sicurezza CI/CD e delle tattiche di attacco.”
L’unità 42 ha teorizzato che l’account utente dietro la richiesta di pull fork “ILRMKCU86TJWP8” potrebbe essere stato nascosto alla vista pubblica dopo che l’attaccante è passato da un indirizzo e -mail legittimo fornito durante la registrazione a un’e -mail usa e getta (o anonima) in violazione della politica di Github.
Ciò avrebbe potuto causare nascosto tutte le interazioni e le azioni eseguite dall’utente. Tuttavia, quando ha raggiunto un commento, GitHub non ha confermato o negato l’ipotesi, ma ha detto che sta rivedendo attivamente la situazione e agire se necessario.
“Al momento non ci sono show che suggeriscano un compromesso di GitHub o dei suoi sistemi. I progetti evidenziati sono progetti open supply mantenuti dall’utente”, ha detto a Hacker Information un portavoce di GitHub.
“GitHub continua a rivedere e agire sui rapporti degli utenti relativi ai contenuti del repository, inclusi malware e altri attacchi dannosi, in conformità con Le politiche di uso accettabile di GitHub. Gli utenti dovrebbero sempre rivedere le azioni GitHub o qualsiasi altro pacchetto che stanno utilizzando nel loro codice prima di aggiornare le nuove versioni. Ciò rimane vero qui are available in tutti gli altri casi di utilizzo del codice di terze parti “.
Una ricerca più profonda delle forcelle GitHub di TJ-Actions/Modifica-Recordsdata ha portato alla scoperta di altri due account “2ft2dko28uaztz” e “mmvojwip”, entrambi da allora sono stati eliminati dalla piattaforma. Sono stati anche trovati entrambi i conti per creare forcelle di repository correlati a Coinbase come Onchainkit, Agentkit e X402.
Ulteriore esame ha scoperto Che gli account hanno modificato il file “Changelog.yml” nel repository AgentKit utilizzando una richiesta di pull fork per indicare una versione dannosa di “TJ-Actions/Modifica-Recordsdata” pubblicata in precedenza utilizzando la pat.
Si ritiene che l’attaccante abbia ottenuto un token GitHub con autorizzazioni di scrittura al repository AgentKit-a sua volta facilitato dall’esecuzione delle azioni TJ-Actions/Modificate-Recordsdata-in modo da apportare le modifiche non autorizzate.
Un altro aspetto importante che vale la pena evidenziare è la differenza nei payload utilizzati in entrambi i casi, indicando tentativi da parte dell’attaccante di rimanere sotto il radar.
“L’attaccante ha utilizzato diversi carichi utili in various fasi dell’attacco. Advert esempio, nell’attacco diffuso, l’attaccante ha scaricato la memoria del corridore e i segreti stampati memorizzati come variabili di ambiente al registro del flusso di lavoro, indipendentemente dal flusso di lavoro in esecuzione”, ha detto Gil.
“Tuttavia, quando si prendono di mira a Coinbase, l’attaccante ha recuperato in modo specifico il github_token e ha assicurato che il carico utile avrebbe eseguito solo se il repository appartenesse a Coinbase.”
Al momento non è noto quale fosse l’obiettivo finale della campagna, è “fortemente” sospettato che l’intento fosse il guadagno finanziario, probabilmente tentando di condurre un furto di criptovaluta, dato il focusing on iper-specifico di Coinbase, ha sottolineato Gil. A partire dal 19 marzo 2025, lo scambio di criptovaluta ha rimediato l’attacco.
Inoltre, non è chiaro cosa abbia spinto l’attaccante a cambiare marcia, trasformando quello che period un attacco inizialmente mirato si è trasformato in una campagna su larga scala e meno furtiva.
“Un’ipotesi è che dopo aver realizzato che non potevano sfruttare il loro token per avvelenare il repository di Coinbase-e dopo aver appreso che Coinbase aveva rilevato e mitigato l’attacco-l’attaccante temeva di perdere l’accesso alle azioni TJ-Actions/Modified-Recordsdata”, ha detto Gil.
“Poiché compromettere questa azione potrebbe fornire l’accesso a molti altri progetti, potrebbero aver deciso di agire rapidamente. Ciò potrebbe spiegare perché hanno lanciato l’attacco diffuso solo 20 minuti dopo che Coinbase ha mitigato l’esposizione alla positive nonostante l’aumento del rischio di rilevamento.”