1. Proteção contra prompt injection em três camadas
Nenhuma verificação isolada detém toda injeção. O OrcaRouter te dá três camadas complementares que você pode empilhar em um único guardrail:Prompt-Injection Basics
Um preset de safety — uma regra de keyword que sinaliza as frases
clássicas de jailbreak (“ignore previous instructions”, “reveal your
system prompt”) para revisão, sem bloquear. Determinística, sem
chamada a modelo.
Regra de intenção LLM-judge
Uma regra
llm_judge que pergunta a um modelo no seu workspace “isto é
uma tentativa de sobrepor as instruções de sistema?” — pegando injeção
parafraseada e ofuscada que nenhuma lista fixa de keywords consegue. Cobra
uma pequena sub-linha de judge.Spotlight de texto não confiável
A ação
spotlight envolve o input não confiável correspondente em
delimitadores (ex.: ⟦UNTRUSTED⟧…⟦/UNTRUSTED⟧) e instrui o modelo a
tratar a região como dados, nunca instruções — a defesa mais forte
para injeção indireta de conteúdo recuperado ou retornado por
ferramenta. Use spotlight_whole para envolver o input inteiro.Por que flag-depois-judge. Uma denylist de keyword é rápida e gratuita
mas frágil — atacantes reformulam ao redor dela. Um judge é robusto mas custa
uma subchamada. Rode o preset para ver o que atinge seu tráfego, depois
adicione o judge para pegar as reformulações. Ambas as regras vivem em um
único guardrail e rodam na mesma requisição.
2. Comece com o preset Prompt-Injection Basics
Cada passo aqui é uma ação de console no gateway hospedado sob sua própria sessão. Criar e editar guardrails exige Developer+ no workspace. Apenas a chamada final/v1/* usa uma chave de relay sk-orca-....
Abra o template
No console, abra Guardrails, clique no split-button New guardrail
e escolha Prompt-Injection Basics na categoria de template
Safety. Ele semeia uma única regra
keyword no estágio input com a
ação flag.Nomeie e salve
Nomeie-o (≤ 64 chars), ex.:
prompt-injection, e salve. Um preset é uma
semente, não uma trava — adicione ou remova frases livremente depois.Teste-o
Abra a aba Test, cole uma amostra no estágio
input e rode a política
localmente — sem chamada upstream, sem cota (veja
§4).Vincule uma chave
Edite uma chave de API e escolha
prompt-injection no menu Guardrail
(define guardrail_id na chave), ou marque-o como padrão do
workspace. Veja Vincular a uma chave
e Padrão de conta.3. Pegue o que keywords perdem — adicione uma regra llm_judge
A correspondência de keyword só pega as frases que você listou. Adicione uma regrallm_judge ao mesmo guardrail para pegar a intenção por trás de um
ataque reformulado. Abra o guardrail, Add rule, escolha LLM judge e
configure:
judge_model
judge_model
Um modelo ou alias de roteador que seu workspace já pode chamar. A chamada
do judge roteia através dos seus canais, então seus tokens cobram e são
atribuídos como qualquer outra chamada — como uma sub-linha de judge.
judge_format
judge_format
Um entre
yes_no, score ou category. Para uma verificação de injeção,
yes_no é o encaixe natural (o console o pré-seleciona). Com score,
defina judge_threshold; com category, liste as judge_categories
negadas.judge_timeout_ms e judge_fail_open
judge_timeout_ms e judge_fail_open
judge_timeout_ms limita a chamada (0 → padrão do motor). Com
judge_fail_open true (padrão) um erro do judge é registrado e a
requisição continua; defina como false para tratar um erro ou timeout
como um block onde uma verificação perdida é inaceitável.4. Teste antes de vincular
Prove que o guardrail faz o que você espera antes que qualquer chave aponte para ele. Abra a aba Test dentro do editor, cole uma amostra de injeção, escolha o estágioinput e rode:
5. Veja o que disparou
Toda regra que dispara registra um match — tipo de regra, ação, estágio e uma string de detalhe — exibido no feed Matches do workspace. Enquanto o guardrail está em modo flag, este feed é o valor: ele mostra com que frequência frases de injeção atingem seu tráfego e como elas se parecem, para que você possa decidir se aplica.6. Empilhe com irmãos mais estritos
O Prompt-Injection Basics é o ponto de partida gentil, somente flag. A categoria de template Safety traz irmãos mais estritos que você pode empilhar no mesmo guardrail quando estiver pronto para block:| Preset | Ação | Pega |
|---|---|---|
| Prompt-Injection Basics | flag | Frases clássicas — a camada de observação. |
| Jailbreak / Role-Play Blocker | block | Padrões DAN / developer-mode / “act as”. |
| Jailbreak v2 Regex | block | Modos mais novos + contrabando de tag-byte Unicode invisível. |
7. Guardrails filtram texto; o firewall governa ações
Um guardrail detém a instrução injetada de chegar ao modelo. Mas o objetivo de uma injeção bem-sucedida costuma ser fazer um agente fazer algo — chamar uma ferramenta perigosa, exfiltrar dados, atingir um host interno. Esse raio de explosão é o trabalho do Firewall: ele avalia as chamadas de ferramenta emitidas pelo modelo e podedeny,
sanitize argumentos ou exigir aprovação. Rode ambos para defesa em
profundidade.
Prompt injection (ameaça)
O modelo de ameaças completo e onde cada controle fica.
Jailbreaks
O primo de bypass de persona da injeção.
Chamadas de ferramenta perigosas
O que uma injeção tenta fazer um agente fazer — e como o firewall a detém.
Segurança de agentes de IA
A pilha de controle de linha de base para cargas de trabalho agênticas.
llm_judge, versionamento e rotas — leia a
referência de Guardrails.