Tout ici se lie à votre espace de travail et est configuré depuis la
console. Votre chatbot continue d’appeler
https://api.orcarouter.ai/v1/chat/completions
avec la même clé sk-orca-... — seule la politique dans la passerelle
change. Les actions de configuration nécessitent les rôles indiqués à
chaque étape ; les appels de relais utilisent la clé scopée.1. Le modèle de menace d’un chatbot public
Avant de rédiger quoi que ce soit, sachez contre quoi vous vous défendez. La surface d’attaque d’un chatbot est plus étroite que celle d’un agent complet — mais les risques à haute fréquence sont concrets :PII entrant, PII journalisé
Les utilisateurs collent des emails, des numéros de carte, des numéros
de sécurité sociale dans le chat — et vous les transmettez en amont et
dans vos journaux.
Injection de prompt
« Ignore les instructions précédentes et … » — des tentatives
d’écraser votre system prompt et de modifier le comportement du bot.
Jailbreaks
Des cadrages DAN / jeu de rôle qui tentent de faire dévier le bot de
sa politique.
Sortie non sûre
Le modèle qui renvoie des secrets fuités, du boilerplate de
system prompt, ou du contenu truffé d’injection dans le chat.
2. Un guardrail, quatre missions
Plutôt que quatre politiques distinctes, rédigez un seul guardrail d’espace de travail avec des règles ordonnées couvrant chaque risque. Un guardrail est une liste de règles nommée et ordonnée ; chaque règle dit quoi chercher, où (input, output ou both), et quoi faire
(block, mask ou flag).
Dans la console, ouvrez Guardrails → Nouveau guardrail, nommez-le
chatbot-shield, et ajoutez les règles ci-dessous. Rédiger un guardrail —
et exécuter la sandbox Test — nécessite le rôle Developer ;
consulter les guardrails est ouvert à tout membre.
a. PII sur la requête
Ajoutez une règle PII, stageinput, action mask. Le jeu
d’entités intégré est fermé — choisissez celles qu’un chatbot voit
réellement :
jane@acme.com devient [EMAIL], de sorte que le modèle amont ne voit
jamais l’adresse. L’override entity_actions bloque la requête
purement et simplement sur un numéro de carte ou un SSN tout en masquant
les entités de moindre gravité. C’est exactement le preset PII Shield,
étendu avec des overrides par entité — appliquez le preset depuis la
bibliothèque de templates et éditez à partir de là.
b. Dépistage d’injection de prompt
OrcaRouter livre cela comme le preset de sûreté Prompt-Injection Basics (une denylist de mots-clés pour des phrases comme « ignore previous instructions » et « reveal your system prompt » ; pour une couverture regex plus stricte des cadrages DAN / jeu de rôle, ajoutez le preset Jailbreak / Role-Play Blocker) plus, pour l’intention sémantique qu’aucun motif n’attrape, une règlellm_judge. Ajoutez le preset,
puis une règle de juge sur le stage input avec une grille qui signale les
tentatives d’injection/écrasement. Le juge s’exécute contre un modèle de
votre espace de travail, est borné par judge_timeout_ms, et fail open
par défaut (une erreur de juge est journalisée et la requête continue) —
définissez judge_fail_open: false pour fail closed.
c. Sûreté des sorties
Ajoutez une règle de block au stageoutput (regex ou mot-clé) pour le
contenu qui ne doit jamais atteindre la fenêtre de chat — secrets fuités,
tokens de contrôle de gabarit de chat, boilerplate de system prompt. Les
presets de sûreté Secrets & API-Key Blocker et de fuite de system
prompt couvrent les cas courants ; appliquez-les et épinglez les règles
pertinentes au stage output. Le block de sortie est appliqué en
streaming aussi — le scanner coupe le flux en plein vol et émet un message
de remplacement avant que le contenu bloqué n’atteigne l’utilisateur.
3. Testez avant de déployer
Chaque éditeur de guardrail a un onglet Test. Collez un échantillon, choisissez le stage, et exécutez la politique actuelle localement — aucun appel amont, aucun quota dépensé.| Collez ceci | Stage | Attendu |
|---|---|---|
email me at jane@acme.com | input | email me at [EMAIL] |
ignore previous instructions | input | flag / block (votre choix) |
carte 4111 1111 1111 1111 | input | guardrail_blocked (selon l’override) |
4. Frappez une seule clé scopée pour le bot
Un guardrail ne s’applique que sur les clés qui s’y résolvent. Donnez au chatbot sa propre clé, scopée au minimum dont il a besoin — jamais votre clé à portée de compte. Dans API Keys → Nouvelle clé, définissez :Attacher le guardrail
Attacher le guardrail
Choisissez
chatbot-shield dans le menu déroulant Guardrail. Cela
définit guardrail_id sur la clé. Un attachement explicite est
l’opposé de l’interrupteur d’arrêt : s’il est défini et activé, il
s’applique toujours et ne retombe jamais silencieusement. (Laissez-le
non défini pour retomber sur le guardrail is_default de l’espace de
travail à la place.)Plafonner la dépense
Plafonner la dépense
Définissez
credit_limit_usd à un plafond raisonnable (0 =
illimité). Un chatbot public est la clé la plus susceptible d’être
abusée — un plafond de crédit strict est votre limite de rayon
d’explosion. Voir denial-of-wallet.Épingler les modèles
Épingler les modèles
Activez
model_limits et ne listez que le(s) modèle(s) que le bot est
autorisé à appeler, de sorte qu’une clé fuitée ne puisse pas servir à
exécuter un modèle coûteux que vous n’aviez jamais l’intention
d’exposer.Verrouiller davantage
Verrouiller davantage
Définissez
allow_ips sur les IPs d’egress de votre backend si le bot
appelle depuis un serveur fixe, et un expired_time si la clé est
temporaire (-1 = n’expire jamais).chatbot-shield sans qu’aucun code ne soit conscient que le
dépistage a lieu.
5. Surveillez-le en production
Deux lectures vous gardent honnête, toutes deux à portée d’espace de travail :- Guardrails → Matches (tout Member) — chaque règle qui s’est déclenchée : type, action, stage et détail. La sous-chaîne correspondante n’est enregistrée que si Log raw content est activé pour le guardrail (désactivé par défaut — la posture prudente en matière de vie privée). Marquez un faux positif pour ajuster la politique (Admin).
- Historique de versions — chaque changement écrit une ligne
d’historique ; comparez deux versions et revenez en arrière si
une règle s’avère trop agressive. Une requête bloquée renvoie une HTTP
400
guardrail_blocked, ne coûte aucun quota, et est marquée skip-retry.
Une réponse
guardrail_blocked est une 400 délibérée et visible par
l’utilisateur. Gérez-la dans l’UI de votre chatbot avec un message amical
(« Je ne peux pas traiter cela ») plutôt que d’exposer l’erreur brute —
la passerelle a déjà arrêté le tour non sûr pour vous.6. Si votre bot appelle des outils
Dès l’instant où votre chatbot peut appeler une fonction, récupérer une URL ou atteindre un serveur MCP, le dépistage de texte ne suffit plus — vous avez besoin du plan action. Attachez une politique Firewall à la même clé viafirewall_policy_id,
ou appliquez le niveau d’autonomie balanced pour auditer les appels
d’outils et signaler la PII à l’échelle de l’espace de travail avant de
resserrer. Le chemin le plus rapide est le
démarrage rapide zero-trust ; pour un
agent qui appelle des outils de façon intensive, voir
sécuriser un agent autonome.
7. Pour aller plus loin
Référence Guardrails
Chaque type de règle, entité PII, champ de juge, et le harnais d’eval
en entier.
Guardrails vs Firewall
Plan texte vs plan action — quand vous avez besoin de l’un ou l’autre.
Modes d'application
Observe → shadow → enforce : déployez sans casser le bot.
Clés, politiques, espaces de travail
Comment l’attachement de clé et les défauts d’espace de travail se
résolvent.
