Implementazione Microsoft Agent Governance Toolkit con policy YAML e audit log

Implementazione del Microsoft Agent Governance Toolkit per il controllo sicuro degli agenti AI

Microsoft ha rilasciato l’Agent Governance Toolkit, un framework open-source che permette di applicare policy deterministiche agli agenti AI: nessuno strumento viene eseguito direttamente dall’agente, ogni azione passa prima attraverso un layer di governance che valuta identità, punteggio di fiducia, livello di rischio, strumento richiesto e regole definite in un file YAML.

Il tutorial ufficiale su GitHub fornisce un’implementazione pronta per Google Colab. Ecco come funziona.

Come funziona il layer di governance

Il principio è semplice: l’agente non esegue mai uno strumento in autonomia. Ogni richiesta viene intercettata da un GovernanceLayer che controlla:

  • l’identità dell’agente (ID, ruolo, propietario)
  • il punteggio di fiducia (trust score)
  • il livello di rischio (risk tier)
  • lo strumento richiesto e il tipo di azione
  • la sensibilità dei dati coinvolti
  • le regole definite nella policy

Il sistema può rispondere in quattro modi: allow (consentito), deny (negato), sandbox (eseguito in ambiente controllato), require_approval (approvazione umana necessaria).

Le policy in YAML

La configurazione delle policy è un file YAML con regole condizionali. Ecco alcune delle regole incluse nell’implementazione di esempio:

  • Blocco azioni distruttive sul database: drop_table, delete_table, truncate_table vengono negate con severità critica
  • Approvazione per email esterne: se il dominio del destinatario non è interno, serve l’ok del security team o del business owner
  • Sandbox per comandi shell: termini come rm -rf, curl http, chmod 777 vengono bloccati, tempo massimo di esecuzione 2 secondi
  • Negare dati sensibili ad agenti a bassa fiducia: trust score inferiore a 0.65 + sensibilità alta/critica → azione negata
  • Approvazione per transazioni finanziarie sopra 1000: serve il finance controller
  • Blocco azioni autonome per agenti ad alto rischio: agenti in tier ‘high’ non possono agire autonomamente in modo ripetuto

Audit log anti-manomissione

Ogni decisione di governance viene registrata in un TamperEvidentAuditLog. Ogni record contiene l’hash del record precedente e un HMAC-SHA256 generato con una chiave segreta. Se qualcuno modifica un record passato, la catena si rompe e la verifica fallisce.

Le eccezioni personalizzate (GovernanceDenied, ApprovalRequired, SandboxViolation) permettono di gestire ogni caso in modo chiaro nel codice.

Strumenti aggiuntivi: test, kill switch e visualizzazione

L’implementazione include anche:

  • Policy Tester: verifica che ogni regola si comporti come previsto (positivi, negativi, edge case)
  • Kill Switch: interruttore che blocca tutte le azioni di un agente specifico, utile per scenari di emergenza
  • Riassunto delle decisioni: report testuale e tabellare delle ultime azioni
  • Grafo delle relazioni: visualizzazione con networkx e matplotlib delle connessioni tra agenti, strumenti, regole e decisioni

Articoli simili