Dogwood si basa sulla logica temporale e sulla Metric First-Order Temporal Logic (MFOTL), un ramo della matematica formale che permette di ragionare su eventi e sulle loro relazioni nel tempo . MFOTL estende la logica temporale proposizionale con la quantificazione del primo ordine e vincoli metrici (es. 'negli ultimi 5 minuti'), consentendo il monitoraggio in tempo reale di sequenze di eventi .
In Dogwood, la decisione di una policy dipende dalla cronologia delle azioni di un agente all'interno di una sessione, non dalla singola richiesta corrente . Il motore delle policy mantiene un registro delle chiamate precedenti e delle relative risposte, quindi valuta la richiesta corrente sulla base di questa cronologia prima di permettere o negare la chiamata .
Dogwood estende il linguaggio di policy Cedar (il linguaggio di autorizzazione di AWS del 2023) aggiungendo un blocco temporal con condizioni che tengono traccia della sessione . I principali operatori temporali includono:
| Operatore | Scopo |
|---|---|
formerly | Verifica se una condizione era vera in un punto precedente della sessione |
count_within | Conta quante volte una condizione si è verificata in una finestra di tempo specificata |
count_distinct_within | Conta i valori distinti di un campo apparsi in una finestra di tempo |
sum_within | Somma un campo numerico su eventi in una finestra di tempo |
since | Verifica una condizione in relazione all'ultima occorrenza di un evento |
once | Verifica se una condizione si è mai verificata |
Questi operatori permettono di definire regole come 'vieta un'azione di pagamento a meno che non sia avvenuta un'azione di fatturazione formerly' o 'vieta se sum_within(amount, 1h) supera una soglia' . Una policy temporale è scritta come una normale regola Cedar permit o forbid, ma con le condizioni inserite all'interno di un blocco temporal { ... } .
Le policy temporali sono applicate a livello del Gateway AgentCore, al di fuori del codice dell'agente . Il gateway intercetta ogni chiamata a uno strumento in tempo reale prima che raggiunga lo strumento di destinazione, valuta la policy sulla base della cronologia completa degli eventi della sessione e poi permette o nega la chiamata .
Poiché la decisione di autorizzazione avviene al perimetro — in un'infrastruttura che l'agente non può modificare — non può essere aggirata tramite manipolazione del prompt, jailbreak o qualsiasi altro codice controllato dall'agente . AWS dichiara esplicitamente che le policy vengono eseguite al 'perimetro del Gateway AgentCore, al di fuori del codice dell'agente', rendendole resistenti al fatto che l'agente possa riscrivere le proprie istruzioni . Il motore delle policy supporta due modalità: LOG_ONLY (solo audit, senza bloccare) e ENFORCE (blocco attivo) .
Dogwood è stato integrato in Amazon Bedrock AgentCore sotto forma di policy temporali, annunciate insieme al rate limiting sul gateway il 6 agosto 2026 .
Funzionalità attualmente disponibili in Bedrock AgentCore:
sum_within .Il linguaggio Dogwood e la sua implementazione di riferimento sono disponibili su GitHub con licenza Apache 2.0, separatamente dal servizio gestito Bedrock AgentCore .