1. La minaccia denial of wallet AI
Un incidente di denial-of-wallet di solito riconduce a una di tre forme:Loop incontrollato dell'agent
Loop incontrollato dell'agent
Un agent ritenta lo stesso tool che fallisce o ri-pianifica in un loop
stretto, ripagando i token a ogni passaggio. Nessuna malizia richiesta — basta
una cattiva condizione di stop.
Fan-out iniettato
Fan-out iniettato
Una prompt injection pilota l’agent
nel fare spam di un tool o nell’emettere richieste sovradimensionate,
moltiplicando la spesa per turno.
Chiave trapelata o con scope eccessivo
Chiave trapelata o con scope eccessivo
Una chiave finisce dove non dovrebbe — un
.env committato, un notebook
condiviso — e un attaccante esegue inferenza sul tuo account finché la spesa
non viene notata.2. Tetto di costo per run con cap_cost
Il verdetto cap_cost del Firewall è un interruttore di sicurezza per i loop
incontrollati. Lo scrivi come una regola con un tetto in centesimi per run; il
motore somma la spesa accumulata della run dell’agent e, una volta che la run
supera il tetto, risolve il verdetto a deny — ogni chiamata a tool successiva
in quella run viene bloccata.
cap_cost è un tetto pre-dispatch: valuta prima che la chiamata raggiunga il
tool, così ferma la prossima chiamata costosa anziché rimborsarne una già fatta.
Un tipico tetto catch-all su ogni tool:
firewall_blocked — marcato skip-retry, così il loop non può martellare
attorno al deny. Il tetto è per run dell’agent e sommato sull’intera policy
del tuo workspace, così una conversazione incontrollata non può sconfinare nel
budget di un’altra.
Vedi il riferimento delle regole del Firewall per
il linguaggio di matching completo e dove si colloca cap_cost tra gli altri
verdetti.
3. Budget netto per chiave con credit_limit_usd
cap_cost limita una singola run. Per limitare una chiave — ogni run che
emetterà mai — imposta credit_limit_usd sulla chiave API. È un tetto netto in
USD sulla spesa a vita di quella chiave: il gateway lo converte nella quota
rimanente della chiave, e una volta che la chiave ha speso la sua allowance,
ulteriori chiamate di relay vengono rifiutate per credito insufficiente. 0
significa illimitato.
Abbinalo agli altri scope della chiave così una chiave trapelata è limitata su
ogni asse in una volta:
credit_limit_usd
Tetto netto di spesa in USD per la chiave (
0 = illimitato).expired_time
Timestamp di auto-scadenza (
-1 = mai). Una chiave di breve durata limita la
finestra del raggio d’azione.allow_ips
Fissa la chiave a IP sorgente noti — una chiave trapelata è inutile fuori
rete.
model_limits
Limita la chiave a modelli specifici, così non può raggiungere affatto quelli
più costosi.
credit_limit_usd che
non dovrebbe mai legittimamente superare. Il limite è il budget, non
un’ipotesi sul comportamento dell’attaccante — anche una chiave completamente
compromessa si ferma al tetto.
Configura tutto questo dall’editor di chiavi della console (o dalla token API)
sotto la tua sessione — queste sono impostazioni di chiave, non chiamate di
relay. Solo le richieste di inferenza
/v1/* usano la chiave sk-orca-...
stessa. Modificare il limite ha effetto alla richiesta successiva della chiave;
nessun redeploy.4. Cattura il picco che non avevi previsto: anomalie di costo
Un tetto statico ferma la spesa che anticipavi. L’anomaly detection del Firewall cattura la spesa che non anticipavi. Apprende la forma normale dell’uso dei tool di ciascun workspace rispetto a una baseline ora-della-settimana (una media mobile a 14 giorni) e fa emergere le deviazioni su un feed leggibile dai Member:| Anomalia | Cosa segnala |
|---|---|
burn_spike | Costo di un tool molto sopra il suo costo di baseline appreso — il segnale di denial-of-wallet. |
rate_spike | Volume di chiamate molto sopra la baseline — fan-out e flood. |
retry_loop | Lo stesso tool con gli stessi argomenti che si ripete in una finestra stretta — il classico loop incontrollato. |
5. Mettere tutto insieme
Stratifica i tre così un incontrollato non raggiunge mai il conto:| Controllo | Scope | Quando scatta |
|---|---|---|
regola cap_cost | Una run dell’agent | La spesa accumulata della run supera il tetto in centesimi |
credit_limit_usd | Una chiave, a vita | La spesa totale della chiave raggiunge il suo tetto in USD |
burn_spike / retry_loop | Workspace, appreso | La spesa o il pattern di ripetizione devia dalla baseline |
cap_cost per run su *, un credit_limit_usd su ogni
chiave dell’agent e l’abitudine di controllare il feed delle anomalie. Fai il
rollout di una nuova policy cap_cost in shadow mode
prima — logga [shadow] would deny senza bloccare — così puoi dimensionare il
tetto contro traffico reale prima che morda.
6. Minacce correlate
Il denial of wallet arriva raramente da solo — il loop che brucia il tuo budget è spesso guidato da qualcosa a monte:- Prompt injection — le istruzioni iniettate sono un trigger comune per il fan-out e lo spam di tool.
- Agenzia eccessiva — un agent con troppa latitudine ha più modi per spendere.
- Chiamate a tool pericolose — lo stesso piano di regole del firewall limita cosa un tool può fare, non solo quanto costa.
- Il threat model — dove il costo incontrollato si colloca nella superficie di attacco agentica completa.
Panoramica del Firewall
Verdetti, anomaly detection, livelli di autonomia e osservabilità.
Chiavi e policy con scope
Come limiti di chiave, guardrail e policy del firewall si compongono per
chiave.
