GITHUB_TOKEN (un segreto con ambito repository) e, in un secondo percorso, ottenere l'esecuzione di codice in remoto sul runner di GitHub Actions . Ciò poteva consentire a un attaccante di modificare i commenti delle pull request, approvare modifiche dannose o alterare la pipeline CI del repository .Il repository adk-python eseguiva due livelli di agenti AI nella sua pipeline CI/CD :
| Livello | Agente | Privilegio | Attivato da |
|---|---|---|---|
| Basso | Agente di triage (pubblico) | Sola lettura; può solo commentare issue/PR | Qualsiasi issue o pull request pubblica di GitHub |
| Alto | Agente di correzione del codice (solo manutentori) | Accesso in scrittura al repository; può modificare codice, approvare PR, accedere ai segreti | Comando /adk-issue-fix pubblicato da un Collaboratore del repository |
Catena di attacco passo dopo passo :
/adk-issue-fix")./adk-issue-fix nel thread della issue.GITHUB_TOKEN) e può modificare il codice o approvare le pull request .Il difetto architetturale centrale era l'assenza di un confine di privilegio tra agenti: l'agente di livello superiore si fidava del comando perché proveniva da un account Collaboratore, senza mai verificare se l'istruzione avesse avuto origine da un umano fidato o da un agente a bassi privilegi compromesso .
adk-python coinvolti nella catena agente-agente: issue-analyze.yml, issue-fix.yml e pr-analyze.yml .Ricercatori e analisti di tutto il settore hanno tratto diverse conclusioni importanti da questa divulgazione:
La fiducia tra agenti è una nuova superficie di attacco. Il modello di sicurezza tradizionale presuppone confini di fiducia tra umani e software; questo caso dimostra che gli agenti AI possono essere utilizzati per attaccare altri agenti AI, con l'attacco che attraversa i confini di privilegio in modo invisibile . La Cloud Security Alliance (CSA) osserva che si tratta di un "difetto di passaggio di fiducia" — gli agenti si fidano implicitamente degli input provenienti da altri agenti senza verificare l'origine effettiva di tali istruzioni .
Il prompt injection è la nuova classe di iniezione. Proprio come l'SQL injection e il command injection hanno definito gli anni 2000 e 2010, il cross-agent prompt injection — in cui l'output di un agente diventa l'input fidato di un altro agente — è ora un vettore di attacco provato e praticabile in produzione che le architetture di sicurezza devono considerare .
L'identità e l'autorizzazione degli agenti sono problemi irrisolti. Attualmente non esiste un modo standardizzato per un agente AI di verificare l'identità reale o il livello di privilegio di un altro agente prima di agire in base alle sue istruzioni. L'attacco è riuscito perché il sistema si fidava dell'identità dell'account (Collaboratore) piuttosto che dell'origine dell'istruzione (attaccante pubblico) . I ricercatori della CSA chiedono "framework di autorizzazione inter-agente" come primitiva di sicurezza fondamentale .
Le pipeline CI/CD che utilizzano agenti AI richiedono la separazione dei privilegi. Gli architetti della sicurezza chiedono ora: (a) agenti di sola lettura che non possano emettere comandi operativi, (b) verifica crittografica delle richieste agente-agente, (c) gate con intervento umano per qualsiasi comando che aumenti i privilegi e (d) vincolare gli output degli agenti per evitare che emettano comandi di attivazione che i sistemi downstream eseguiranno ciecamente .
Questo è un canarino per il più ampio ecosistema agentico. The Register, CSO, CSA e molti analisti definiscono questo attacco come "il primo nel suo genere" che sarà quasi certamente replicato in altri framework multi-agente (ad es. LangChain, AutoGen, CrewAI, Microsoft Copilot Studio) a meno che il settore non costruisca la sicurezza a partire dall'architettura .