Gli Agentic Workflows di GitHub, di recente rilascio, possono essere ingannati per pubblicare file di repository privati, come dimostrato dai ricercatori di Noma Labs, evidenziando come un singolo commento pubblico in un'issue possa trasformare un assistente AI interno in un condotto per la fuga di dati.
La falla è rilevante perché aggira i controlli di sicurezza integrati di GitHub senza richiedere alcun codice di exploit speciale; un attaccante deve solo creare un'issue apparentemente innocua che l'agente AI leggerà ed eseguirà.
Come funziona la vulnerabilità
Gli Agentic Workflows consentono a un agente AI di rispondere agli eventi di GitHub — come nuove issue — eseguendo comandi definiti in un file di workflow. Noma Labs ha scoperto che l'agente non distingue tra istruzioni di workflow legittime e testo incorporato in un commento inviato da un utente. Pubblicando un'issue pubblica che imita la richiesta di un manager e aggiungendo una direttiva nascosta, un attaccante può indirizzare l'agente a:
- Aprire l'issue (visibile pubblicamente).
- Includere una riga che sembra ordinaria ma contiene un comando occulto.
- Innescare l'AI per recuperare file da un repository privato che il workflow è autorizzato a leggere.
- Far pubblicare all'agente il contenuto recuperato come risposta alla stessa issue.
I ricercatori hanno scoperto che inserire la singola parola “Additionally,” prima del comando nascosto è stato sufficiente per aggirare i guardrail di GitHub. Non sono necessarie autorizzazioni extra, token o codice personalizzato: basta la formulazione corretta.
Perché questo è più di un semplice bug
Il problema è strutturale. L'agente AI tratta come attendibile qualsiasi testo ricevuto da un evento di repository, rendendo di fatto il contenuto generato dagli utenti un vettore di input simile a una SQL injection in un'applicazione web. Se un workflow concede all'agente l'accesso in lettura ai repository privati e la possibilità di commentare pubblicamente, la combinazione crea un percorso diretto per l'esfiltrazione dei dati.
Cosa dice GitHub
GitHub è stato informato di questa falla.
Passaggi di mitigazione per i team
- Limitare i permessi dell'agente: Concedere l'accesso in lettura/scrittura ai repository privati solo quando assolutamente necessario.
- Bloccare la pubblicazione pubblica: Configurare i workflow in modo che gli agenti non possano pubblicare commenti o altri artefatti in issue pubbliche.
- Trattare tutti gli input esterni come non attendibili: Aggiungere livelli di validazione che sanificano o ignorano il testo generato dagli utenti prima che raggiunga l'AI.
- Audit dei trigger del workflow: Revisionare quali eventi (issue, pull request, ecc.) invocano gli agenti e verificare che i permessi associati corrispondano al caso d'uso previsto.
Conclusione: Un assistente AI che può leggere codice privato e pubblicare contenuti pubblicamente è sicuro solo quanto i confini che gli vengono imposti. Senza limiti di permessi rigorosi e una sanificazione degli input, un singolo commento pubblico può trasformare una funzione di produttività in un vettore di fuga dei dati.
