1. La menace denial of wallet ia
Un incident de denial-of-wallet se ramène généralement à l’une de trois formes :Boucle d'agent emballée
Boucle d'agent emballée
Un agent réessaie le même outil défaillant ou re-planifie dans une boucle
serrée, repayant des tokens à chaque passe. Aucune malveillance requise —
une mauvaise condition d’arrêt suffit.
Éclatement injecté
Éclatement injecté
Une injection de prompt oriente
l’agent vers le spam d’un outil ou l’émission de requêtes surdimensionnées,
multipliant la dépense par tour.
Clé fuitée ou sur-scopée
Clé fuitée ou sur-scopée
Une clé finit là où elle ne devrait pas — un
.env commité, un notebook
partagé — et un attaquant exécute de l’inférence sur votre compte jusqu’à
ce que la dépense soit remarquée.2. Plafond de coût par exécution avec cap_cost
Le verdict cap_cost du Firewall est un disjoncteur pour les boucles
emballées. Vous le rédigez comme une règle avec un plafond en centimes par
exécution ; le moteur additionne la dépense accumulée de l’exécution de
l’agent et, une fois que l’exécution franchit le plafond, résout le verdict en
deny — chaque appel d’outil ultérieur dans cette exécution est bloqué.
cap_cost est un plafond pré-dispatch : il évalue avant que l’appel
n’atteigne l’outil, donc il stoppe le prochain appel coûteux plutôt que d’en
rembourser un déjà effectué. Un plafond fourre-tout typique sur chaque outil :
firewall_blocked — marquée skip-retry, de sorte que la
boucle ne puisse pas marteler autour du refus. Le plafond est par exécution
d’agent et additionné à travers toute votre politique d’espace de travail, de
sorte qu’une conversation emballée ne puisse pas déborder sur le budget d’une
autre.
Voir la référence des règles de firewall pour
le langage de correspondance complet et où cap_cost se situe parmi les
autres verdicts.
3. Budget dur par clé avec credit_limit_usd
cap_cost borne une seule exécution. Pour borner une clé — chaque
exécution qu’elle émet jamais — réglez credit_limit_usd sur la clé API.
C’est un plafond USD dur sur la dépense à vie de cette clé : la passerelle le
convertit en quota restant de la clé, et une fois que la clé a dépensé son
allocation, les appels de relais ultérieurs sont rejetés pour crédit
insuffisant. 0 signifie illimité.
Associez-le aux autres scopes de la clé de sorte qu’une clé fuitée soit bornée
sur chaque axe à la fois :
credit_limit_usd
Plafond de dépense USD dur pour la clé (
0 = illimité).expired_time
Timestamp d’expiration automatique (
-1 = jamais). Une clé à courte durée
de vie borne la fenêtre du rayon de souffle.allow_ips
Épinglez la clé à des IP sources connues — une clé fuitée est inutile
hors-réseau.
model_limits
Restreignez la clé à des modèles spécifiques, de sorte qu’elle ne puisse
pas atteindre les plus chers du tout.
credit_limit_usd qu’il ne devrait jamais légitimement dépasser. La limite
est le budget, pas une supposition sur le comportement de l’attaquant — même
une clé entièrement compromise s’arrête au plafond.
Configurez tout ceci depuis l’éditeur de clé de la console (ou l’API token)
sous votre session — ce sont des réglages de clé, pas des appels de relais.
Seules les requêtes d’inférence
/v1/* utilisent la clé sk-orca-...
elle-même. Éditer la limite prend effet à la prochaine requête de la clé ;
aucun redéploiement.4. Attrapez le pic que vous n’aviez pas prévu : anomalies de coût
Un plafond statique stoppe la dépense que vous anticipiez. La détection d’anomalies du Firewall attrape la dépense que vous n’aviez pas anticipée. Elle apprend la forme normale d’utilisation des outils de chaque espace de travail contre une baseline heure-de-la-semaine (une moyenne glissante sur 14 jours) et fait surface les écarts sur un flux lisible par un Member :| Anomalie | Ce qu’elle signale |
|---|---|
burn_spike | Coût pour un outil bien au-dessus de son coût de baseline appris — le signal de denial-of-wallet. |
rate_spike | Volume d’appels bien au-dessus de la baseline — éclatements et inondations. |
retry_loop | Le même outil avec les mêmes arguments répété dans une fenêtre serrée — la boucle emballée classique. |
5. Mettre le tout ensemble
Superposez les trois de sorte qu’un emballement n’atteigne jamais la facture :| Contrôle | Portée | Quand il se déclenche |
|---|---|---|
Règle cap_cost | Une exécution d’agent | La dépense accumulée de l’exécution franchit le plafond en centimes |
credit_limit_usd | Une clé, à vie | La dépense totale de la clé atteint son plafond USD |
burn_spike / retry_loop | Espace de travail, appris | La dépense ou le motif de répétition dévie de la baseline |
cap_cost par exécution sur *, un
credit_limit_usd sur chaque clé d’agent, et l’habitude de vérifier le flux
d’anomalies. Déployez une nouvelle politique cap_cost en
mode shadow d’abord — elle
journalise [shadow] would deny sans bloquer — de sorte que vous puissiez
dimensionner le plafond contre du trafic réel avant qu’il ne morde.
6. Menaces liées
Le denial of wallet arrive rarement seul — la boucle qui brûle votre budget est souvent pilotée par quelque chose en amont :- Injection de prompt — les instructions injectées sont un déclencheur courant d’éclatement et de spam d’outils.
- Agence excessive — un agent avec trop de latitude a plus de façons de dépenser.
- Appels d’outils dangereux — le même plan de règles de firewall borne ce qu’un outil peut faire, pas seulement combien il coûte.
- Le modèle de menace — où le coût emballé s’inscrit dans la surface d’attaque agentique complète.
Vue d'ensemble du Firewall
Verdicts, détection d’anomalies, niveaux d’autonomie, et observabilité.
Clés et politiques scopées
Comment les limites de clé, les guardrails, et les politiques firewall se
composent par clé.
