.env dans un prompt pour « aider au débogage ». Un document
récupéré transporte une clé API intégrée. Un modèle, à qui l’on demande
d’« afficher la config », renvoie une clé d’accès AWS directement au client.
Un agent construit un appel d’outil avec un token actif embarqué dans les
arguments. Chacun de ces cas est un chemin par lequel un identifiant peut
s’échapper — vers les journaux d’un fournisseur amont, vers une transcription
client, ou vers un outil tiers.
Cette page couvre comment les Guardrails et
l’Agent Firewall d’OrcaRouter vous permettent de
défendre contre la fuite de secrets llm — sans changer le code de votre
application.
La détection se produit à la passerelle, devant chaque clé liée — de sorte
qu’une seule politique couvre chaque fournisseur, chaque modèle et chaque
agent sans changement de SDK.
1. Où fuient les secrets
Un identifiant peut s’échapper en trois points distincts d’une requête :Dans le prompt (entrée)
Dans le prompt (entrée)
L’identifiant est dans la requête avant que le modèle ne s’exécute — une
clé collée, un extrait
.env, un token à l’intérieur d’un chunk RAG
récupéré. Laissé sans contrôle, il atteint le fournisseur amont et peut
atterrir dans leurs journaux. Stoppez-le avec le guardrail d’entrée
Secrets Blocker
(§2).Dans la réponse (sortie)
Dans la réponse (sortie)
Le modèle émet un secret vers votre client — il régurgite une clé depuis
son contexte, ou hallucine une chaîne en forme d’identifiant.
Attrapez-le avec une règle de secrets en sortie
(§3).
Dans un argument d'appel d'outil
Dans un argument d'appel d'outil
Votre agent construit un appel d’outil avec un token dans les arguments.
Le verdict sanitize du Firewall redacte les sous-chaînes
correspondantes des arguments avant que l’appel ne se dispatche
(§4).
2. Secrets Blocker — stopper les identifiants dans le prompt
Le Secrets Blocker est un preset de guardrail sous la catégorie secrets qui s’exécute à la surface input. Il scanne la requête à la recherche de formes d’identifiants — clés d’accès AWS, clés de style OpenAI, et tokens GitHub — et bloque l’appel avant qu’il ne quitte la passerelle. L’identifiant n’atteint jamais un modèle. Rédigez-le une fois dans la console, attachez une clé, et chaque requête à travers cette clé est filtrée :Créer le guardrail
Dans la console, ouvrez
/console/guardrails, cliquez sur New
guardrail, et appliquez le preset Secrets & API-Key Blocker depuis
la catégorie secrets. Il amorce un guardrail avec des règles de block
côté entrée pour les formes d’identifiants courantes — éditez librement à
partir de là.Attachez une clé
Ouvrez
/console/token, éditez une clé API, et choisissez le guardrail
dans le menu déroulant Guardrail — ou définissez-le comme défaut de
l’espace de travail afin que chaque clé non attachée en hérite.[JWT]
/ [AWS_ACCESS_KEY]), une règle pii couvrant jwt, aws_access_key, et
api_key_openai est l’alternative pilotée par les entités ; voir la
référence des Guardrails.
3. Bloquer les secrets dans la sortie du modèle
Un secret peut aussi sortir dans la réponse — le modèle renvoie en écho une clé depuis son contexte ou émet une chaîne en forme d’identifiant. Ajoutez une règle à la surface output pour filtrer la réponse du modèle avant qu’elle ne revienne au client. La catégorie secrets livre un preset Code Secret in Output pour exactement cela : des règles de block côté sortie pour les clés privées PEM, les clés d’accès AWS, et les tokens secrets de style OpenAI.Le masquage en sortie (remplacer une correspondance par un tag typé
plutôt que rejeter la réponse entière) s’applique actuellement aux réponses
non-streaming uniquement. Pour les identifiants en sortie, l’action
block est le choix fiable sur le trafic en streaming. Prouvez votre
combinaison surface/flux dans l’onglet Test du guardrail avant d’en
dépendre.
4. Assainir les secrets hors des arguments d’appels d’outils
Lorsque votre agent construit un appel d’outil, un identifiant peut voyager avec dans les arguments. Le verdict sanitize du Firewall redacte les sous-chaînes correspondantes des arguments de l’appel d’outil et transmet l’appel nettoyé — sur les surfacesresponse et mcp, où il y a des
arguments en direct au moment de l’appel à réécrire.
Une règle sanitize nomme quels détecteurs redacter dans sa config
sanitize_json — un ensemble de presets intégrés plus des regex
custom optionnelles. Le matériel correspondant est remplacé par
[redacted:<preset>] (les correspondances custom par [redacted:custom]) :
aws_access_key, aws_secret_key, openai_key, anthropic_key, et
bearer_token (plus email, ssn_us, et credit_card pour la PII). Une
règle sanitize doit nommer au moins un preset ou un motif custom — un
assainisseur vide est rejeté à l’enregistrement.
Le guardrail Secrets Blocker (§2)
reste votre défense principale pour les identifiants dans le corps de la
requête — l’assainisseur du firewall est le complément côté action pour les
secrets qui apparaissent spécifiquement à l’intérieur des arguments d’appels
d’outils.
5. Superposer les trois défenses
| Où se trouve le secret | Couche qui le stoppe | Action |
|---|---|---|
| Dans le prompt | Secrets Blocker (guardrail d’entrée) | block |
| Dans la réponse du modèle | Règle de secrets en sortie (guardrail de sortie) | block |
| Dans un argument d’appel d’outil | Assainisseur du firewall | sanitize |
6. Observer ce qui s’est déclenché
Chaque règle de guardrail qui se déclenche enregistre une correspondance — type de règle, action, surface, et une chaîne de détail — dans le flux Matches de l’espace de travail (GET /api/guardrail/match, Member). La
sous-chaîne correspondante est enregistrée uniquement lorsque « Log raw
content » est activé, ce qui est désactivé par défaut — la posture
respectueuse de la vie privée, afin que le flux Matches ne devienne pas
lui-même un endroit où les secrets s’accumulent. Laissez-le désactivé pour
les règles d’identifiants sauf si vous avez spécifiquement besoin de la
sous-chaîne pour le triage.
Les décisions sanitize du firewall atterrissent dans le flux Events du
Firewall (GET /api/workspace/firewall/events, Developer+), avec les secrets
et les blobs de règles jamais journalisés.
7. Où aller ensuite
Référence des Guardrails
Types de règles, entités PII, presets, le sandbox de test, et le harnais
d’éval au complet.
Référence des règles de firewall
Le langage de correspondance — globs d’outils, clauses d’arguments, et
assainisseurs.
Exposition de PII
La menace de contenu sœur : données personnelles dans les prompts et les
réponses.
Exfiltration de données
Quand un identifiant fuité devient la charge utile d’un appel
d’exfiltration sortant.
Guardrails vs Firewall
Quel plan stoppe quelle classe de fuite, et comment ils se composent.
Référentiel Secure Agents
La posture de départ qui active ces défenses ensemble.
