Vai al contenuto principale
Un chatbot produce testo e un essere umano lo legge. Un agent AI legge pagine web non attendibili, esegue chiamate a tool, raggiunge servizi interni e installa capability trovate a runtime — spesso senza un essere umano nel loop. Quella differenza nella superficie di attacco è la differenza tra un problema di moderazione del testo e un problema completo di superficie d’attacco. Questa pagina cataloga le classi di minaccia che il tuo agent affronta e mappa ciascuna sul controllo di OrcaRouter che la contrasta. È l’hub per la sezione Minacce; ogni riga rimanda a una pagina di approfondimento. Per i controlli stessi, vedi Il control stack e Proteggere gli agent AI con OrcaRouter.

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 su shell.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.
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 →
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 →
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 →
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 →
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 →
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 →
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 →
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 →
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 →
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 →
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.
LayerCosa governaScatta quando
Chiavi con scopeIdentità — quali modelli, IP, tetto di spesa, scadenza e quali policy si colleganoOgni richiesta, prima che venga letto qualsiasi contenuto
GuardrailsContenuto — testo di prompt e rispostaStage input (prima del modello) e stage output (dopo che il modello risponde)
Agent FirewallAzioni — chiamate a tool, dispatch MCP, destinazioni egressSu ogni chiamata a tool / destinazione in uscita, sulla superficie in cui è stata rilevata
AuditAttribuzione — ogni match, verdetto, approvazione e modifica alla policyDopo ogni decisione, correlato all’esecuzione dell’agent
I layer sono indipendenti e additivi — una richiesta passa attraverso tutti e quattro. I livelli di autonomia (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.
Vedi Guardrails vs. Firewall per un confronto più approfondito.

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 stackGuardrailsAgent FirewallRegole del firewallGateway MCPSkillChiavi con scopeZero trust per agent AI