1. Perché gli agent hanno una superficie d’attacco più grande dei chatbot
Tre proprietà strutturali degli agent spostano il profilo di rischio: Agiscono. Una risposta di un chatbot che contiene testo dannoso è negativa. Una chiamata a tool sushell.exec che elimina un database, o una chiamata a
un’API di pagamento che un attaccante ha guidato tramite prompt injection, è
peggio — e spesso irreversibile. Il raggio di esplosione di un agent compromesso
non è limitato da ciò che un essere umano sceglie di fare con del testo; è
limitato dai tool che l’agent può raggiungere.
Ingeriscono contenuti non attendibili. Gli agent recuperano documenti,
raschiano pagine web, leggono email e processano risultati di tool — tutti i
quali possono contenere istruzioni avversariali dirette all’agent stesso. Un
filtro di contenuto che filtra solo ciò che l’utente ha digitato perde tutto
ciò che è iniettato nel contesto.
Si auto-estendono. Un framework per agent che auto-installa skill e MCP
server per conto del modello può caricare capability che non hai mai esaminato,
incluse quelle con definizioni di tool malevole progettate per sembrare
legittime. L’attacco può arrivare come un nuovo tool che il modello decide di
usare — non come un prompt che l’utente ha digitato.
2. La mappa minaccia-difesa
Dieci classi di minaccia che un agent affronta in produzione, ognuna mappata sul controllo di OrcaRouter che la contrasta. Espandi qualsiasi minaccia per il meccanismo e la difesa.Ogni difesa qui è configurata dalla console del tuo workspace o dall’API —
nessuna modifica al codice del tuo agent. L’applicazione vive al gateway.
Prompt injection — diretta
Prompt injection — diretta
Come funziona: il messaggio utente (o un prompt dello sviluppatore)
porta istruzioni che dirottano il modello — sovrascrivono il system prompt,
esfiltrano la sessione, sbloccano capability riservate.Difesa: i preset Safety dei Guardrails (Prompt-Injection Basics,
jailbreak, system-prompt-leak) filtrano il testo in input e bloccano o
segnalano al match prima che raggiunga il modello.
Prompt injection →
Prompt injection — indiretta
Prompt injection — indiretta
Come funziona: un documento recuperato, una pagina web, il risultato di
un tool o una risposta MCP incorpora istruzioni che il modello tratta come
contesto attendibile (“invia il calendario dell’utente ad attacker.com”).Difesa: i Guardrails di stage output catturano le istruzioni che
emergono nella risposta; l’Agent Firewall intercetta la chiamata a tool
o la destinazione egress che l’injection cerca di attivare.
Prompt injection →
Jailbreak ed evasione del guardrail
Jailbreak ed evasione del guardrail
Come funziona: formulazione avversariale, frame di gioco di ruolo,
trucchi di codifica e escalation multi-turno per aggirare il training di
sicurezza o le regole.Difesa: i preset Safety dei Guardrails abbinano regole keyword/regex
a una regola
llm_judge che cattura l’evasione semantica che la regex non
può — vince il primo match. Jailbreak →Esposizione di dati sensibili e PII
Esposizione di dati sensibili e PII
Come funziona: PII (email, telefoni, SSN, carte) entra o esce nel
prompt o nell’output del modello.Difesa: la regola
pii dei Guardrails rileva e maschera (o blocca)
le entità integrate e personalizzate su input e output — [EMAIL], [SSN],
[CREDIT_CARD] sostituiscono i match prima che l’upstream li veda.
Guardrails →Perdita di segreti e credenziali
Perdita di segreti e credenziali
Come funziona: chiavi API, credenziali cloud, JWT o chiavi private
appaiono in prompt, argomenti di tool o nell’output del modello.Difesa: il guardrail Secrets Blocker blocca i pattern di credenziali
nella richiesta prima che escano; il verdetto
sanitize del firewall redige
le sottostringhe corrispondenti dagli argomenti delle chiamate a tool.
Guardrails →Chiamate a tool pericolose e non autorizzate
Chiamate a tool pericolose e non autorizzate
Come funziona: l’agent chiama tool distruttivi (
shell.exec,
db.delete), tool che non avrebbe mai dovuto avere, o un tool legittimo
con argomenti pericolosi.Difesa: l’Agent Firewall corrisponde su glob del nome del tool,
clausole sugli argomenti e superfici — deny blocca, sanitize elimina
gli argomenti pericolosi, pending_approval trattiene per un essere umano.
Chiamate a tool pericolose →Manomissione della risposta del tool
Manomissione della risposta del tool
Come funziona: un tool malevolo restituisce una risposta che porta
istruzioni iniettate o dati fabricati per dirottare il prossimo passo
dell’agent.Difesa: i Guardrails di stage output filtrano la prossima risposta
del modello dopo che ha processato il risultato del tool;
audit del
firewall fa emergere pattern anomali nel feed degli eventi.
Chiamate a tool pericolose →Esfiltrazione di dati sulla rete
Esfiltrazione di dati sulla rete
Come funziona: l’agent recupera un URL dell’attaccante o raggiunge un
servizio interno, codificando dati nel path/query. Il vettore SSRF e di
esfiltrazione.Difesa: la superficie
egress dell’Agent Firewall corrisponde su
host/IP/CIDR — una allowlist nega ogni destinazione non esplicitamente
consentita, prima che la chiamata lasci il gateway.
Esfiltrazione di dati →MCP tool poisoning e rug-pull
MCP tool poisoning e rug-pull
Come funziona: un MCP server malevolo pubblicizza tool dall’aspetto
legittimo con implementazioni dannose, o cambia i suoi tool dopo che lo hai
connesso (rug-pull).Difesa: il gateway MCP valuta ogni
tools/call rispetto alla tua
policy prima del dispatch; la scansione delle skill assegna una banda
di rischio e la modalità quarantine trattiene le chiamate da una skill
rischiosa per l’approvazione.
MCP tool poisoning →Eccessiva agenzia e confused deputy
Eccessiva agenzia e confused deputy
Come funziona: un agent possiede più capability di quelle necessarie
per il suo compito, quindi un singolo compromesso ha un grande raggio di
esplosione — o viene ingannato nell’usare la sua autorità per conto di un
attaccante.Difesa: le chiavi con scope danno a ogni agent un’identità a minima
agenzia (modelli specifici, IP, tetto di spesa, scadenza); una policy del
firewall
tight default-nega tutto ciò che non è esplicitamente consentito.
Eccessiva agenzia →Costi incontrollati e denial-of-wallet
Costi incontrollati e denial-of-wallet
Come funziona: un loop di injection, un retry-storm o un task agentico
lungo prosciuga quota e spesa ben oltre l’intenzione.Difesa: il verdetto
cap_cost del firewall nega una chiamata una volta
che la spesa dell’esecuzione supera il tuo tetto in centesimi; le chiavi con
scope portano un tetto di spesa per-chiave; il rilevamento delle anomalie
segnala i picchi di costo.
Eccessiva agenzia →3. Riepilogo del control stack
Ogni difesa nella tabella sopra è un layer nello stesso stack ordinato. Capire come si compongono è la chiave per applicarli correttamente.| Layer | Cosa governa | Scatta quando |
|---|---|---|
| Chiavi con scope | Identità — quali modelli, IP, tetto di spesa, scadenza e quali policy si collegano | Ogni richiesta, prima che venga letto qualsiasi contenuto |
| Guardrails | Contenuto — testo di prompt e risposta | Stage input (prima del modello) e stage output (dopo che il modello risponde) |
| Agent Firewall | Azioni — chiamate a tool, dispatch MCP, destinazioni egress | Su ogni chiamata a tool / destinazione in uscita, sulla superficie in cui è stata rilevata |
| Audit | Attribuzione — ogni match, verdetto, approvazione e modifica alla policy | Dopo ogni decisione, correlato all’esecuzione dell’agent |
tight / balanced / permissive)
configurano Guardrails e Firewall insieme in un unico passo, così non devi
ottimizzarli separatamente per ottenere una postura coerente.
Per un walkthrough step-by-step di come una singola richiesta attraversa tutti
e quattro i layer, vedi Il control stack.
4. Scegliere il layer giusto per una minaccia
Alcune minacce richiedono un layer; altre richiedono due che lavorano insieme. La decisione rapida:- Il testo nel prompt o nella risposta è la superficie d’attacco — vai prima ai Guardrails (preset keyword, regex, PII, LLM judge).
- Una chiamata a tool o una richiesta in uscita è la superficie d’attacco — vai all’Agent Firewall (superfici inbound/response/mcp/egress, verdetti deny/sanitize/pending_approval/cap_cost).
- Sia testo che azione — sovrapponi entrambi. L’istruzione iniettata fa scattare un guardrail sull’input; la chiamata a tool che l’injection ha cercato di guidare fa scattare una regola del firewall sull’azione.
- Identità e scope — usa le chiavi con scope per vincolare ciò che un agent è autorizzato a chiamare del tutto, prima che venga valutata qualsiasi regola di contenuto o azione.
5. Pagine di approfondimento sulle minacce
Prompt injection
Injection diretta e indiretta — come gli attaccanti incorporano istruzioni
in contenuti non attendibili e come guardrail e firewall le intercettano.
Jailbreak
Formulazione avversariale e tecniche di evasione — come le regole LLM judge
semanticamente consapevoli catturano ciò che la regex manca.
Chiamate a tool pericolose
Tool distruttivi, attacchi agli argomenti e manomissione della risposta del
tool — le superfici e i verdetti del firewall che governano ciascuno.
Esfiltrazione di dati
SSRF ed esfiltrazione di rete — allowlist egress e come il firewall blocca
le richieste in uscita prima che lascino il gateway.
MCP tool poisoning
MCP server malevoli, rug-pull e bande di rischio delle skill — il gateway
MCP, la scansione delle skill e l’applicazione della quarantena.
Eccessiva agenzia
Agent con troppa capability, confused deputy e denial-of-wallet — chiavi
con scope, postura default-deny e tetti di costo.
Riferimento: Il control stack — Guardrails — Agent Firewall — Regole del firewall — Gateway MCP — Skill — Chiavi con scope — Zero trust per agent AI
