Entrambe le liste OWASP che descrivono la sicurezza dei sistemi basati su modelli linguistici trattano l’uscita dei dati dal sistema come un esito centrale: la Top 10 for LLM Applications 2025 classifica la divulgazione di informazioni sensibili (Sensitive Information Disclosure) come LLM02 [2], e la Top 10 for Agentic Applications for 2026, pubblicata il 9 dicembre 2025, menziona l’esfiltrazione in otto delle sue dieci voci [4]. Su un Mac, quell’esfiltrazione è una connessione di rete. FireAI 1.0.4 estende il suo Agent profile da tre agenti riconosciuti a 19, compresi agenti che girano all’interno di node o python; questo articolo espone quali rischi OWASP sono affrontati da questo lavoro e quali no.

Contesto
Un agente di IA su un Mac viene eseguito con i permessi dell’account che lo avvia. Legge file, esegue comandi di shell e apre connessioni di rete, e decide cosa fare in seguito sulla base del testo che legge, compreso testo scritto da altri. OWASP definisce la prompt injection come una vulnerabilità che «si verifica quando i prompt dell’utente alterano il comportamento o l’output dell’LLM in modi non previsti», e annovera «la divulgazione di informazioni sensibili» tra i suoi effetti [1].
FireAI è un firewall di rete. Non viene eseguito all’interno di un agente e non legge prompt, file o il contenuto delle connessioni cifrate. Ciò che vede è quale programma apre ciascuna connessione, l’host di destinazione e quanti byte vengono inviati [5]. Agent profile, introdotto in FireAI 1.0.2, utilizza questi metadati per apprendere dove ciascun agente si connette abitualmente, e segnala una destinazione mai contattata o un caricamento insolitamente grande. La modalità di sicurezza Agent profile, aggiunta nella 1.0.3, blocca una nuova destinazione finché l’utente non la consente [6].
Che cosa descrive OWASP
Top 10 for LLM Applications 2025
- LLM01:2025 Prompt Injection. Lo scenario di esempio 2 descrive istruzioni nascoste in una pagina web che inducono un modello a «inserire un’immagine collegata a un URL, portando all’esfiltrazione della conversazione privata» [1].
- LLM02:2025 Sensitive Information Disclosure. La voce indica «informazioni di identificazione personale (PII), dati finanziari, cartelle cliniche, dati aziendali riservati, credenziali di sicurezza e documenti legali» come le informazioni in gioco [2].
- LLM06:2025 Excessive Agency. La voce riconduce il rischio a un eccesso di funzionalità, permessi e autonomia; nel suo esempio un’e-mail in arrivo induce un agente a scorrere la casella di posta dell’utente e a inoltrare informazioni sensibili all’aggressore [3].
Top 10 for Agentic Applications for 2026
- ASI01 Agent Goal Hijack: istruzioni nascoste in pagine web o documenti «reindirizzano silenziosamente un agente per esfiltrare dati sensibili o fare un uso improprio degli strumenti collegati» [4].
- ASI02 Tool Misuse and Exploitation: gli agenti fanno un uso improprio di strumenti legittimi, «portando all’esfiltrazione di dati, alla manipolazione dell’output degli strumenti o al dirottamento dei flussi di lavoro». Gli esempi comprendono un agente che concatena strumenti amministrativi legittimi, tra cui cURL, per inviare all’esterno log sensibili, e uno strumento ping approvato usato per far trapelare dati tramite query DNS [4].
- ASI04 Agentic Supply Chain Vulnerabilities: tra gli esempi, un pacchetto npm compromesso, installato automaticamente da agenti di programmazione, che «ha esfiltrato chiavi SSH e token API» [4].
- ASI05 Unexpected Code Execution: comandi di shell nascosti in un prompt ed eseguiti dall’agente, «con conseguente accesso non autorizzato al sistema o esfiltrazione di dati» [4].
- ASI10 Rogue Agents: un agente che continua a inviare dati all’esterno dopo una prompt injection indiretta; la mitigazione indicata è un livello comportamentale che monitora le deviazioni, compresi i «tentativi inattesi di esfiltrazione di dati» [4].
Per ASI02, la terza mitigazione del documento si intitola Execution Sandboxes and Egress Controls e recita: «Applicare allowlist in uscita e negare tutte le destinazioni di rete non approvate» [4]. La stessa voce richiede profili a privilegio minimo per ciascuno strumento che includano allowlist in uscita. Queste due raccomandazioni sono quelle che un firewall di rete sul Mac è in grado di attuare.
Che cosa riconosce FireAI 1.0.4
Le versioni precedenti riconoscevano Claude Code, l’app desktop Claude e Cursor tramite la firma del codice, e ChatGPT e Codex tramite il percorso. Gli agenti eseguiti all’interno di un runtime di script non venivano riconosciuti: per il firewall, OpenClaw era node e Aider era python [5]. FireAI 1.0.4 legge gli argomenti dei processi node, bun, deno e python per individuare lo script che eseguono, e aggiunge 14 agenti.
| Agente | Come lo riconosce FireAI |
|---|---|
| Claude Code, Claude, Cursor | Firma del codice con l’identificativo del team dello sviluppatore; Claude Code anche tramite la cartella di installazione |
| ChatGPT, Windsurf, Kiro, Trae, Goose, OpenClaw | Il bundle dell’app da cui viene eseguito il programma |
| Muse di Meta | L’identificativo di firma della sua app del Mac App Store |
| Codex, opencode, Crush, Goose, l’agente a riga di comando di Cursor | Il nome del programma nativo a riga di comando |
| OpenClaw, Hermes Agent, Gemini CLI, GitHub Copilot CLI, Amp, Qwen Code, opencode, Aider, Codex, Claude Code | Lo script eseguito da node, bun, deno o python, o la cartella in cui è installato |
OpenAI descrive dots come agenti che vengono eseguiti su un proprio computer nel cloud [8]. Il loro traffico sul Mac passa attraverso l’app ChatGPT, perciò FireAI lo attribuisce a ChatGPT. Muse di Meta [9] viene riconosciuto tramite il suo identificativo App Store.
Il riconoscimento si estende a ciò che un agente avvia. Quando una shell, git, curl o un installatore di pacchetti apre una connessione, FireAI risale la catena dei processi padre, fino a otto livelli, finché non raggiunge un agente riconosciuto, e registra la connessione sotto quell’agente [5]. È il caso che OWASP descrive in ASI02, in cui strumenti legittimi come cURL portano fuori i dati: lo strumento è attendibile, ma il suo processo padre è un agente.
I browser web agentici e le app di terminale sono esclusi deliberatamente. Tutto il loro traffico verrebbe attribuito all’agente, e la modalità Agent profile bloccherebbe allora la normale navigazione.
Corrispondenza tra i controlli e le voci OWASP
| Voce OWASP | Controllo FireAI | Ciò che resta escluso |
|---|---|---|
| LLM01, ASI01: istruzioni iniettate deviano l’agente | Una richiesta a un host mai contattato dall’agente viene segnalata, o bloccata in modalità Agent profile | L’iniezione stessa; i dati inviati a una destinazione che l’agente usa già |
| LLM02: divulgazione di informazioni sensibili | Viene segnalato un picco di caricamento: un’ora con almeno 4 volte l’ora di maggiore attività dell’agente, e mai sotto i 25 MB | Le piccole fughe, come una singola chiave o un singolo token; FireAI non è in grado di stabilire se i dati siano sensibili |
| LLM06: autonomia eccessiva | Le regole per app limitano le destinazioni che ciascun programma può raggiungere | I messaggi inviati tramite un servizio che l’agente è autorizzato a usare, come il suo provider di posta |
| ASI02: strumenti legittimi usati per esfiltrare | I processi figli vengono attribuiti all’agente; la modalità Agent profile agisce come allowlist in uscita appresa | I dati codificati in query DNS: il DNS non viene mai bloccato dalla modalità Agent profile |
| ASI04, ASI05: un pacchetto o un comando eseguito dall’agente | Le connessioni del codice eseguito dall’agente vengono segnalate o bloccate come quelle dell’agente stesso | Il codice eseguito in seguito, al di fuori dell’agente, ricade invece nelle normali regole per app |
| ASI10: un agente che continua a inviare dati all’esterno | Ogni agente ha una baseline; gli scostamenti vengono segnalati con una frase in linguaggio semplice | Il comportamento appreso durante i primi 3 giorni entra a far parte della baseline |
La segnalazione descrive i fatti misurati da FireAI, per esempio che un agente non aveva mai contattato un server prima e gli ha inviato 40 MB. Quando il modello di IA locale è attivato, riformula questi fatti in una frase. Non giudica se una destinazione sia sicura; la decisione spetta all’utente [5].
Le restanti voci della lista 2026, Identity and Privilege Abuse (ASI03), Memory and Context Poisoning (ASI06), Insecure Inter-Agent Communication (ASI07), Cascading Failures (ASI08) e Human-Agent Trust Exploitation (ASI09), riguardano ciò che accade all’interno degli agenti e tra di essi. Un firewall di rete sul Mac ne vede le conseguenze solo quando sfociano in una connessione.
Raccomandazioni
- Lasciare che ciascun agente funzioni normalmente nei suoi primi 3 giorni, in modo che la sua baseline rifletta il lavoro ordinario e non una prova con un nuovo strumento.
- Consultare regolarmente la scheda Agenti di IA in Suggerimenti. Una destinazione contattata per la prima volta subito dopo che l’agente ha letto una pagina web, un’e-mail o un repository sconosciuto corrisponde allo schema che OWASP descrive in ASI01.
- Per un agente che lavora su codice o documenti sensibili, passare alla modalità di sicurezza Agent profile, in modo che le nuove destinazioni restino bloccate finché non vengono consentite [6].
- Tenere i segreti fuori dalla portata dell’agente. FireAI vede dove vanno i dati, non che cosa sono, e non può recuperare dati già inviati a una destinazione consentita.
- Per un agente che FireAI non nomina, scrivere una regola per il programma con cui viene eseguito [7].
Rilevanza per FireAI
FireAI applica il versante in uscita delle indicazioni OWASP sul Mac stesso: una allowlist per agente, appresa anziché scritta a mano, con una segnalazione o un blocco quando viene violata. Opera esclusivamente sui metadati di connessione, e nulla dell’attività dell’utente lascia il Mac. Non impedisce la prompt injection, non ispeziona ciò che un agente invia e non sostituisce il sandboxing, le credenziali a privilegio minimo o l’approvazione umana delle azioni ad alto impatto, che i documenti OWASP raccomandano anch’essi.
Limiti
- FireAI riconosce i 19 agenti elencati sopra, non ogni agente. Qualsiasi altro programma, agente o meno, è coperto dalle normali richieste di connessione e dalle regole per app di FireAI, ma non ha una baseline e non genera segnalazioni specifiche per gli agenti.
- Il riconoscimento tramite percorso o nome dello script è un’etichetta per la baseline, non una prova di identità. Un programma può copiare il nome della cartella di un altro agente. Solo Claude Code, Claude e Cursor vengono verificati rispetto all’identificativo del team del loro sviluppatore; l’identificativo del team di Muse non è ancora stato verificato su una copia installata.
- Un processo figlio che termina entro circa un decimo di secondo può essere già scomparso prima che FireAI risalga i suoi processi padre, e la sua connessione non viene allora attribuita all’agente.
- Durante i primi 3 giorni non viene segnalato nulla, e tutto ciò che l’agente fa in quel periodo diventa normale per esso.
- Le destinazioni sono raggruppate per dominio. I dati inviati a un nuovo server sotto un dominio che l’agente usa già, o a un servizio condiviso come un hosting di codice, non vengono segnalati.
- FireAI non può leggere prompt, contenuti degli strumenti MCP, skill o traffico cifrato, e non vede quali file apre un agente.
- La corrispondenza sopra riportata è la lettura dei documenti OWASP da parte di HisnLabs. OWASP non ha esaminato né approvato FireAI.
Il ruolo di FireAI e di HisnLabs
Un agente sul tuo Mac può essere guidato da un’istruzione nascosta. FireAI mostra, e può bloccare, dove vanno poi i suoi dati.
FireAI è il prodotto di HisnLabs: un firewall con IA che funziona direttamente sul Mac. Mostra in linguaggio chiaro ogni connessione che le tue app effettuano e ti lascia decidere cosa esce dal tuo Mac — la sua IA lavora in locale, quindi il tuo traffico non viene mai inviato a noi né a nessun altro. Il team di ricerca sulla sicurezza di HisnLabs è quello che mantiene affidabili queste decisioni: cataloga quali domini sono semplice telemetria e quali un servizio reale, traccia il Paese e la rete dietro una connessione e addestra il modello locale (la funzione FireAI Pilot) su schemi di traffico reali, senza che nulla lasci il tuo Mac.
Puoi leggere le scelte tecniche che ci stanno dietro, oppure provare FireAI per 17 giorni, su FireAI, di HisnLabs.