Alles hier bindet an Ihren Workspace und wird aus der Konsole konfiguriert.
Ihr Agent ruft weiterhin
https://api.orcarouter.ai/v1/... mit demselben
sk-orca-...-Schlüssel auf — nur die Policy im Gateway ändert sich.
Konfigurationsaktionen benötigen die pro Schritt genannten Rollen;
Relay-Aufrufe verwenden den eingegrenzten Schlüssel. Die Firewall sieht Egress
nur für Ziele, die durch das Gateway geroutet werden (den MCP-Dispatch-Pfad
oder den Evaluate-Hook) — routen Sie Ihre netzwerkgebundenen Tool-Calls durch
es, und sie werden gesteuert.1. Die drei Ebenen, die KI-Datenexfiltration verhindern
Jede Ebene fängt den Angriff an einem anderen Punkt im Request-Lebenszyklus ab. Stapeln Sie alle drei — sie sind unabhängig und komplementär.Credentials im Prompt
Ein Secret, das in den Request eingefügt (oder hineingezogen) wird, wird auf
der Input-Stage vom Secrets-Blocker-Guardrail gefangen — bevor irgendein
Modell es sieht.
Secrets in Tool-Args
Ein Modell, das einen Tool-Call ausgibt, der ein Credential trägt, wird von
einer sanitize-Firewall-Regel gesäubert, die das gematchte Argument
redigiert.
Ausgehendes Ziel
Der eigentliche Netzwerkschritt wird durch eine Egress-Allowlist
begrenzt — nur aufgezählte Hosts passieren; alles andere wird abgelehnt.
2. Credentials am Prompt stoppen — das Secrets-Blocker-Guardrail
Das Erste, was einzugrenzen ist, ist das Credential selbst. Das Secrets & API-Key Blocker-Guardrail läuft auf der Input-Stage und scannt den Request nach Credential-Mustern — Access-Keys im AWS-Stil, OpenAI-Keys, JWTs und ähnliche Tokens — bevor der Request das Gateway verlässt. Bei einem Treffer wird der Request blockiert: Das Credential erreicht nie ein Modell und landet nie in einem Tool-Call. Öffnen Sie in der Konsole Guardrails → Neues Guardrail (die Rolle Developer; Lesungen und die Test-Sandbox sind für jedes Mitglied offen), benennen Sie esexfil-shield und wenden Sie das Secrets & API-Key
Blocker-Preset aus der Vorlagenbibliothek an (Kategorie secrets). Das
Preset sät drei input-Stage-Regex-Block-Regeln, eine pro Credential-Form —
AWS-Access-Keys, OpenAI-Stil-Keys und GitHub-Tokens:
guardrail_blocked zurück, kostet
kein Kontingent (ein Input-Stage-Block feuert vor dem Metering) und ist als
skip-retry markiert. Beweisen Sie es im Test-Tab — fügen Sie einen
Beispiel-AWS-Key ein, wählen Sie die input-Stage und bestätigen Sie das
Verdikt — bevor Sie einen Schlüssel anhängen.
3. Secrets aus Tool-Call-Argumenten bereinigen
Ein Guardrail prüft den Prompt; es sieht nicht die Tool-Calls, die ein Modell ausgibt. Wenn das Modell einentool_call produziert, dessen Argumente ein
Credential tragen, fängt eine Firewall-sanitize-Regel ihn. Sanitize
redigiert die gematchten Teilstrings aus den Tool-Call-Argumenten und
leitet den gesäuberten Aufruf weiter — das Tool läuft, aber mit
herausgestrichenem Secret.
Benennen Sie in Firewall → Policies → Neue Policy (Rolle Developer) sie
exfil-firewall und fügen Sie eine sanitize-Regel auf der response-Surface
hinzu — die tool_calls, die das Modell in seiner Antwort ausgibt:
4. Ausgehende Ziele eingrenzen — die Egress-Allowlist
Die haltbarste Verteidigung ist die Netzwerkgrenze selbst: zählen Sie die Hosts auf, die Ihre Agenten legitim erreichen dürfen, und lehnen Sie alles andere ab. Eine Egress-Regel verwendetstage: egress und das
egress-Feld; das Verdikt setzt die Polarität — allow lässt aufgelistete
Ziele durch und ein deny-Catch-all niedrigerer Priorität blockiert den Rest.
Fügen Sie diese Regeln zur selben exfil-firewall-Policy hinzu:
169.254.169.254) und die privaten RFC-1918-Ranges (10.0.0.0/8,
172.16.0.0/12, 192.168.0.0/16) auflistet. Ein abgelehnter Aufruf gibt
HTTP 400 firewall_blocked zurück.
Kein Preset liefert CIDR-Egress-Regeln — Sie verfassen die Host-/CIDR-Allow-
und Deny-Einträge selbst. Das
tight-Autonomie-Level
ist der angrenzende schnelle Weg: Es lehnt die fetch-förmigen Tool-Namen
(http_fetch, web_search, fetch_url, request) ganz ab und entfernt die
Netzwerkfähigkeit, bevor je ein Ziel ausgewertet wird. Verwenden Sie es, wenn
Ihr Agent diese Tools gar nicht braucht.5. Einen eingegrenzten Schlüssel anhängen
Eine Policy setzt nur auf Schlüsseln durch, die auf sie aufgelöst werden. Geben Sie dem Agenten seinen eigenen Schlüssel, eingegrenzt auf das Minimum, das er braucht — niemals Ihren kontoweiten Schlüssel. In API Keys → Neuer Schlüssel (Rolle Developer):Beide Policies anhängen
Beide Policies anhängen
Wählen Sie
exfil-shield aus dem Guardrail-Dropdown (setzt
guardrail_id) und exfil-firewall aus dem Firewall policy-Dropdown
(setzt firewall_policy_id). Beide Bindungen leben am Schlüssel im Gateway.
Eine explizite Guardrail-Bindung fällt nie stillschweigend zurück — sie zu
deaktivieren ist der Aus-Schalter. Eine deaktivierte Firewall-Policy
hingegen fällt auf die Default-Policy des Workspaces zurück.Den Blast-Radius begrenzen
Den Blast-Radius begrenzen
Setzen Sie
credit_limit_usd auf eine vernünftige Obergrenze (0 =
unbegrenzt), sodass ein kompromittierter Schlüssel kein Kontingent
abschöpfen kann, und allow_ips auf die Egress-IPs Ihres Backends, wenn der
Agent von einem festen Server aus aufruft. Setzen Sie ein expired_time für
temporäre Schlüssel (-1 = läuft nie ab).exfil-shield und jeden
Tool-Call durch exfil-firewall, ohne dass irgendein Code weiß, dass
Durchsetzung stattfindet.
6. Mit Shadow-Mode ausrollen, dann beobachten
Wenn Sie noch nicht jeden Host kennen, den Ihr Agent legitim erreicht, setzen Sie nicht blind durch — beobachten Sie zuerst. Siehe Enforcement-Modi für den vollständigen Observe → shadow → enforce-Pfad.Die Egress-Regeln shadowen
Setzen Sie
shadow_mode: true auf exfil-firewall. Jedes durchsetzende
Verdikt wird auf audit herabgestuft und als [shadow] would deny mit dem
Ziel geloggt. Kein Traffic wird blockiert, solange der Shadow-Mode an ist.Die Feeds beobachten
Firewall → Events / Runs (Developer+) zeigt jeden Tool-Call und jedes
Egress-Ziel, das Ihr Agent traf, und was abgelehnt worden wäre.
Guardrails → Matches (jedes Mitglied) zeigt jedes Secret, das das
Input-Guardrail fing. Tunen Sie die Egress-
allow-Liste, bis nur
angreifer-erreichbare Hosts abgelehnt würden.Der Matches-Feed zeichnet den gematchten Teilstring nur auf, wenn Log raw
content für das Guardrail an ist (per Default aus — die
datenschutzkonservative Haltung). Markieren Sie ein False Positive (Admin),
um die Policy zu tunen. Jede Guardrail-Änderung schreibt eine
Versionsverlaufszeile, die Sie diffen und reverten können;
Firewall-Policy-Änderungen werden im Audit-Trail aufgezeichnet.
7. Abdeckung auf einen Blick
| Exfiltrationsschritt | Ebene, die ihn stoppt |
|---|---|
| Credential gelangt in den Request | Secrets-Blocker-Guardrail (input) |
| Modell gibt einen Tool-Call aus, der ein Secret trägt | sanitize-Firewall-Regel (response-Surface) |
| Tool dialt einen Angreifer-Host | Egress-allow- / deny-Regel |
| Agent erreicht Cloud-Metadata oder RFC-1918 | Egress-Deny-Regel, die diese CIDRs auflistet |
| Fetch-förmiges Tool dem Modell angeboten | tight-Autonomie-Level (Tool-Namen-Deny) |
8. Wohin als Nächstes
Firewall-Regeln-Referenz
Die vollständige Matching-Sprache — Egress-Listen, CIDRs, Sanitizer und alle
Verdikte.
Datenexfiltrations-Bedrohung
Die Angriffsanatomie, gegen die sich dieses Rezept verteidigt, Ende zu Ende.
Einen MCP-Agenten härten
Jeden
tools/call steuern, den ein Agent durch einen MCP-Server dispatcht.PII-sicheres Logging
Sensible Daten aus Ihren Request-Logs und dem Matches-Feed heraushalten.
