shell.exec
auf, fragt eine Datenbank ab, holt eine URL, dispatcht einen Tool-Call durch
einen MCP-Server. Jedes davon ist eine Aktion mit realen Konsequenzen, die
Guardrails auf Prompt-Ebene nicht sehen
können. Die Agent-Firewall ist die Aktionsebene, die sie steuert: eine
workspace-bezogene, benannte Policy, die das Gateway bei jedem Tool-Call
auswertet, bevor er das Tool erreicht.
Diese Seite ist der Hub für den Firewall-Abschnitt — das Policy-Modell, die
Verdikte, die Surfaces und wie eine Policy sich an einen Key anhängt. Jede
Speiche geht tiefer, und die vollständige Engine-Referenz lebt in
Firewall und Firewall-Regeln.
1. Was die Agent-Firewall tut
Sie verfassen eine Policy einmal in Ihrer Workspace-Konsole, hängen einen API-Key daran (oder setzen einen als Workspace-Default), und von da an wird jeder Tool-Call, den dieser Key ausgibt, am Gateway gegen die Policy geprüft. Kein Redeploy, keine Änderung im Agenten-Code — Ihr Agent gibt Tool-Calls weiterhin genau wie zuvor aus, und das Bearbeiten der Policy wirkt sich beim nächsten Aufruf auf jeden daran gebundenen Key aus. Eine Policy ist eine geordnete Liste von Regeln. Jede Regel entscheidet, auf welche Tool-Calls sie zutrifft und was damit zu tun ist. Die Engine durchläuft die Regeln in Prioritätsreihenfolge, erster Treffer gewinnt, und fällt auf das Default-Verdikt der Policy zurück, wenn nichts matcht.Die Erkennung erfolgt am Gateway, bei der ersten Nutzung — nicht zur
Installationszeit. Ein Tool, ein MCP-Server oder ein Skill, das ein Agent
selbst installiert, wird das erste Mal abgefangen, wenn sein Aufruf das
Gateway überquert. Das ist der eine Engpass, der jeden Anbieter, jeden
Agenten und jeden Tool-Call sieht, ganz gleich, wie die Fähigkeit dorthin
gelangt ist.
2. Ein konkretes Beispiel
Angenommen, Sie wollen destruktive Shell-Befehle blockieren, aber alles andere unter Audit durchlassen. In der Konsole erstellen Sie eine Policy mitdefault_verdict = audit und einer Regel:
args_match_json ist ein JSON-kodierter String (das Gateway validiert ihn
beim Speichern gegen das Klausel-Schema): path ist ein JSONPath in die
Argumente des Aufrufs, op ist einer von eq, contains, regex, in,
cidr_match, gt, lt.
Hängen Sie einen Key an die Policy an (setzen Sie firewall_policy_id auf dem
Key). Wenn ein Agent nun shell.exec mit command: "rm -rf /" ausgibt, gibt
das Gateway HTTP 400 mit dem Fehlercode firewall_blocked und einem Grund
zurück, der das Tool benennt — und der Aufruf erreicht die Shell nie. Jeder
andere Tool-Call wird erlaubt und zur Überprüfung aufgezeichnet.
3. Policy, Regeln und Auflösung
Eine Policy ist workspace-bezogen und benannt, mitenabled,
is_default, einem default_verdict (allow / audit / deny, Default
audit) und einem shadow_mode-Flag. Eine Regel ist eine Prüfung darin
— siehe Eine Policy erstellen und
Regel-Schema.
Für jeden Tool-Call löst das Gateway die aktive Policy in dieser Reihenfolge auf:
- Key-Bindung — die
firewall_policy_iddes aufrufenden Keys, sofern diese Policy existiert und aktiviert ist. - Workspace-Default — andernfalls die aktivierte
is_default-Policy.
firewall_observe_mode ab: mit Observe-Mode an wird
der Aufruf erlaubt, aber als Abdeckungs-Lücke geloggt (er taucht in
Discovered Tools auf); mit ihm aus wird der Aufruf stillschweigend erlaubt.
4. Verdikte
Eine Regel — oder der Default — erzeugt eines von:| Verdikt | Was es tut |
|---|---|
allow | Durchlassen, geloggt. |
audit | Erlauben + zur Überprüfung aufzeichnen. Der übliche Default. |
deny | Blockieren. HTTP 400 firewall_blocked auf inbound; Tool-Fehler auf MCP. |
sanitize | Gematchte Teilstrings aus den Tool-Argumenten redigieren und weiterleiten. |
pending_approval | Für einen Menschen zurückhalten; HTTP 400 firewall_approval_pending. |
cap_cost | Ablehnen, sobald die Ausgaben des Runs eine Pro-Regel-Obergrenze überschreiten. |
sanitize-Verdikt redigiert nur die Aufruf-Argumente — nie den
Inhalt, den ein Tool zurückgibt. Auf der inbound-Surface, wo es noch keine
Aufruf-Argumente gibt, eskaliert sanitize zu einem Block. Siehe
Verdikte und
Antworten bereinigen.
5. Die vier Enforcement-Surfaces
Jeder Tool-Call wird gegen genau eine Surface ausgewertet — pinnen Sie eine Regel mit demstage-Feld auf eine, oder lassen Sie es leer, damit sie
auf alle zutrifft.
inbound
Die Tools, die ein Agent dem Modell auf dem Request anbietet. Blockieren
Sie ein gefährliches Tool, bevor das Modell es überhaupt wählen kann.
response
Die
tool_calls, die das Modell in seiner Antwort ausgibt.mcp
Ein
tools/call, der durch das MCP-Gateway dispatcht wird. Siehe
MCP-Server.egress
Ein ausgehender Host / IP / CIDR, den ein Tool erreicht — die SSRF- und
Datenexfiltrations-Surface.
6. Matching
Regeln drücken aus, welche Tool-Calls sie abfangen, mit einem kleinen, deterministischen Vokabular, das auf dem heißen Pfad sicher ist:Tool- & Skill-Namen-Globs
Tool- & Skill-Namen-Globs
Ein case-sensitiver Glob auf den Tool-Namen (
shell.*, *.delete),
optional UND-verknüpft mit einem Glob auf den besitzenden Skill. Siehe
Glob-Syntax und
Tool-Allow-Listing.Argument-Klauseln
Argument-Klauseln
JSONPath-Prädikate über die Argumente des Aufrufs mit den Operatoren
eq, contains, regex, in, cidr_match, gt, lt — der
Unterschied zwischen „blockiere shell.exec” und „blockiere es nur, wenn
der Befehl rm -rf ist”. Klauseln failen closed (die Regel, nicht der
Request). Siehe Argumente validieren.Egress-Listen
Egress-Listen
Host- / IP- / CIDR-Allow- und Deny-Listen auf der
egress-Surface. Sie
können Ihre eigene Deny-Regel für Cloud-Metadata- oder RFC-1918-Bereiche
verfassen. Siehe Egress-Steuerung.Sequenzen & Kosten-Caps
Sequenzen & Kosten-Caps
Eine
sequence-Regel matcht eine geordnete Kette von Aufrufen über ein
Fenster (reaktiv durchgesetzt); eine cap_cost-Regel lehnt ab, sobald die
kumulierten Ausgaben eines Agentenlaufs eine Cent-Obergrenze
überschreiten. Siehe Sequenzregeln
und Kosten begrenzen.7. Menschliche Freigabe, Autonomie und Anomalien
- Human-in-the-loop. Ein
pending_approval-Verdikt hält den Aufruf zurück und gibt seine Approval-ID zurück. Ein Prüfer löst es in der Konsole (Developer+) oder über einen HMAC-signierten Webhook-Callback auf; der Agent pollt und reicht mit einem einmal nutzbarenX-OrcaRouter-Firewall-Approval-Header erneut ein. Siehe Freigaben und Approval-Webhook. - Autonomie-Stufen. Ein Schalter setzt Ihre gesamte Haltung:
tight(Default-Deny + destruktive Shell ablehnen + abruf-förmige Tools ablehnen (http_fetch/web_search/fetch_url/request, der SSRF-Vektor) + PII Shield + Secrets Blocker durchgesetzt),balanced(Default audit, destruktive Shell ablehnen, PII Shield nur auditieren) oderpermissive(nur beobachten). Jede schreibt echte, editierbare Policy- und Guardrail-Zeilen, mit Ein-Klick-Undo aus dem Audit-Snapshot. - Anomalieerkennung. Über statische Regeln hinaus bewertet die Firewall
die Tool-Nutzung gegen eine gelernte Hour-of-week-Baseline (14 Tage) und
flaggt Raten-/Kosten-Spikes,
retry_loopundnovel_pathauf einem Member-lesbaren Feed, den Sie bis zu 7 Tage snoozen können.
8. Wo die Firewall hineinpasst
Die Firewall ist das Aktionsebenen-Pendant zweier benachbarter Ebenen:| Ebene | Steuert | Wann Sie dazu greifen |
|---|---|---|
| Guardrails | Prompt- & Response-Text | PII, Secrets, Jailbreaks, Injection-Absicht |
| Agent-Firewall | Tool-Aktionen | Welche Tools, MCP-Calls, Hosts und Kosten |
| Compliance | Nachweise & Frameworks | SOC-2- / HIPAA- / EU-AI-Act-Bereitschaft |
9. Anhängen und Verbinden
Eine Policy bindet sich viafirewall_policy_id an einen Key (in der Konsole
konfiguriert; die Bindung lebt am Key im Gateway). Zwei Wege, auf denen ein
Tool-Call die Engine erreicht, beide einen firewall-gateway-scoped Key
erfordernd (is_firewall_gateway = true) — ein regulärer Relay-Key erhält auf
diesen Routen 403:
- MCP-Gateway — richten Sie Ihren MCP-Client auf den vereinheitlichten
Endpunkt
ANY /api/v1/firewall/mcp; jedertools/callwird inline ausgewertet. Siehe MCP-Server. - Evaluate-Hook — rufen Sie
POST /api/v1/firewall/evaluate(oder/evaluate_planfür einen mehrstufigen Plan) aus Ihrer eigenen Agenten-Schleife auf, bevor Sie dispatchen, und handeln Sie nach dem Verdikt.
/api/workspace/firewall/*. Lesezugriffe auf Policies, Einstellungen,
Discovered Tools, den schreibgeschützten Autonomie-Simulator und den
Anomalie-Feed sind für jedes Workspace-Mitglied offen; die Dry-Run-Test-Sandbox,
das Events-/Runs-Log und alle Schreibvorgänge erfordern Developer+. Siehe
Gateway-Keys und
Regeln testen.
10. Bedrohungen, die diese Ebene adressiert
Gefährliche Tool-Calls
Destruktive Shell, DB-Drops und riskante Verben per Glob + Args ablehnen.
Datenexfiltration
Egress-Listen und Read-then-Export-Sequenzregeln.
MCP-Tool-Poisoning
Pro-Aufruf-Auswertung auf der
mcp-Surface vor dem Dispatch.Übermäßige Handlungsmacht
Freigaben, Kosten-Caps und Default-Deny-Haltung.
Nächste Schritte
Eine Policy erstellen
Verfassen Sie Ihre erste Policy und Regel.
Verdikte
Was jedes Verdikt auf der Leitung tut.
Events-Log
Lesen Sie, was die Firewall entschieden hat und warum.
