---
title: "Sicurezza degli agenti AI: OWASP Top 10, incidenti, difese · DotsAgent"
description: "Riferimento sulla sicurezza degli agenti: entrambe le liste OWASP Top 10 del 2026, 17 incidenti reali da MCP a OpenClaw, 15 difese e una checklist per i team che mettono in produzione agenti AI."
url: https://dotsagent.io/it/security
---

Sicurezza · riferimento

# Sicurezza degli agenti

Gli agenti leggono testi scritti da sconosciuti e poi agiscono con le tue credenziali. Questa pagina illustra la regola fondamentale, entrambe le liste OWASP del 2026, gli incidenti finora registrati e le difese che li avrebbero evitati.

## La trifecta letale

1. **Accesso ai dati privati** Email, repository, database, file o qualsiasi altra risorsa protetta dalle tue credenziali.
2. **Esposizione a contenuti non attendibili** Pagine web, issue, ticket di assistenza, email in arrivo e descrizioni degli strumenti: qualsiasi testo che un aggressore può scrivere.
3. **Possibilità di comunicare con l'esterno** Inviare email, aprire pull request, recuperare URL o visualizzare immagini remote. Simon Willison ha definito questa combinazione di tre elementi nel giugno 2025.

Se un agente riunisce tutti e tre gli elementi, presumi che un prompt injection possa indurlo a consegnare i tuoi dati a un aggressore. Non fare affidamento sul fatto che il modello si rifiuti: elimina almeno un elemento da ogni agente e sessione.

- [Checklist di sicurezza](https://dotsagent.io/it/security/checklist): 22 verifiche relative a input, strumenti, runtime, MCP, CI e operazioni. Spuntale man mano e scarica il risultato come file Markdown.

- [Registro degli incidenti](https://dotsagent.io/it/security/incidents): Per ogni incidente pubblico di sicurezza degli agenti dal aprile 2025: cosa è successo, perché l'attacco è riuscito e cosa modificare nella tua configurazione.

## Incidenti recenti

- 5 giu 2026 [MCP Python SDK: hijacking delle sessioni e accesso ai task di altre sessioni](https://dotsagent.io/it/security/incidents/2026-06-mcp-python-sdk-session-hijack)
- giu 2026 [L'approvazione automatica di WebFetch in Claude Code esponeva dati tramite huggingface.co](https://dotsagent.io/it/security/incidents/2026-06-claude-code-webfetch-exfiltration)
- 15 apr 2026 [Comment and Control: il testo delle PR sottrae segreti agli agenti CI](https://dotsagent.io/it/security/incidents/2026-04-comment-and-control-ci-secrets)
- 4 feb 2026 [MCP TypeScript SDK ha esposto le risposte tra client](https://dotsagent.io/it/security/incidents/2026-02-mcp-typescript-sdk-response-leak)
- 1 feb 2026 [ClawHavoc: centinaia di skill ClawHub malevole diffondono AMOS](https://dotsagent.io/it/security/incidents/2026-02-clawhavoc-malicious-skills)

## OWASP Top 10 per applicazioni agentiche 2026

L'OWASP GenAI Security Project ha pubblicato questa lista il 9 dicembre 2025. Include i rischi che emergono quando un modello pianifica, conserva la memoria, usa strumenti e collabora con altri agenti.

1. `ASI01` **Dirottamento degli obiettivi dell’agent** Un attaccante modifica l’obiettivo che l’agent cerca di raggiungere, di solito tramite istruzioni nascoste nei contenuti che legge. L’agent persegue quindi l’obiettivo dell’attaccante usando i tool e i permessi dell’utente.
2. `ASI02` **Uso improprio e sfruttamento dei tool** L’agent usa tool legittimi in modo dannoso, per esempio eliminando record, inviando messaggi o concatenando chiamate, perché è stato manipolato o dispone di tool con permessi più ampi di quelli necessari per il task.
3. `ASI03` **Abuso di identità e privilegi** Gli agent agiscono tramite credenziali, token delegati e permessi ereditati. Gli attaccanti sfruttano queste identità, o le lacune tra di esse, per aumentare i privilegi o agire a nome di qualcun altro.
4. `ASI04` **Vulnerabilità della supply chain agentica** Tool, server MCP, skill, plugin, modelli e prompt caricati in fase di build o durante l’esecuzione possono essere malevoli o compromessi. Poiché gli agent ne caricano molti in modo dinamico, un singolo componente compromesso raggiunge tutte le sessioni che lo usano.
5. `ASI05` **Esecuzione imprevista di codice (RCE)** Gli agent che scrivono ed eseguono codice, o passano l’output del modello a shell e interpreti, possono essere indotti a eseguire sull’host comandi scelti dall’attaccante.
6. `ASI06` **Avvelenamento di memoria e contesto** Gli attaccanti inseriscono fatti o istruzioni falsi nella memoria dell’agent, nei documenti recuperati o nel contesto salvato. L’avvelenamento persiste e condiziona le sessioni successive, molto tempo dopo che l’input originale è scomparso.
7. `ASI07` **Comunicazione non sicura tra agent** I messaggi tra agent vengono trasmessi senza un’autenticazione adeguata, controlli d’integrità o validazione; possono quindi essere falsificati, riprodotti o modificati per sviare l’agent che li riceve.
8. `ASI08` **Guasti a cascata** Un singolo errore, come un input avvelenato, un risultato errato di uno strumento o un agente compromesso, si propaga tra agenti connessi e passaggi automatizzati più rapidamente di quanto le persone riescano a intervenire.
9. `ASI09` **Sfruttamento della fiducia tra persone e agenti** Gli agenti sembrano sicuri e disponibili, quindi le persone tendono ad approvare le loro proposte. Gli aggressori sfruttano questa fiducia per indurre una persona a confermare un'azione dannosa o a rivelare informazioni.
10. `ASI10` **Agenti fuori controllo** Un agente compromesso o che si è discostato dal comportamento previsto continua ad agire autonomamente, al di fuori dell'ambito e della supervisione assegnati.

## OWASP Top 10 per applicazioni LLM 2026

Questa edizione è stata pubblicata il 4 agosto 2026 e sostituisce la lista del 2025. Excessive Agency è salita dal sesto al terzo posto e System Prompt Leakage è stata rinominata Hidden Context Exposure.

1. `LLM01` **Prompt Injection** Un input modifica il comportamento del modello in modi non previsti dallo sviluppatore. Può provenire direttamente dall'utente o indirettamente da documenti, pagine web e risultati degli strumenti letti dal modello.
2. `LLM02` **Divulgazione di informazioni sensibili** Il modello o l'applicazione rivela dati personali, credenziali, segreti aziendali o altro materiale riservato nel proprio output, attingendo ai dati di training, al contesto o ai sistemi connessi.
3. `LLM03` **Autonomia eccessiva** L'applicazione assegna al modello più funzioni, autorizzazioni o autonomia di quante ne richieda l'attività, così un output manipolato o errato può causare danni concreti. È passata dal sesto posto nel 2025 al terzo nel 2026.
4. `LLM04` **Catena di fornitura** Modelli, dataset, adapter, pacchetti e plugin di terze parti possono essere manomessi o vulnerabili, trasferendo questo rischio alla tua applicazione.
5. `LLM05` **Avvelenamento di dati e modelli** Gli aggressori manipolano i dati di pre-training, fine-tuning o embedding per inserire backdoor, distorsioni o comportamenti errati che emergono solo in seguito, in produzione.
6. `LLM06` **Consumo senza limiti** Senza limiti alle richieste, alle dimensioni degli input o alle risorse di calcolo, gli aggressori possono far lievitare i costi, esaurire le risorse o copiare un modello con un elevato volume di query.
7. `LLM07` **Disinformazione** Il modello genera output falsi o fuorvianti ma credibili, sui quali utenti o sistemi a valle agiscono senza verificarli.
8. `LLM08` **Esposizione del contesto nascosto** In precedenza chiamata divulgazione del system prompt. I system prompt, le istruzioni nascoste e altri elementi del contesto che l'utente non dovrebbe vedere possono essere estratti, rivelando regole, logica o segreti inseriti al loro interno.
9. `LLM09` **Vulnerabilità di vettori ed embedding** Difetti nella generazione, nell'archiviazione e nel recupero degli embedding consentono agli aggressori di iniettare contenuti, sottrarre dati tra tenant o ricostruire il testo sorgente. I sistemi RAG sono i più esposti.
10. `LLM10` **Gestione impropria dell'output** L'output del modello raggiunge browser, shell, database o altri componenti senza validazione né codifica, aprendo la strada a XSS, SQL injection, esecuzione di codice ed esfiltrazione di dati.

## Difese

Quindici difese documentate, ciascuna collegata alla propria fonte. Combinale, perché nessuna da sola blocca tutti gli attacchi.

### Interrompi la trifecta letale

La regola di Simon Willison: un agente che può leggere dati privati, vede contenuti non attendibili e può inviare dati all'esterno può essere usato contro di te tramite qualsiasi testo legga. Elimina almeno uno di questi tre elementi da ogni agente o sessione. Per esempio, l'agente che smista issue pubbliche non deve avere accesso a segreti, mentre quello che gestisce i segreti non deve avere un canale in uscita.

[simonwillison.net](https://simonwillison.net/2025/jun/16/the-lethal-trifecta/)

### Limita l'agente dopo input non attendibili

La ricerca sui pattern di progettazione per la sicurezza degli agenti stabilisce una regola: una volta che un agente ha acquisito input non attendibili, questi non devono poter innescare azioni rilevanti. Tra i pattern ci sono action-selector, plan-then-execute, dual LLM e minimizzazione del contesto. Scegline uno per ogni workflow: per esempio, fissa il piano prima che l'agente legga dati non attendibili.

[arxiv.org](https://arxiv.org/abs/2506.08837)

### Traccia il flusso dei dati con CaMeL

CaMeL divide l'agente in due parti: un planner privilegiato genera codice a partire dalla richiesta dell'utente, mentre un modello isolato gestisce i dati non attendibili. I valori provenienti dalla parte isolata portano tag di capability e le policy li verificano prima dell'esecuzione di qualsiasi tool. Nel paper ha risolto il 77% dei task di AgentDojo con sicurezza dimostrabile, contro l'84% di un agente senza protezioni.

[arxiv.org](https://arxiv.org/abs/2503.18813)

### Usa credenziali con privilegi minimi

Per impostazione predefinita, concedi agli agenti accesso in sola lettura limitato al progetto e non usare mai una chiave admin o service_role, che in Supabase aggira la sicurezza a livello di riga. Limita i token di CI e dei repository al singolo job per cui servono. L'incidente di Amazon Q Developer è stato ricondotto a un token GitHub con privilegi eccessivi in CodeBuild.

[supabase.com](https://supabase.com/blog/defense-in-depth-mcp)[aws.amazon.com](https://aws.amazon.com/security/security-bulletins/AWS-2025-015/)

### Richiedi l'approvazione per le azioni rilevanti

Richiedi la conferma di una persona per le chiamate ai tool che scrivono, eliminano, inviano o spendono, e nega l'azione se nessuno risponde. Supabase raccomanda l'approvazione manuale delle chiamate ai tool MCP. In OpenClaw, imposta tools.exec.ask su always e lascia askFallback su deny. Mostra tutti gli argomenti, così chi esamina la richiesta può vedere cosa verrà eseguito.

[supabase.com](https://supabase.com/blog/defense-in-depth-mcp)[docs.openclaw.ai](https://docs.openclaw.ai/tools/exec-approvals)

### Esegui codice e tool in una sandbox

Esegui i comandi shell e il codice generato in un container o una VM senza credenziali e con accesso limitato alla sola workspace. OpenClaw ha la sandbox disattivata per impostazione predefinita e tools.exec.security impostato su full sugli host gateway: attiva la sandbox, imposta la sicurezza di exec su deny o allowlist, imposta fs.workspaceOnly su true e lascia disattivata la modalità elevata. Verifica il risultato con openclaw sandbox explain.

[docs.openclaw.ai](https://docs.openclaw.ai/gateway/sandboxing)[docs.openclaw.ai](https://docs.openclaw.ai/gateway/security/hardened-baseline)

### Limita l'accesso alla rete in uscita

Nega per impostazione predefinita il traffico in uscita degli agenti e dei server MCP, poi consenti solo gli host necessari a ciascuno. Non approvare automaticamente le richieste a host multi-tenant su cui chiunque può pubblicare: è così che CVE-2026-54316 ha trasformato huggingface.co in un canale di esfiltrazione. Un server email dovrebbe poter raggiungere la propria API di posta e nient'altro, come ha dimostrato postmark-mcp.

[nvd.nist.gov](https://nvd.nist.gov/vuln/detail/CVE-2026-54316)[koi.ai](https://www.koi.ai/blog/postmark-mcp-npm-malicious-backdoor-email-theft)

### Tieni i control plane fuori da Internet

Fai il bind dei gateway degli agenti, delle dashboard e dei proxy di debug a loopback e richiedi un token di almeno 24 caratteri, ad esempio generato con openssl rand -hex 32. Per l'accesso remoto, usa un tunnel SSH o Tailscale Serve; usa Tailscale Funnel solo con autenticazione tramite password. Esegui periodicamente openclaw security audit --deep.

[docs.openclaw.ai](https://docs.openclaw.ai/gateway/security/network-exposure)[docs.openclaw.ai](https://docs.openclaw.ai/gateway/tailscale)[docs.openclaw.ai](https://docs.openclaw.ai/gateway/security/running-the-audit)

### Verifica l'audience dei token MCP

La specifica di autorizzazione MCP impone al server di rifiutare i token di accesso non emessi per quel server e vieta di inoltrare il token di un client a un'API upstream. I client inviano gli indicatori di risorsa RFC 8707, così ogni token è associato a un solo server. Un server proxy deve ottenere il consenso di ogni client, altrimenti rischia di diventare un confused deputy.

[modelcontextprotocol.io](https://modelcontextprotocol.io/specification/2026-07-28/basic/authorization/security-considerations)[modelcontextprotocol.io](https://modelcontextprotocol.io/docs/tutorials/security/security_best_practices)

### Isola le sessioni e i tenant MCP

Crea un'istanza separata del server e del transport per ogni sessione, invece di condividerne una tra più client. Associa ogni sessione e task al principal autenticato che li ha creati e verifica tale associazione a ogni richiesta. Entrambi gli avvisi MCP SDK del 2026 erano dovuti a uno stato condiviso o non associato.

[github.com](https://github.com/advisories/GHSA-345p-7cg4-v4c7)[github.com](https://github.com/advisories/GHSA-JPW9-PFVF-9F58)

### Verifica skill, plugin e server MCP

Fissa le versioni esatte, esamina il diff prima di ogni aggiornamento e controlla i risultati di scanner come VirusTotal e lo stato dell'audit di sicurezza di ClawHub. Quando approvi un server, calcola l'hash delle descrizioni dei tool e genera un avviso se cambiano: così puoi rilevare i rug pull. OpenClaw non blocca l'installazione per impostazione predefinita, quindi configura personalmente security.installPolicy.

[openclaw.ai](https://openclaw.ai/blog/virustotal-partnership)[docs.openclaw.ai](https://docs.openclaw.ai/clawhub/security-audits)[invariantlabs.ai](https://invariantlabs.ai/blog/mcp-security-notification-tool-poisoning-attacks)[docs.openclaw.ai](https://docs.openclaw.ai/help/faq/security-and-access-control)

### Controlla chi può scrivere all'agente

Limita i DM agli utenti associati o a una allowlist, richiedi una menzione prima che l'agente intervenga nelle chat di gruppo e imposta session.dmScope su per-channel-peer, in modo che i mittenti non condividano mai il contesto. Chiunque possa scrivere all'agente può provare a dargli istruzioni: l'elenco dei mittenti fa quindi parte della superficie d'attacco.

[docs.openclaw.ai](https://docs.openclaw.ai/gateway/security/access-control)[docs.openclaw.ai](https://docs.openclaw.ai/gateway/security/hardened-baseline)

### Tieni i segreti fuori dalle esecuzioni CI non attendibili

Non eseguire un agente con i segreti del repository nei workflow che gli esterni possono attivare tramite pull request, issue o commento. Considera ostili i titoli, le descrizioni e i commenti di questi eventi. Se un passaggio ha davvero bisogno dei segreti, eseguilo solo dopo l'approvazione di un maintainer.

[oddguan.com](https://oddguan.com/blog/comment-and-control-prompt-injection-credential-theft-claude-code-gemini-cli-github-copilot/)

### Considera non attendibili gli output del modello

Codifica o sanifica gli output del modello prima di visualizzarli e non passarli mai senza controlli a una shell, una query SQL o un browser. Blocca il caricamento automatico di immagini Markdown e link verso domini esterni, e imposta una Content Security Policy rigorosa. EchoLeak ha esfiltrato dati tramite URL caricati automaticamente.

[genai.owasp.org](https://genai.owasp.org/resource/owasp-genai-llm-top-10-2026/)[nvd.nist.gov](https://nvd.nist.gov/vuln/detail/cve-2025-32711)

### Verifica le firme dell'agente, poi autorizzalo

Per identificare un agente che chiama il tuo sito o la tua API, verifica la sua firma Web Bot Auth con le chiavi pubblicate dall'operatore in /.well-known/http-message-signatures-directory. L'agente di ChatGPT firma come Signature-Agent https://chatgpt.com. Una firma valida indica chi gestisce l'agente, non quale utente l'ha inviato né cosa può fare quell'utente: autorizza quindi ogni richiesta separatamente.

[datatracker.ietf.org](https://datatracker.ietf.org/doc/draft-ietf-webbotauth-httpsig-protocol/)[help.openai.com](https://help.openai.com/en/articles/11845367-chatgpt-agent-allowlisting)

## Domande sulla sicurezza degli agenti

### Che cos'è il prompt injection negli agenti AI?

Il prompt injection è testo che il modello interpreta come istruzioni, anche se è stato ricevuto come dato, per esempio in una pagina web, un’email o la descrizione di un tool. In un agent, queste istruzioni possono attivare chiamate ai tool eseguite con le tue credenziali. OWASP lo classifica come LLM01:2026; Agent Goal Hijack (ASI01) riguarda la sua forma agentica.

### Che cos’è la trifecta letale per gli agent?

È il termine coniato da Simon Willison per descrivere un agent che combina l’accesso a dati privati, l’esposizione a contenuti non attendibili e la possibilità di comunicare con l’esterno. Quando sono presenti tutti e tre gli elementi, un prompt injection può leggere i tuoi dati e inviarli all’esterno. La fuga di token MCP di Supabase del 2025 è un caso da manuale.

### Come posso proteggere un server MCP?

Rifiuta i token di accesso non emessi per il tuo server e non inoltrare mai il token di un client a un’API upstream. Crea un’istanza del server e del trasporto per ogni sessione e associa sessioni e task all’utente autenticato. Usa TypeScript SDK 1.26.0 o versioni successive e Python SDK 1.27.2 o versioni successive: correggono una fuga di risposte tra client e il dirottamento delle sessioni.

### Un system prompt migliore può impedire il prompt injection?

Non farci affidamento. Le ricerche sui pattern di progettazione per gli agent sostengono che, una volta acquisito un input non attendibile, un agent deve essere vincolato in modo che l’input non possa attivare azioni con conseguenze rilevanti. CaMeL, che applica questi vincoli tramite il tracciamento delle capability, ha risolto il 77% dei task di AgentDojo con sicurezza dimostrabile, contro l’84% di un agent senza difese.

### Qual è la differenza tra OWASP LLM Top 10 e Agentic Top 10?

OWASP Top 10 for LLM Applications, la cui edizione 2026 è stata pubblicata il 4 agosto 2026, tratta i rischi di qualsiasi applicazione basata su un modello linguistico. OWASP Top 10 for Agentic Applications, pubblicata il 9 dicembre 2025, tratta i cambiamenti introdotti quando il modello pianifica, usa tool, conserva la memoria e comunica con altri agent. La maggior parte di chi sviluppa agent ha bisogno di entrambe.

### È sicuro esporre un gateway OpenClaw a internet?

No. Lascia gateway.bind sul valore predefinito loopback e, se ti serve l’accesso remoto, usa un tunnel SSH o Tailscale Serve. OpenA2A ha contato 192,492 gateway esposti il 1 settembre 2026; CVE-2026-25253 ha dimostrato che anche le installazioni accessibili solo tramite loopback devono essere aggiornate tempestivamente.

## Fonti

1. [genai.owasp.org](https://genai.owasp.org/resource/owasp-top-10-for-agentic-applications-for-2026/)/resource/owasp-top-10-for-agentic-applications-for-2026/
2. [genai.owasp.org](https://genai.owasp.org/download/52117)/download/52117
3. [genai.owasp.org](https://genai.owasp.org/resource/owasp-genai-llm-top-10-2026/)/resource/owasp-genai-llm-top-10-2026/
4. [github.com](https://github.com/GenAI-Security-Project/GenAI-LLM-Top10)/GenAI-Security-Project/GenAI-LLM-Top10

Riferimento indipendente per chi sviluppa agenti IA. Non siamo affiliati a nessun fornitore citato qui.

© 2026 DotsAgent · Dati verificati il 1 ottobre 2026
