.env in un prompt per “aiuto con il debug”. Un documento recuperato porta con
sé una chiave API incorporata. Un modello, a cui viene chiesto di “mostrare la
config”, riecheggia una chiave di accesso AWS direttamente al client. Un agent
costruisce una chiamata a tool con un token live incorporato negli argomenti.
Ognuno di questi è un percorso per cui una credenziale può sfuggire — nei log di
un provider upstream, in un transcript del client o in un tool di terze parti.
Questa pagina copre come i Guardrails e l’Agent
Firewall di OrcaRouter ti permettono di difenderti dalla
fuga di segreti verso l’LLM — senza modificare il codice della tua
applicazione.
La detection avviene al gateway, davanti a ogni chiave collegata — così una
singola policy copre ogni provider, ogni modello e ogni agent senza una modifica
all’SDK.
1. Dove trapelano i segreti
Una credenziale può sfuggire in tre punti distinti di una richiesta:Nel prompt (input)
Nel prompt (input)
La credenziale è nella richiesta prima che il modello giri — una chiave
incollata, uno snippet
.env, un token dentro un chunk RAG recuperato.
Se non controllata raggiunge il provider upstream e può finire nei loro log.
Fermala con il guardrail di input Secrets Blocker
(§2).Nella risposta (output)
Nella risposta (output)
Il modello emette un segreto di ritorno al tuo client — rigurgita una chiave
dal suo contesto, o allucina una stringa a forma di credenziale. Intercettala
con una regola secrets di output
(§3).
In un argomento di chiamata a tool
In un argomento di chiamata a tool
Il tuo agent costruisce una chiamata a tool con un token negli argomenti. Il
verdetto sanitize del Firewall redige le sottostringhe corrispondenti
dagli argomenti prima che la chiamata venga dispatchata
(§4).
2. Secrets Blocker — ferma le credenziali nel prompt
Il Secrets Blocker è un preset di guardrail sotto la categoria secrets che gira allo stage input. Scansiona la richiesta alla ricerca di forme di credenziale — chiavi di accesso AWS, chiavi in stile OpenAI e token GitHub — e blocca la chiamata prima che lasci il gateway. La credenziale non raggiunge mai un modello. Scrivilo una volta nella console, collega una chiave, e ogni richiesta attraverso quella chiave viene filtrata:Crea il guardrail
Nella console, apri
/console/guardrails, clicca New guardrail e applica
il preset Secrets & API-Key Blocker dalla categoria secrets. Genera
un guardrail con regole di block in fase di input per le forme di credenziale
comuni — modificalo liberamente da lì.Collega una chiave
Apri
/console/token, modifica una chiave API e scegli il guardrail dal menu
a tendina Guardrail — oppure impostalo come default del workspace così
ogni chiave non collegata lo eredita.[JWT] / [AWS_ACCESS_KEY]), una
regola pii che copre jwt, aws_access_key e api_key_openai è
l’alternativa basata sulle entità; vedi il
riferimento Guardrails.
3. Blocca i segreti nell’output del modello
Un segreto può anche uscire nella risposta — il modello riecheggia una chiave dal suo contesto o emette una stringa a forma di credenziale. Aggiungi una regola sullo stage output per filtrare la risposta del modello prima che torni al client. La categoria secrets include un preset Code Secret in Output proprio per questo: regole di block in fase di output per chiavi private PEM, chiavi di accesso AWS e token segreti in stile OpenAI.Il masking di output (sostituire un match con un tag tipizzato anziché
rifiutare l’intera risposta) si applica attualmente solo alle risposte
non-streaming. Per le credenziali nell’output, l’azione block è la scelta
affidabile sul traffico in streaming. Verifica la tua combinazione stage/stream
nel tab Test del guardrail prima di farci affidamento.
4. Sanitizza i segreti dagli argomenti delle chiamate a tool
Quando il tuo agent costruisce una chiamata a tool, una credenziale può viaggiare con essa negli argomenti. Il verdetto sanitize del Firewall redige le sottostringhe corrispondenti dagli argomenti della chiamata a tool e inoltra la chiamata ripulita — sulle superficiresponse e mcp, dove ci sono argomenti
live al momento della chiamata da riscrivere.
Una regola sanitize nomina quali rilevatori redigere nella sua config
sanitize_json — un set di preset integrati più regex custom opzionali.
Il materiale corrispondente viene sostituito con [redacted:<preset>] (i match
custom con [redacted:custom]):
aws_access_key,
aws_secret_key, openai_key, anthropic_key e bearer_token (più email,
ssn_us e credit_card per le PII). Una regola sanitize deve nominare almeno un
preset o un pattern custom — un sanitizer vuoto viene rifiutato al salvataggio.
Il guardrail Secrets Blocker (§2)
resta la tua difesa primaria per le credenziali nel corpo della richiesta — il
sanitizer del firewall è il complemento a livello di azione per i segreti che
compaiono specificamente dentro gli argomenti delle chiamate a tool.
5. Stratificare le tre difese
| Dov’è il segreto | Layer che lo ferma | Azione |
|---|---|---|
| Nel prompt | Secrets Blocker (guardrail di input) | block |
| Nella risposta del modello | Regola secrets di output (guardrail di output) | block |
| In un argomento di chiamata a tool | Sanitizer del firewall | sanitize |
6. Osserva cosa è scattato
Ogni regola di guardrail che scatta registra un match — tipo di regola, azione, stage e una stringa di dettaglio — sul feed Matches del workspace (GET /api/guardrail/match, Member). La sottostringa corrispondente viene
registrata solo quando “Log raw content” è attivo, ed è disattivato di
default — la postura conservativa per la privacy, così il feed Matches non
diventa esso stesso un posto in cui i segreti si accumulano. Lascialo disattivato
per le regole sulle credenziali a meno che non ti serva specificamente la
sottostringa per il triage.
Le decisioni di sanitize del firewall finiscono nel feed Events del Firewall
(GET /api/workspace/firewall/events, Developer+), con segreti e blob delle
regole mai loggati.
7. Dove andare dopo
Riferimento Guardrails
Tipi di regola, entità PII, preset, la sandbox di test e l’eval harness per
intero.
Riferimento regole del Firewall
Il linguaggio di matching — glob di tool, clausole sugli argomenti e
sanitizer.
Esposizione di PII
La minaccia di contenuto sorella: dati personali in prompt e risposte.
Esfiltrazione di dati
Quando una credenziale trapelata diventa il payload di una chiamata di
esfiltrazione in uscita.
Guardrails vs Firewall
Quale piano ferma quale classe di fuga, e come si compongono.
Baseline secure-agents
La postura di partenza che attiva queste difese insieme.
