Tecnico26 ottobre 202611 min di lettura

Standard di controllo degli agenti: verificate il contratto sull’host

OWASP Agent Control Standard 0.1.4 e l’Agent Control Specification di Microsoft AGT a confronto su versione, approvazione, errori e prove di traccia.

Antonella Serine

Antonella Serine

Fondatrice, KLA

Fondatrice di KLA, dove sviluppa il piano di controllo indipendente per la governance a runtime degli agenti IA regolamentati dall'EU AI Act.

Due progetti ACS

L’Agent Control Standard di OWASP e l’Agent Control Specification usata dall’Agent Governance Toolkit (AGT) di Microsoft.

Fissate la versione

La release OWASP 0.1.4 usa ancora il spazio dei nomi del protocollo e dello schema 0.1.0, quindi la sola versione dell’handshake lascia il contratto poco chiaro.

Cosa abbiamo eseguito

Sono stati superati 94 test su 94 in due suite di riferimento OWASP per l’adattatore host. Due file dipendenti dal runtime non si sono caricati sul nostro host.

La risorsa

Un confronto versionato su identità, decisioni, approvazione, modifiche dell’input, errori, scadenza, integrità e prove di traccia.

Due progetti di governance degli agenti usano la sigla ACS: l’Agent Control Standard di OWASP e l’Agent Control Specification usata dall’Agent Governance Toolkit (AGT) di Microsoft. Una revisione di integrazione dovrebbe partire dalle loro versioni esatte, dall’host che applica le decisioni e dalle prove che registrano ciò che è accaduto.

I nomi lasciano aperte domande concrete. Un’approvazione deve arrivare a un host in grado di gestirne la richiesta e l’esito. Un input trasformato di uno strumento deve essere applicato all’azione effettivamente eseguita. Un’interruzione del servizio decisionale richiede un esito definito. Questi dettagli determinano che cosa un’integrazione può affermare. Questo articolo fissa entrambi i contratti al 26 ottobre 2026, riporta un’esecuzione dei test di riferimento OWASP per l’adattatore host e rimanda a un confronto versionato. Questo articolo fa parte di una serie di ricerca in tre parti sull’autorità degli agenti, pubblicata il 26 ottobre 2026: prove di arresto, policy nella memoria degli agenti e standard di controllo degli agenti.

Fissate i contratti effettivi

Al 26 ottobre 2026, l’albero pubblicato da OWASP identifica la release 0.1.4, datata 16 ottobre. Il suo spazio dei nomi del protocollo e dello schema identifica ancora la 0.1.0. Il changelog registra requisiti di Trace modificati sotto quel namespace e chiede che le dichiarazioni di conformità indichino la release o il commit. La sola versione dell’handshake lascia quindi non specificata una parte del contratto. Cronologia delle release al commit fissato.

La documentazione attuale di Microsoft riflette una struttura cambiata. AGT usa un runtime upstream di decisione delle policy e un contratto di intercettazione separato, Agent Hooks. L’host fornisce uno snapshot completo, riceve la decisione del runtime ed è responsabile dell’applicazione. Guida ACS attuale di AGT.

Il bridge di riferimento OWASP fissa una revisione precedente di AGT e il Node SDK 0.3.1-beta.0, quindi la sua mappatura va letta rispetto a quella generazione. L’attuale guida di AGT descrive tre decisioni normalizzate, allow, deny e transform, con avvisi e informazioni di approvazione trasportati accanto a esse. Un bridge che ha dimostrato di funzionare con il contratto precedente richiede nuove prove di compatibilità prima di poter valere per quello attuale. Dipendenza fissata del bridge.

Identificatori di versione da registrare in una revisione di integrazione (26 ottobre 2026)
ElementoOWASP Agent Control StandardAGT / Agent Control Specification
Release0.1.4 (16 ottobre 2026)Dipendenza del motore 0.4.0-alpha.4
Protocollo di comunicazione o manifestSpazio dei nomi del protocollo, della specifica e dello schema 0.1.0Manifest esistente 0.4.0-alpha.1; contratto opt-in 0.5.0-alpha.1
Bridge di riferimentoFissa un commit precedente di AGT e il Node SDK 0.3.1-beta.0Non applicabile

Seguite approvazione ed errori attraverso l’host

OWASP definisce i tipi di decisione e i comportamenti che dipendono dalle capacità, tra cui approvazione, rinvio e modifica. I requisiti Core obbligatori convivono con profili facoltativi. La specifica separa l’errore di consegna della decisione dagli altri esiti e definisce un comportamento negoziato in caso di errore. Contratto di conformità al commit fissato.

Nell’attuale contratto AGT, un rifiuto può includere informazioni che l’host usa per gestire una richiesta di approvazione, e una trasformazione richiede che l’host la convalidi e la applichi. La decisione del runtime è un passaggio di quel flusso. Agent Hooks dichiara il proprio confine di fiducia: l’host è considerato affidabile, i controlli girano nello stesso processo e i suoi otto punti di intercettazione non promettono una mediazione completa. Agent Hooks.

Un registro di integrazione dovrebbe collegare l’azione proposta alla decisione, all’eventuale approvazione umana, all’input infine inviato e al risultato. Se l’input cambia dopo l’approvazione, il registro deve mostrare come l’applicazione decide se l’approvazione vale ancora. Se un host non è in grado di presentare un controllo richiesto, il suo fallback documentato entra nella valutazione.

Vocabolario delle decisioni a confronto (analisi delle fonti)
AspettoOWASP 0.1.4AGT attuale
DecisioniALLOW, DENY, ASK e DEFER devono essere supportate; MODIFY dovrebbe esserlo, con una gestione definita per i client che non possono applicarlaallow, deny, transform; warn diventa allow con avvisi; escalate diventa un rifiuto (deny) che può essere rimosso, corredato di informazioni di approvazione
Approvazione umanaI dettagli di ASK, il timeout e la capacità dell’approvatore hanno un comportamento definitoL’host è responsabile della gestione delle richieste di approvazione e dei relativi esiti
Errore di consegnaon_decision_failure negoziato; per impostazione predefinita si procede con audit obbligatorioGli errori del runtime producono deny; il comportamento in esercizio dipende dall’host
CoperturaCore più profili facoltativi autodichiaratiOtto punti di intercettazione; host considerato affidabile; nessuna promessa di mediazione completa

Cosa abbiamo eseguito

Abbiamo estratto l’implementazione di riferimento OWASP al commit 4cf23d4 ed eseguito senza modifiche le sue suite di convalida delle decisioni e di comportamento in caso di errore con Bun 1.3.14. Tutti i 94 test di quei due file sono stati superati (236 asserzioni). Coprono modifiche malformate, decisioni scadute, errori di consegna, rifiuti espliciti e mancata registrazione di un evento di audit.

I test fanno distinzioni utili. Una richiesta di approvazione scaduta può essere trattata diversamente da un servizio decisionale che non ha mai risposto. Un rifiuto esplicito è diverso da un errore di trasporto. Una configurazione che consente all’azione di procedere deve comunque soddisfare il proprio requisito di audit. Un’unica etichetta come «fail closed» non può descrivere tutti questi percorsi senza le relative condizioni.

Due file di test dipendenti dal runtime non sono riusciti a caricare la loro dipendenza nativa, che richiede glibc 2.39; il nostro host ha la 2.35. Abbiamo conservato il tentativo fallito accanto all’esecuzione riuscita. Da quei file non abbiamo ottenuto risultati live del motore di policy, e i 94 test superati non stabiliscono la piena conformità né l’interoperabilità.

I maintainer dell’implementazione di riferimento dichiarano anche lacune nella copertura degli hook, nella firma, nell’autenticazione e nella protezione dal replay. Queste lacune fanno parte dell’ambito documentato dell’implementazione, e qualsiasi riferimento che la usi come esempio dovrebbe mantenerle visibili. Ambito dell’implementazione di riferimento.

Registrate l’esito che le prove sostengono

Le modifiche a Trace in OWASP 0.1.4 aggiungono una regola utile: correlare gli identificatori di richiesta e di sessione e verificare se esiste un evento di errore della decisione corrispondente prima di considerare applicata una decisione. Questo separa ciò che il servizio di policy ha deciso da ciò che l’host ha completato.

Il confronto di ottobre (in inglese) separa i requisiti delle fonti, le osservazioni a livello di helper e gli scenari che non abbiamo eseguito. Usate questi scenari per un piano di test di integrazione:

Scenari di integrazione e stato di ciascuno in questa revisione
ScenarioOsservazione necessariaQuesta revisione
Chiamata a uno strumento negataL’host impedisce l’invioComportamento dell’helper e sorgente esaminati; percorso nativo live non eseguito
Approvazione seguita da input modificatoL’approvazione è vincolata all’azione effettivamente inviataNon eseguito
Servizio decisionale non disponibilePostura scelta, azione risultante, evento di auditTest degli helper host superati; percorso live non eseguito
Decisione scadutaLimite temporale ed esito di fallbackTest degli helper host superati
Richiesta ripetuta (replay)Rilevamento dei duplicati ed esito registratoProtezione mancante dichiarata upstream; nessuna verifica live
Trasformazione non applicabileFallback sicuro e proveTest degli helper host superati
Decisione registrata, l’host non la applicaProve della decisione e dell’errore collegateContratto di Trace esaminato; scenario non eseguito

Come KLA gestisce le stesse domande

KLA non è un’implementazione di nessuno dei due progetti ACS. A titolo di confronto: il KLA Policy Engine restituisce uno di quattro esiti, allow, warn, require_approval o block, per ogni azione governata. Quando la valutazione fallisce restituisce la sua decisione fail-closed, require_approval per impostazione predefinita, e il lint dei policy pack rifiuta una policy la cui decisione predefinita è fail-open. Sul percorso degli strumenti governati, una richiesta di approvazione per una chiamata a uno strumento registra un hash SHA-256 degli argomenti per cui è stata emessa, il che risponde allo scenario «approvazione seguita da input modificato» descritto sopra.

I test di questo articolo sono stati eseguiti solo sull’implementazione di riferimento OWASP e non contengono alcun risultato di KLA. La guida ai controlli agentici OWASP mette in relazione i controlli di runtime con le prove in modo più dettagliato.

Domande frequenti

Qual è la differenza tra OWASP ACS e l’Agent Control Specification di Microsoft?

Condividono la sigla e differiscono nel contratto. L’Agent Control Standard di OWASP (release 0.1.4, spazio dei nomi del protocollo di comunicazione 0.1.0) definisce ALLOW, DENY, ASK, DEFER e MODIFY con un comportamento negoziato in caso di errore. L’Agent Control Specification usata da Microsoft AGT normalizza le decisioni in allow, deny e transform e lascia la gestione delle approvazioni e l’applicazione delle decisioni a un host considerato affidabile.

Quale versione dovrebbe indicare una dichiarazione di conformità per il controllo degli agenti?

La release o il commit. OWASP 0.1.4 ha modificato i requisiti di Trace senza cambiare il spazio dei nomi del protocollo di comunicazione 0.1.0, e il suo changelog chiede che le dichiarazioni di conformità indichino la release o il commit. Per AGT, registrate separatamente le versioni del motore, del manifest e del contratto.

L’implementazione di riferimento OWASP supera i suoi test?

Il 26 ottobre 2026, al commit 4cf23d4, le due suite per l’adattatore host che abbiamo eseguito hanno superato 94 test su 94. Due file dipendenti dal runtime non hanno potuto caricare la loro dipendenza nativa su un host con glibc 2.35. Questi risultati coprono solo il comportamento degli helper e non stabiliscono la conformità.

Che cosa significa «fail closed» per un controllo degli agenti?

Dipende dall’errore. Un’approvazione scaduta, una richiesta di decisione senza risposta, un rifiuto esplicito e un errore di trasporto possono richiedere ciascuno un comportamento diverso. Per ciascuno indicate la classe di errore, l’azione risultante e l’evento di audit.

Punti chiave

I nomi dei progetti non stabiliscono l’interoperabilità. Fissate le versioni della release e del protocollo di comunicazione, seguite approvazione e trasformazione attraverso l’host, testate ogni classe di errore e controllate la traccia prima di dichiarare l’applicazione. Il confronto di ottobre offre un punto di partenza datato; aggiornatelo quando uno dei due progetti cambia.

Le versioni sono state fissate il 26 ottobre 2026. La nostra esecuzione ha coperto 94 test degli helper host; non è stato eseguito alcuno scenario live di host, approvazione o traccia.

Guardalo in azione

Pronti ad automatizzare la raccolta delle evidenze di compliance?

Prenotate una demo di 20 minuti per scoprire come KLA vi aiuta a dimostrare la supervisione umana e ad esportare documentazione Annex IV pronta per l'audit.

Standard di controllo degli agenti: verificate il contratto sull’host | KLA Blog