Eseguire un agente autonomo come OpenClaw su un Mac conferisce a un modello linguistico i permessi dell’account che lo avvia, e i resoconti di sicurezza pubblicati da gennaio 2026 documentano diversi modi in cui questa configurazione ha prodotto problemi. La maggior parte di questi guasti termina con una connessione di rete: dati inviati a un server sconosciuto, un servizio locale raggiungibile dall’esterno o un payload scaricato. FireAI è un firewall di rete per macOS, quindi può limitare questa parte. Non può impedire a un agente di leggere o eliminare file locali, e questo articolo indica dove si trova il confine.
Contesto
La documentazione stessa di OpenClaw afferma che gli strumenti girano sull’host salvo che sia configurata una sandbox, che i messaggi in arrivo sono input non fidato e che gli agenti con accesso allo strumento dei messaggi possono, per impostazione predefinita, inviare messaggi tra conversazioni e fornitori di canali diversi [1]. Un agente combina quindi tre elementi: legge testo non fidato, può agire sulla macchina e può comunicare verso l’esterno. Un firewall interviene sul terzo. Le sezioni seguenti esaminano una per una le classi di rischio documentate, indicano il controllo di FireAI che si applica ed elencano i passaggi per configurarlo. Il confronto generale tra OpenClaw e Hermes Agent si trova in un articolo separato.
Prima dei passaggi: come FireAI identifica un agente
FireAI identifica un’app tramite la firma del codice dell’eseguibile che apre la connessione o, per un programma non firmato, tramite il suo percorso. Non ha alcuna integrazione con OpenClaw o Hermes Agent e non riconosce nessuno dei due per nome. Agenti di questo tipo girano all’interno di un interprete di uso generale, tipicamente Node.js o Python, quindi FireAI mostra connessioni provenienti da “node” o “python3”. Una regola su quell’interprete si applica a ogni script eseguito dallo stesso binario, compresi strumenti non correlati.
L’attribuzione per singolo script non è oggi disponibile. Ogni regola descritta di seguito si applica quindi all’interprete nel suo insieme, e una regola che blocca le destinazioni dell’agente riguarda anche qualsiasi altro script eseguito dallo stesso interprete. Leggere il nome dell’interprete in una richiesta e ricondurlo al momento in cui l’agente stava lavorando è il modo pratico per attribuire una connessione.
Rischio 1: prompt injection che invia dati all’esterno
Kaspersky ha riferito che OpenClaw si è dimostrato vulnerabile all’estrazione di dati tramite contenuti email malevoli, tra cui la dimostrazione di un ricercatore che ha estratto chiavi crittografiche private inserendo istruzioni in un messaggio, e segnalazioni di utenti secondo cui il bot aveva riversato il contenuto della directory home in una chat di gruppo dopo un prompt di ingegneria sociale [3]. La fase di esfiltrazione è una connessione in uscita dal processo dell’agente verso un server controllato dall’attaccante o verso un servizio di messaggistica.
FireAI identifica ogni app tramite la sua firma del codice e verifica le proprie regole per ogni connessione. In modalità Avviso mette in pausa la prima connessione verso una destinazione priva di regola e chiede [12]. La configurazione che limita questo rischio è una lista di autorizzazione costruita attorno all’agente:
- Avvia l’agente una volta e lascia che FireAI mostri le sue prime connessioni. Nella richiesta, fai clic su Opzioni, scegli Sempre e L’intero sito web per il dominio del fornitore del modello che usi effettivamente, poi Consenti. La richiesta indica l’interprete, non l’agente.
- Blocca ogni altra destinazione per quell’app: apri Regole, fai clic su Aggiungi regola, scegli Interrompi la connessione, seleziona l’interprete sotto cui gira l’agente (node o python3) e imposta Quale sito web o server su Ovunque su internet.
- Apri la regola Consenti creata per il fornitore del modello e attiva Rapida, così che la prima regola rapida corrispondente decida prima che venga considerato il blocco generale.
- Rispondi alle richieste successive con Blocca, a meno che tu non sappia identificare la destinazione. Una richiesta per un dominio sconosciuto subito dopo che l’agente ha letto un’email è proprio il segnale che il controllo è progettato per far emergere.
- Apri Dettagli nella richiesta per verificare indirizzo, porta e stato della firma del codice, e usa Perché bloccarlo? quando è disponibile.
Esistono dei limiti. Se all’agente è consentito raggiungere un servizio di messaggistica o il suo fornitore del modello, un’istruzione iniettata può inviare dati lì, e FireAI vede quanto viene inviato, non che cosa dice, perché non legge il contenuto delle connessioni cifrate (come vengono ispezionate le connessioni senza decifrarle).
Rischio 2: skill malevole o compromesse
Koi Security ha esaminato 2,857 skill su ClawHub e ne ha identificate 341 malevole, 335 delle quali provenienti da un’unica campagna; eSecurity Planet riferisce che le skill chiedevano agli utenti di installare dei “prerequisiti” che distribuivano Atomic macOS Stealer, il quale prende di mira credenziali del browser, password del portachiavi, wallet, chiavi SSH e token API [6]. Una skill gira con i permessi dell’agente, quindi le sue chiamate di rete appaiono come quelle dell’agente.
I controlli di FireAI agiscono sulla destinazione di queste chiamate, in due modi. Primo, la lista di autorizzazione della sezione precedente rifiuta le destinazioni mai approvate. Secondo, FireAI può usare liste pubbliche di minacce:
- Apri in FireAI la pagina delle liste di minacce e attiva Usa i dati pubblici sulle minacce. FireAI scarica allora una volta al giorno liste come abuse.ch URLhaus, ThreatFox e Feodo Tracker, e il tuo traffico non viene mai inviato a esse. Vedi la documentazione.
- Attiva Blocca ciò che una lista di minacce conferma, così che una corrispondenza confermata diventi un blocco anziché una semplice segnalazione.
- Apri Minacce e usa Analizza su qualsiasi riga che non riconosci; il dossier spiega la connessione passo per passo.
- Mantieni attiva la Cronologia connessioni (Impostazioni, Cronologia connessioni) per verificare in seguito quale app ha contattato quale destinazione; conserva un registro di 7 giorni solo su questo Mac.
Una skill che contatta un server non presente in alcuna lista, o che si limita a leggere file locali, non viene intercettata da questo controllo. Esaminare la skill prima dell’installazione resta la difesa principale.
Rischio 3: un gateway locale raggiungibile dall’esterno o da un browser
Censys ha registrato una crescita da circa 1,000 a 21,639 istanze OpenClaw esposte pubblicamente in meno di una settimana fino al 31 gennaio 2026, osservando che il Gateway è progettato per restare in ascolto in locale sulla porta TCP 18789 [4]. Kaspersky ha descritto installazioni prive di autenticazione che si fidavano di localhost e si trovavano dietro reverse proxy configurati in modo errato [3]. La scoperta ClawJacked di Oasis Security ha mostrato che una pagina web poteva connettersi al Gateway locale dal browser; il problema è stato corretto in OpenClaw 2026.2.25 [5].
FireAI applica le regole sia alle connessioni in entrata verso il Mac sia a quelle in uscita, anche se non chiede mai conferma per le connessioni in entrata. Vedi la documentazione. I passaggi pertinenti:
- Passa alla modalità Caffè quando il Mac è su una rete che non controlli. Blocca le connessioni in entrata e la condivisione di file e schermo verso altri dispositivi, come descritto nelle modalità di sicurezza.
- Per renderlo automatico, associa la modalità Caffè ai tuoi luoghi pubblici come documentato in luoghi, oppure usa Coffee Shop Armor, che la documentazione di FireAI descrive per il Wi-Fi pubblico.
- In Regole, aggiungi una regola di blocco in entrata per l’app dell’agente (in Avanzate, imposta Direzione su In entrata) su qualsiasi rete di cui non ti fidi del tutto.
- Verifica anche la configurazione dell’agente: il Gateway dovrebbe restare vincolato al loopback, come descrive la documentazione di OpenClaw per le normali installazioni sull’host [1].
Rischio 4: credenziali e file che lasciano la macchina
Gli stessi resoconti indicano come bersagli chiavi API, token, chiavi SSH e file di wallet [6]. Per l’esfiltrazione via rete si applicano tre funzioni di FireAI:
- L’ispezione dei protocolli blocca le richieste web non cifrate che trasportano numeri di carta, coordinate bancarie, password o chiavi prima che lascino il Mac, e blocca i dati fatti uscire di nascosto sotto forma di query DNS; nulla viene memorizzato o inviato. Vedi la documentazione.
- La mappa del mondo e Attività mostrano ogni connessione in diretta e in una cronologia consultabile. Fai clic con il tasto destro su una connessione per Nega host, Blocca l’IP per tutte le app o Blocca questa app ovunque. Vedi la documentazione.
- Ask FireAI accetta ordini in linguaggio naturale come “blocca” seguito dal nome di un’app, così come appare in FireAI (l’interprete, nel caso di un agente), mostra un’anteprima e non applica nulla finché non fai clic su Applica. Vedi la documentazione.
Una credenziale inviata a una destinazione consentita tramite una connessione cifrata è al di fuori di ciò che FireAI può vedere.
Rischio 5: connessioni inattese mentre nessuno sta guardando
Gli agenti lavorano senza supervisione. La documentazione di OpenClaw osserva che i mittenti sconosciuti vengono associati per impostazione predefinita e che gli agenti possono inviare messaggi tra canali salvo restrizioni [1]; la documentazione di Hermes Agent descrive un sistema di approvazione dei comandi la cui modalità può essere impostata su off [7]. Le esecuzioni senza supervisione sono quelle in cui un’azione errata o iniettata produce più effetti prima che una persona se ne accorga.
- Usa una regola a tempo, creata tramite Ask FireAI, così che l’agente si connetta solo in orari stabiliti, per esempio “consenti l’agente in orario di lavoro”; le quattro fasce integrate sono notte, sera, orario di lavoro e fine settimana. Vedi la documentazione.
- Usa la modalità Paranoia quando l’agente gira senza supervisione. Blocca il traffico di tracciamento, le app non firmate e ogni porta non cifrata, e persino gli strumenti di sistema di Apple devono essere approvati [10].
- Usa la modalità Sotto attacco o il kill switch quando un agente si comporta in modo anomalo. Sotto attacco consente solo le app con una regola Consenti esplicita e smette di chiedere. Il kill switch rifiuta le nuove connessioni verso qualsiasi destinazione esterna alla rete di casa o dell’ufficio, ed è raggiungibile anche dalla barra dei menu [11].
- Riserva FireAI Pilot ad altre app, oppure verificalo in Suggerimenti, poiché risponde automaticamente alle connessioni su cui è sicuro; per un agente, le regole esplicite sono più facili da verificare.
Raccomandazioni
- Eseguire l’agente in un account utente macOS dedicato o in una macchina virtuale, con accesso solo alle cartelle di cui ha bisogno.
- Fornirgli credenziali revocabili e dall’ambito ristretto, e mai il proprio gestore di password principale o le proprie chiavi SSH.
- Leggere il codice sorgente di una skill prima di installarla, e rifiutare qualsiasi skill che chieda di incollare un comando shell come prerequisito.
- Mantenere l’agente aggiornato; la correzione di ClawJacked ha raggiunto gli utenti solo tramite aggiornamento.
- Mantenere l’approvazione dei comandi in modalità manuale dove l’agente lo consente.
- Combinare la lista di autorizzazione, il kill switch e una modalità adatta al luogo in cui si lavora.
Limiti
- FireAI vede l’interprete che apre una connessione (per esempio node o python3), non il nome dell’agente; una regola si applica a tutto ciò che quell’interprete esegue. Non ha alcuna integrazione con questi agenti.
- FireAI controlla quale app si connette e dove, e può interrompere internet. Non può impedire a un agente di eliminare, cifrare o leggere file locali, eseguire comandi o modificare impostazioni sul Mac.
- Il kill switch rifiuta le nuove connessioni; non chiude quelle già aperte.
- FireAI non legge il contenuto delle connessioni cifrate, quindi i dati inviati a una destinazione consentita non vengono ispezionati.
- Il filtraggio del traffico di loopback tra un browser e un servizio locale non è documentato; per chiudere falle di questo tipo occorre aggiornare l’agente.
- Le liste di minacce bloccano solo ciò che confermano; un server nuovo o una skill con comportamento esclusivamente locale non sono coperti.
- Un firewall non corregge le scelte progettuali dell’agente, come un Gateway vincolato a un indirizzo pubblico.
- Sono necessarie misure complementari: account con privilegi minimi, sandbox o macchine virtuali, backup e revisione delle skill prima dell’installazione.
Il ruolo di FireAI e di HisnLabs
Gli agenti agiscono in fretta. Un firewall di rete decide dove possono connettersi.
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.
