Zum Hauptinhalt springen
LernenLeitfädenAgenten-Ausgabensteuerungen
LEITFADEN

Richten Sie Ausgabensteuerungen für Agenten ein, die eine Eingabeaufforderungsinjektion überstehen.

8 Minuten
KURZE ANTWORT

Setzen Sie eine Ausgabenberechtigung im Dashboard - eine Zulage pro Zeitraum plus eine Obergrenze pro Transaktion - und das Backend setzt sie bei jeder Zahlung durch. Da sie im Backend lebt und die API nur lesbar ist, kann eine Eingabeaufforderungsinjektion, die den Planer des Agenten kapert, das Limit immer noch nicht erhöhen. Ihr Code liest die Berechtigung über die API, um sie anzuzeigen oder darum herum zu planen.

VORAUSSETZUNGEN

Bevor Sie beginnen.

  • Ein vorhandener Agent (siehe den add-payments-to-agent guide).
  • Dashboard-Zugriff für den Arbeitsbereich, der den Agenten besitzt - Berechtigungen werden dort festgelegt, nicht über die API.
  • Eine grobe Vorstellung von den erwarteten täglichen Ausgaben - die Zulage sollte 2-3x des normalen Verbrauchs betragen, nicht 100x, damit sie tatsächlich tragend ist.
  • Ein API-Schlüssel, um die Erlaubnis zu lesen (ein sk_test_-Schlüssel ist für diesen Leitfaden in Ordnung).
  • Vertrautheit mit dem Agentenausgabenrichtlinienkonzept - dieser Leitfaden ist sein operatives Gegenstück.
SCHRITT 1 VON 4

Setzen Sie die Berechtigung im Dashboard.

Öffnen Sie den Agenten im Blockchain0x-Dashboard und setzen Sie zwei Zahlen: ein Budget über einen Zeitraum (einen Tag, eine Woche oder 30 Tage) und eine Obergrenze pro Transaktion. Das Budget begrenzt den schlimmsten Fall über den gesamten Zeitraum; die Obergrenze pro Transaktion verhindert, dass eine einzelne anomalous Anfrage alles auf einmal ausgibt. Dies ist absichtlich eine Dashboard-Aktion - es ist die vom Menschen festgelegte Grenze, innerhalb derer der Agent arbeitet.

Amounts are USDC base units (6 decimals). An allowance_wei of "20000000" is 20 USDC; a per_tx_wei of "2000000" is 2 USDC. The period is a period_seconds value: 86400 for a day, 604800 for a week, 2592000 for 30 days.

SCHRITT 2 VON 4

Lesen Sie die Berechtigung über die API.

Ihr Code kann die aktuelle Berechtigung abrufen, um sie in einer UI anzuzeigen oder um dem Agenten zu ermöglichen, zu überprüfen, wie viel Spielraum bleibt, bevor er eine Zahlung versucht. Die Route ist schreibgeschützt - es gibt keinen Änderungsendpunkt, weshalb der Schlüssel des Agenten seine eigene Grenze nicht erweitern kann.

Lesen (curl)
curl https://api.blockchain0x.com/v1/agents/agt_123/spend-permissions \
  -H "Authorization: Bearer $BLOCKCHAIN0X_API_KEY"
Antwort
{
  "allowance_wei": "20000000",
  "per_tx_wei": "2000000",
  "period_seconds": 86400,
  "start_at": "2026-05-15T00:00:00Z",
  "end_at": null,
  "revoked_at": null
}
SCHRITT 3 VON 4

Binden Sie es zeitlich oder widerrufen Sie es.

Zwei Felder verwandeln die Berechtigung in eine zeitgebundene Kontrolle. start_at und end_at setzen das Zeitfenster, in dem es aktiv ist, sodass Sie ein Budget für einen geplanten Job vorab festlegen oder es von selbst ablaufen lassen können; außerhalb des Fensters autorisiert es nichts. revoked_at ist der Kill-Schalter: Widerrufen Sie es vom Dashboard und die Zulage sinkt auf null für jede danach bewertete Zahlung.

Für einen härteren Stopp widerrufen oder rotieren Sie den API-Schlüssel des Agenten mit apiKeys.revoke oder apiKeys.rotate - das schneidet die Berechtigung vollständig ab, nicht nur die Ausgaben. Der Widerruf der Berechtigung ist der chirurgische Schritt; der Widerruf des Schlüssels ist der Notaus-Schalter.

SCHRITT 4 VON 4

Verarbeiten Sie eine Zahlung, die das Limit erreicht.

Wenn eine Zahlung die aktive Berechtigung überschreiten würde, lehnt das Backend sie ab, bevor irgendetwas die Kette berührt - es bewegen sich keine Gelder. Ihr payments.create-Anruf gibt einen Fehler zurück; behandeln Sie es wie jeden anderen fehlgeschlagenen Anruf, zeigen Sie es Ihrem Betreiber an und versuchen Sie nicht blind in dieselbe Wand.

Um zu sehen, was ein Agent versucht hat, beobachten Sie das Aktivitätsprotokoll des Dashboards und versöhnen Sie die tatsächlichen Bewegungen mit transactions.get. Ein Anstieg abgelehnter Versuche ist Ihr Frühwarnsignal: entweder eine falsch konfigurierte Zulage, eine außer Kontrolle geratene Schleife oder eine Injektionsprobe. Alarmieren Sie es auf die gleiche Weise, wie Sie auf einen Anstieg fehlgeschlagener Anrufe reagieren würden.

HÄUFIGE FALLSTRICK

Fünf Fehler, die die Kontrolle untergraben.

Die Ausgabenobergrenze im Agentencode anstelle des Backends festlegen

Ausgabenregeln im Planer oder in der Systemaufforderung des Agenten sind keine Sicherheitsgrenzen. Ein Eingabeaufforderungsangriff, der den Planer überschreibt, überschreibt auch das Limit. Der ganze Sinn einer Ausgabenberechtigung ist, dass sie außerhalb des manipulierbaren Bereichs des Agenten lebt - im Backend, im Dashboard festgelegt - sodass der Agent sie nicht ändern kann. Konfigurieren Sie es dort, nicht mit 'sagen Sie dem Agenten, dass er nicht mehr als $X ausgeben soll'.

Erwarte, dass der API-Schlüssel des Agenten das Limit erweitert

Die API ist nur lesbar für Ausgabenberechtigungen: Es gibt keinen Endpunkt und keine SDK-Methode, die eine Freigabe erhöht. Das ist absichtlich so. Wenn ein kompromittierter oder injizierter Agent einen Mutate-Endpunkt mit dem Schlüssel, den er bereits hält, aufrufen könnte, wäre die Kontrolle wertlos. Um ein Limit zu ändern, verwenden Sie das Dashboard, wo die Änderung eine menschliche Handlung mit einer Prüfspur ist.

Eine Zulage so hoch festlegen, dass sie niemals beißt

Eine Berechtigung schützt Sie nur, wenn sie tragend ist. Eine Zulage, die auf 100x normalem Verbrauch festgelegt ist, wird eine außer Kontrolle geratene Schleife nicht stoppen, bis sie bereits viel mehr ausgegeben hat, als Sie gewollt hätten. Legen Sie die Zulage und die pro Transaktion zulässige Obergrenze auf etwa 2-3x des erwarteten Verbrauchs fest, und erweitern Sie sie dann absichtlich, wenn der tatsächliche Verkehr zeigt, dass Sie es benötigen.

Vergessen der Obergrenze pro Transaktion

allowance_wei begrenzt den schlimmsten Fall über den gesamten Zeitraum; per_tx_wei begrenzt jede einzelne Zahlung. Sie erfüllen unterschiedliche Aufgaben. Eine großzügige Perioden-Zulage ohne Obergrenze pro Transaktion lässt dennoch eine anomalous Anfrage - einen fehlerhaften Retry, einen böswillig angegebenen Preis - einen großen Betrag auf einmal bewegen. Setzen Sie beide.

Kein schneller Kill-Switch geübt.

Wenn um 2 Uhr morgens etwas falsch aussieht, möchten Sie einen Schritt machen, den Sie bereits geübt haben. Es gibt zwei Möglichkeiten: Widerrufen Sie die Berechtigung im Dashboard (setzt revoked_at, Zulage auf null) oder widerrufen/rotieren Sie den API-Schlüssel des Agenten mit apiKeys.revoke / apiKeys.rotate (schneidet die Berechtigung vollständig ab). Wissen Sie, nach welchem Sie greifen und dass Sie es schnell tun können.

NÄCHSTE SCHRITTE

Nachdem die Erlaubnis erteilt wurde.

Mit der durchgesetzten Berechtigung sind die Folgemaßnahmen, die sich am meisten auszahlen, zuverlässige Webhook-Verarbeitung (damit Zahlungsereignisse tatsächlich Ihren Handler erreichen), Identitätsüberprüfung (damit Gegenparteien dem Profil des Agenten vertrauen) und eine Sicherheitsüberprüfung vor dem Start (damit Sie keine andere Tür offen gelassen haben).

Vollständige Referenz unter docs.blockchain0x.com. Produktoberfläche: Ausgabensteuerungen.

Letzte Überprüfung: 2026-05-15. Veröffentlicht unter CC BY 4.0.

Geben Sie Ihrem Agenten Leitplanken, die die Eingabeaufforderung nicht heben kann.

Eine Zulage pro Zeitraum und eine Transaktionsobergrenze, die im Dashboard festgelegt und vom Backend durchgesetzt werden. Kostenlos starten.