deny auf shell.exec, eine
Egress-Allow-List, eine Argument-Klausel, die nur auf rm -rf feuert — und nun
wollen Sie wissen, dass sie genau das tut, was Sie denken, bevor sie einen
einzigen Produktions-Tool-Call verändert. Die Firewall gibt Ihnen drei
nicht-destruktive Wege, Firewall-Regeln zu testen, jeder beantwortet eine
andere Frage:
Einen Aufruf dry-runnen
Die Test-Sandbox füttert einen synthetischen Tool-Call durch die echte
Engine und gibt das Verdikt zurück — nichts dispatcht, nichts geloggt.
Developer+.
Eine Haltung wiedergeben
Simulate gibt ein Autonomie-Level gegen Ihren jüngsten Traffic wieder
und zählt, wie viele Aufrufe es blockieren würde. Member-lesbar.
Gegen Live-Traffic laufen lassen
Shadow-Mode wertet eine ganze Policy auf echten Aufrufen aus, stuft aber
jedes durchsetzende Verdikt auf
audit herab. Null Blast-Radius.Alle drei konfigurieren über die Konsole (oder die
/api/workspace/firewall/*-Management-Routen, die mit Ihrer Session / Ihrem
Access-Token authentifizieren — nicht einem Relay-sk-orca-…-Key). Die
/v1/*-Relay-Aufrufe Ihres Agenten ändern sich nie, während Sie testen.1. Firewall-Regeln mit der Dry-Run-Test-Sandbox testen
Die Test-Sandbox ist die engste Schleife: Übergeben Sie ihr einen einzelnen synthetischen Tool-Call, und sie lässt die echte Auswertungs-Engine laufen — vollständige Policy-Auflösung, Regeln in Prioritätsreihenfolge durchlaufen, erster-Treffer-gewinnt — und gibt dann das Verdikt, die Regel, die es erzeugte, und den menschenlesbaren Grund zurück. Der Aufruf ist ein Dry-Run: Nichts wird an irgendein Tool dispatcht, und nichts wird in den Events-Feed oder das Discovered-Tools-Inventar geschrieben. Er beantwortet eine Frage präzise: Was entscheidet meine Policy bei genau diesem Tool-Namen und diesen Argumenten — und welche Regel entscheidet es?Ein konkreter Dry-Run
Angenommen, Sie haben eine Regel hinzugefügt, dieshell.exec nur dann
verweigern soll, wenn der Befehl rm -rf enthält. Sie wollen zwei Dinge in
einer Sitzung bestätigen: Der gefährliche Befehl wird verweigert, und ein
harmloser geht weiterhin durch.
Den gefährlichen Aufruf testen
Öffnen Sie in Security → Firewall den Test-Tab, wählen Sie die
response-Surface, geben Sie den Tool-Namen shell.exec und die Argumente
{"command": "rm -rf /data"} ein und führen Sie aus. Die Antwort benennt
das Verdikt und die gematchte Regel:Den harmlosen Aufruf testen
Führen Sie es erneut mit
{"command": "ls -la"} aus. Die Argument-Klausel
matcht nicht mehr, sodass die Regel auf den Policy-Default durchfällt — Sie
sollten allow oder audit und ein leeres rule_label sehen. Wenn
rm -rf verweigert und ls -la nicht, ist Ihre
Argument-Klausel korrekt
gescoped.Einen Entwurf vorschauen, bevor Sie ihn anhängen
Übergeben Sie ein
policy_id, um gegen eine bestimmte Entwurfs-Policy
auszuwerten statt gegen die, auf die Ihr Traffic aktuell auflöst — sodass
Sie beweisen können, dass eine neue Policy korrekt ist, bevor Sie einen
Key an sie anhängen oder sie zum Workspace-Default promoten.inbound, response, mcp, egress (Default inbound) — testen Sie also
jede Regel auf der Surface, auf die sie gepinnt ist. Auf inbound gibt es keine
Argumente zur Aufrufzeit, sodass eine sanitize-Regel dort genau zu einem Block
eskaliert, wie sie es in Produktion täte; siehe Stages
dafür, warum die Surface zählt.
2. Ein Autonomie-Level simulieren, bevor Sie es anwenden
Die Test-Sandbox prüft einen Aufruf. Simulate beantwortet die Frage auf Haltungsebene: Wenn ich diesen ganzen Workspace auf ein strengeres Autonomie-Level umschaltete, wie viel meines jüngsten Traffics würde es blockieren? Simulate gibt die Deny-Regeln eines Kandidaten-Levels gegen Ihre nachlaufenden Firewall-Events wieder und gibt die potenzielle Wirkung zurück — nur Tool-Namen und Zähler, niemals Argumente. Es ist read-only und Member-lesbar, sodass jeder im Team den Blast-Radius vontight vorschauen kann, bevor sich ein
Developer dazu verpflichtet.
Was die drei Level täten
Was die drei Level täten
tight— Default-Deny, destruktive Shell verweigern, fetch-förmige Tools verweigern (der SSRF-Vektor), PII Shield + Secrets Blocker durchgesetzt. Simulate zeigt, wie viel Ihres echten Traffics dieser Boden abfangen würde.balanced— Defaultaudit, destruktive Shell verweigern, PII Shield nur-audit (flaggt PII). Die empfohlene Ausgangshaltung.permissive— nur beobachten; nichts durchgesetzt.
Simulate vs. anwenden
Simulate vs. anwenden
Simulate ändert nichts — es ist ein Was-wäre-wenn über vergangene
Events. Das Anwenden eines Autonomie-Levels (ein Developer+-Write)
materialisiert echte, editierbare
autonomy_*-Policy- und
Guardrail-Zeilen, mit Ein-Klick-Undo aus dem Audit-Snapshot. Vorschauen Sie
mit Simulate, dann wenden Sie an, wenn der Zähler richtig aussieht.3. Shadow-Mode: gegen Live-Traffic testen ohne Blast-Radius
Die Test-Sandbox und Simulate sind Offline-Vorschauen. Shadow-Mode ist die Live-Variante: ein Pro-Policy-Flag, das die Policy auf echtem Agenten-Traffic auswertet, jede Regel durchläuft, ein Verdikt wählt — dann jedes durchsetzende Verdikt (deny, sanitize, pending_approval) auf audit herabstuft und dem
Grund [shadow] would … voranstellt. Der Aufruf geht immer durch; nichts wird
blockiert, redigiert oder zurückgehalten.
Das lässt den Events-Feed wie einen
Produktionslauf mit ausgeschalteter Durchsetzung lesen. Filtern Sie nach
[shadow], und Sie haben eine vollständige Liste jedes Aufrufs, den die Policy
gleich zu blockieren beginnt — bevor sie einen blockiert.
| Test-Methode | Läuft gegen | Frage, die sie beantwortet |
|---|---|---|
| Test-Sandbox | Einen synthetischen Aufruf | „Welches Verdikt bekommt dieser exakte Aufruf, und welche Regel entscheidet?” |
| Simulate | Jüngste Events | „Wie viele Aufrufe würde ein strengeres Autonomie-Level blockieren?” |
| Shadow-Mode | Live-Traffic | „Was würde diese Policy über echten Produktions-Traffic hinweg blockieren?” |
Shadow-Mode ist der tiefste der drei — volle Live-Abdeckung mit null
Blast-Radius. Er hat seine eigene Seite:
Eine Firewall-Policy mit dem Shadow-Mode ausrollen
durchläuft den Schalter, die
[shadow] would …-Gründe und den Umschwung zum
Durchsetzen.4. Eine praktische Test-Reihenfolge
Die drei Werkzeuge komponieren zu einem sicheren Rollout-Pfad — günstigste Prüfung zuerst, breiteste Abdeckung zuletzt:Die gerade geschriebenen Regeln dry-runnen
Verwenden Sie Test, um zu bestätigen, dass jede neue Regel auf den
Aufrufen feuert, auf denen sie sollte, und die durchlässt, die sie nicht
sollte — einschließlich der negativen Fälle. Schnell, Developer+, nichts
persistiert.
Die Haltung abschätzen (optional)
Wenn Sie zu einem Autonomie-Level greifen statt zu handgeschriebenen
Regeln, simulieren Sie das Level und lesen Sie den
potenziell-blockierten Zähler gegen echten Traffic, bevor Sie es anwenden.
Gegen Live-Traffic shadowen
Schalten Sie den Shadow-Mode ein und lassen Sie ein repräsentatives
Fenster echter Aufrufe fließen. Lesen Sie die
[shadow] would …-Events;
verschärfen Sie jede Regel, die einen False Positive zutage fördert — noch
im Shadow, null Blast-Radius.5. API-Referenz
Diese Management-Routen verwenden Ihr Session- / Access-Token und sind workspace-bezogen:| Methode & Pfad | Rolle | Zweck |
|---|---|---|
POST /api/workspace/firewall/test | Developer+ | Einen synthetischen Tool-Call gegen die aufgelöste (oder eine Entwurfs-policy_id-)Policy dry-runnen. Gibt Verdikt, policy_name, rule_label, reason, gap, shadow_mode zurück. Nichts dispatcht oder geloggt. |
GET /api/workspace/firewall/simulate?level= | Member | Ein Autonomie-Level gegen jüngste Events wiedergeben; gibt potenziell-blockierte Zähler zurück. |
GET /api/workspace/firewall/policies/:id | Member | Das aktuelle shadow_mode-Flag einer Policy lesen. |
PUT /api/workspace/firewall/policies | Developer+ | shadow_mode auf der Policy umschalten. |
surface (Default inbound), ein erforderliches
tool_name, ein optionales args_json und ein optionales policy_id, um die
Auflösung zu überschreiben.
Wohin als Nächstes
Shadow-Mode
Der Live-Traffic-Rollout:
[shadow] would …, der Events-Filter und der
Umschwung zum Durchsetzen.Argumente validieren
Eine Regel auf welche Argumente scopen — die Klauseln, die die
Test-Sandbox Sie gegen
rm -rf vs. ls -la verifizieren lässt.Verdikte
Was
allow / audit / deny / sanitize / pending_approval /
cap_cost jeweils tun, wenn ein Test aufhört, ein Test zu sein.Events-Log
Wo geshadowte Verdikte landen — filtern, in Runs und gematchte Regeln
eintauchen.
