I ricercatori descrivono un modello di GitHub Actions CI che sfugge ai comuni scanner di sicurezza

I ricercatori di sicurezza hanno individuato una vulnerabilità di GitHub Actions che può rimanere invisibile agli strumenti di sicurezza CI standard, perché il problema non risiede in un singolo file...

I ricercatori di sicurezza hanno individuato una vulnerabilità di GitHub Actions che può rimanere invisibile agli strumenti di sicurezza CI standard, perché il problema non risiede in un singolo file di workflow, ma nel modo in cui interagiscono più workflow.

Nel giugno 2026, Novee Security ha dichiarato di aver analizzato circa 30.000 repository di alto valore nei progetti npm, PyPI, crates.io e Go, individuando 654 casi potenzialmente interessati. Più di 300 sono stati confermati come sfruttabili. Il problema, denominato Cordyceps, interessava pipeline di build utilizzate da importanti organizzazioni, tra cui Microsoft, Google, Apache, Cloudflare e la Python Software Foundation.

Secondo i ricercatori, agli attaccanti bastava un account GitHub gratuito per iniziare a sfruttare questo modello. Il pericolo si manifestava quando i workflow progettati per pull request non attendibili venivano combinati con workflow dotati di privilegi più elevati, in grado di accedere ai segreti o di disporre di permessi di scrittura. GitHub Security Lab ha descritto percorsi di abuso simili come pwn request.

Come funziona l'attacco

Il report evidenzia tre percorsi comuni per compromettere i sistemi:

  • Command injection quando valori controllati dall'attaccante vengono inseriti direttamente nei comandi shell.
  • Code injection quando gli script del workflow valutano input non attendibili come JavaScript.
  • Escalation dei privilegi tra workflow quando i dati provenienti da un job a bassa affidabilità vengono utilizzati da un job successivo con privilegi elevati.

Poiché ogni singolo file di workflow può apparire valido preso autonomamente, gli scanner che analizzano un file alla volta potrebbero non segnalare il rischio. Il punto sottolineato da Novee è che la vulnerabilità emerge dalla connessione tra i workflow, non da una singola riga errata.

I ricercatori hanno citato esempi relativi al repository Azure Sentinel di Microsoft, dove un commento a una pull request poteva attivare l'esecuzione di codice nella CI ed esporre una chiave di GitHub App, e al progetto di esempio AI Agent Development Kit di Google, dove una catena simile poteva portare a un accesso esteso al cloud. È stato inoltre riferito che Apache Doris aveva avuto un problema correlato, successivamente risolto.

Novee ha dichiarato di non aver trovato prove dell'utilizzo della tecnica in attacchi attivi. Tuttavia, il report avverte che lo sviluppo assistito dall'IA potrebbe amplificare il problema generando su larga scala modelli di workflow non sicuri. Tra le difese consigliate figurano l'uso di pull_request invece di pull_request_target per i contributi non attendibili, la limitazione dei permessi predefiniti dei token, il blocco delle azioni di terze parti su commit SHA specifici e la richiesta di approvazione manuale prima dell'esecuzione dei job con privilegi elevati.