.env
em um prompt pedindo “ajuda para depurar”. Um documento recuperado carrega
uma chave de API embutida. Um modelo, ao ser solicitado a “mostrar a config”,
ecoa uma chave de acesso AWS direto de volta ao cliente. Um agente constrói
uma chamada de ferramenta com um token ativo embutido nos argumentos. Cada um
desses é um caminho para uma credencial escapar — para os logs de um provedor
upstream, para o transcript de um cliente ou para uma ferramenta de terceiros.
Esta página cobre como os Guardrails e o
Agent Firewall do OrcaRouter permitem que você se
defenda contra vazamento de segredos de llm — sem alterar o código da sua
aplicação.
A detecção acontece no gateway, na frente de cada chave vinculada — então uma
única política cobre cada provedor, cada modelo e cada agente sem uma mudança
de SDK.
1. Onde os segredos vazam
Uma credencial pode escapar em três pontos distintos de uma requisição:No prompt (input)
No prompt (input)
A credencial está na requisição antes de o modelo sequer rodar — uma
chave colada, um trecho de
.env, um token dentro de um chunk RAG
recuperado. Sem verificação, ela chega ao provedor upstream e pode acabar
nos logs dele. Detenha-a com o guardrail de input Secrets Blocker
(§2).Na resposta (output)
Na resposta (output)
O modelo emite um segredo de volta ao seu cliente — ele regurgita uma
chave do seu contexto, ou alucina uma string em formato de credencial.
Capture-a com uma regra de segredos de output
(§3).
Em um argumento de chamada de ferramenta
Em um argumento de chamada de ferramenta
Seu agente constrói uma chamada de ferramenta com um token nos argumentos.
O veredito sanitize do Firewall redige os substrings correspondentes
dos argumentos antes que a chamada seja despachada
(§4).
2. Secrets Blocker — detenha credenciais no prompt
O Secrets Blocker é um preset de guardrail sob a categoria secrets que roda no stage input. Ele escaneia a requisição em busca de formatos de credencial — chaves de acesso AWS, chaves estilo OpenAI e tokens GitHub — e bloqueia a chamada antes que ela saia do gateway. A credencial nunca chega a um modelo. Escreva-o uma vez no console, anexe uma chave, e cada requisição através dessa chave é filtrada:Crie o guardrail
No console, abra
/console/guardrails, clique em New guardrail e
aplique o preset Secrets & API-Key Blocker da categoria secrets.
Ele inicializa um guardrail com regras de block no stage de input para os
formatos de credencial comuns — edite livremente a partir daí.Anexe uma chave
Abra
/console/token, edite uma chave de API e escolha o guardrail no
dropdown Guardrail — ou defina-o como padrão do workspace para que
cada chave não anexada o herde.[JWT] /
[AWS_ACCESS_KEY]), uma regra pii cobrindo jwt, aws_access_key e
api_key_openai é a alternativa orientada a entidades; veja a
referência de Guardrails.
3. Bloqueie segredos na saída do modelo
Um segredo também pode sair na resposta — o modelo ecoa uma chave do seu contexto ou emite uma string em formato de credencial. Adicione uma regra no stage output para filtrar a resposta do modelo antes de ela retornar ao cliente. A categoria secrets traz um preset Code Secret in Output exatamente para isso: regras de block no stage de output para chaves privadas PEM, chaves de acesso AWS e tokens secretos estilo OpenAI.O mascaramento de output (substituir uma correspondência por uma tag
tipada em vez de rejeitar a resposta inteira) aplica-se atualmente apenas a
respostas não-streaming. Para credenciais na saída, a ação block é a
escolha confiável em tráfego streaming. Comprove sua combinação de
stage/stream na aba Test do guardrail antes de depender dela.
4. Sanitize segredos dos argumentos de chamada de ferramenta
Quando seu agente constrói uma chamada de ferramenta, uma credencial pode ir junto nos argumentos. O veredito sanitize do Firewall redige os substrings correspondentes dos argumentos da chamada de ferramenta e encaminha a chamada limpa — nas superfíciesresponse e mcp, onde há
argumentos ao vivo no momento da chamada para reescrever.
Uma regra sanitize nomeia quais detectores redigir em sua config
sanitize_json — um conjunto de presets integrados mais regexes
customizados opcionais. Material correspondente é substituído por
[redacted:<preset>] (correspondências customizadas com [redacted:custom]):
aws_access_key, aws_secret_key, openai_key, anthropic_key e
bearer_token (mais email, ssn_us e credit_card para PII). Uma regra
sanitize deve nomear pelo menos um preset ou padrão customizado — um sanitizer
vazio é rejeitado ao salvar.
O guardrail Secrets Blocker (§2)
continua sendo sua defesa principal para credenciais no corpo da requisição —
o sanitizer do firewall é o complemento na camada de ação para segredos que
aparecem especificamente dentro de argumentos de chamada de ferramenta.
5. Empilhando as três defesas
| Onde o segredo está | Camada que o detém | Ação |
|---|---|---|
| No prompt | Secrets Blocker (guardrail de input) | block |
| Na resposta do modelo | Regra de segredos de output (guardrail de output) | block |
| Em um argumento de chamada de ferramenta | Sanitizer do firewall | sanitize |
6. Observe o que disparou
Cada regra de guardrail que dispara registra uma correspondência — tipo de regra, ação, stage e uma string de detalhe — no feed Matches do workspace (GET /api/guardrail/match, Member). O substring correspondente é registrado
apenas quando “Log raw content” está ligado, o que está desligado por
padrão — a postura conservadora de privacidade, para que o feed Matches não
se torne ele próprio um lugar onde segredos se acumulam. Deixe-o desligado
para regras de credencial a menos que você especificamente precise do
substring para triagem.
Decisões de sanitize do Firewall caem no feed Events do Firewall
(GET /api/workspace/firewall/events, Developer+), com segredos e blobs de
regra nunca registrados.
7. Para onde ir a seguir
Referência de Guardrails
Tipos de regra, entidades de PII, presets, o sandbox de teste e o eval
harness por completo.
Referência de regras do Firewall
A linguagem de correspondência — globs de ferramenta, cláusulas de
argumento e sanitizers.
Exposição de PII
A ameaça de conteúdo irmã: dados pessoais em prompts e respostas.
Exfiltração de dados
Quando uma credencial vazada se torna o payload de uma chamada de exfil
outbound.
Guardrails vs. Firewall
Qual plano detém qual classe de vazamento, e como eles compõem.
Linha de base de agentes seguros
A postura inicial que liga essas defesas em conjunto.
