opencode è un agente di programmazione IA open source che si esegue da un terminale sul Mac, ed è spesso oggetto di ricerche come “opencode security mac”, “is opencode safe” e “opencode network access”. La sua documentazione è esplicita sul modello dei permessi e sull’unica funzione che carica una conversazione su un server. Questo articolo espone questi fatti documentati e spiega poi come FireAI, un firewall per macOS che gira sul dispositivo, realizzato da HisnLabs, osserva le connessioni del programma e che cosa non può fare.
Che cos’è opencode
opencode si descrive come “the open source AI coding agent”. Il repository GitHub, passato dall’organizzazione sst ad anomalyco, ha licenza MIT. È distribuito come interfaccia da terminale, applicazione desktop (indicata come beta nel README) ed estensione per IDE, e include due agenti integrati: build, un agente con accesso completo che è quello predefinito, e plan, un agente in sola lettura che chiede il permesso [1]. Gli utenti lo collegano ai fornitori di modelli con chiavi API; l’introduzione raccomanda OpenCode Zen, un elenco curato di modelli testati dal team di opencode [2].
Come gira opencode su macOS
Il README elenca diversi modi di installarlo su macOS: lo script curl -fsSL https://opencode.ai/install | bash, npm, bun, pnpm o yarn, Homebrew e un DMG per l’app desktop. Con un’installazione a riga di comando, il programma che avvii si chiama opencode, ed è così che il processo appare al sistema.
A cosa può accedere e come viene controllato
Il sistema dei permessi ha tre stati: allow, ask e deny. Le regole si possono impostare globalmente o per singolo strumento, e possono corrispondere a schemi dell’input dello strumento; prevale l’ultima regola corrispondente. La documentazione afferma che la maggior parte dei permessi è impostata su allow per impostazione predefinita; doom_loop e external_directory sono impostati su ask, e i file .env sono bloccati per impostazione predefinita. Il flag --auto approva automaticamente le richieste salvo che si applichi una regola deny esplicita [3].
Il permesso external_directory regola i percorsi al di fuori dello spazio di lavoro del progetto. Questi permessi regolano ciò che l’agente fa con gli strumenti, come leggere, modificare ed eseguire comandi. Non sono descritti come una lista di autorizzazione per la rete.
Dove si connette
La pagina sulla condivisione documenta l’unica funzione che invia una conversazione ai server di opencode. Il comando /share crea un URL pubblico e sincronizza con quei server la cronologia della conversazione, i messaggi, le risposte e i metadati della sessione. Per impostazione predefinita la condivisione è manuale, quindi nulla viene inviato senza quel comando; si può disattivare con "share": "disabled" in opencode.json, e le sessioni condivise restano accessibili finché non si usa /unshare [4]. Le pagine consultate per questo articolo non elencano altri domini, quindi, oltre al fornitore del modello e a ciò che contatta uno strumento, considera qui le altre destinazioni come non documentate.
Osservare opencode con FireAI
FireAI è un firewall per macOS che gira sul Mac. La sua funzione profilo agente riconosce 19 agenti IA, impara dove ciascuno si connette normalmente e segnala ciò che è nuovo. La pagina del profilo agente di FireAI elenca opencode tra gli agenti a riga di comando riconosciuti dal nome del loro programma. Le connessioni di un programma chiamato opencode, e dei suoi processi figli come una shell o git, vengono quindi attribuite a opencode.
- Per i primi 3 giorni FireAI impara le destinazioni che l’agente contatta normalmente, raggruppate per dominio, così api.anthropic.com diventa anthropic.com. Durante questo periodo non viene segnalato nulla.
- Dopo di che, la prima destinazione in assoluto al di fuori della base viene segnalata per una verifica in Suggerimenti, nella scheda Agenti IA e nella Revisione rapida. Scorri a sinistra per bloccare, o a destra per “Va bene”.
- Viene segnalato anche un picco di upload: un’ora in cui l’agente ha caricato almeno 4 volte il volume della sua ora più intensa fino a quel momento, e mai meno di 25 MB.
- FireAI usa solo metadati, cioè nomi host e conteggi di byte. Non legge mai il contenuto di una connessione.
Configurare FireAI per opencode
- Installa FireAI e usa l’agente come fai di solito. Il periodo di apprendimento di 3 giorni parte da solo e non segnala nulla.
- Apri Suggerimenti e cerca la scheda Agenti IA. Dopo il periodo di apprendimento, una segnalazione per l’agente compare lì e nella Revisione rapida.
- Esamina ogni segnalazione. Scegli Blocca per creare una regola per il processo che si è connesso, o “Va bene” per aggiungere la destinazione alla base dell’agente.
- Per limitare l’agente ai luoghi che usa già, scegli Profilo agente nel menu delle modalità di sicurezza, accanto a Casa, Caffè, Paranoia e Sotto attacco. Le tue regole si applicano come in Casa, e una connessione verso una destinazione al di fuori della base viene bloccata invece che segnalata quando l’agente ha finito di imparare.
- Una destinazione bloccata compare nella scheda Agenti IA con Consenti e Mantieni bloccato. Consenti la aggiunge alla base e l’agente la raggiunge subito. Mantieni bloccato crea una regola di blocco valida in ogni modalità.
Una regola di autorizzazione che hai scritto per un sito web, un dominio o un indirizzo resta prioritaria, e il DNS e la rete locale non vengono mai bloccati. Per un agente che FireAI non elenca, scrivi a mano una regola per il suo programma nelle regole per app. La modalità Profilo agente richiede FireAI 1.0.3 o successivo, e il riconoscimento di opencode richiede la 1.0.4.
Limiti
- Le regole dei permessi di opencode decidono quali chiamate agli strumenti vengono approvate, e in modalità
--autone approvano la maggior parte. FireAI lavora invece al livello delle connessioni, quindi i due si completano anziché sovrapporsi. - opencode viene riconosciuto dal nome del suo programma, quindi è etichettato, non verificato: solo Claude Code, Claude e Cursor vengono controllati rispetto alla firma del loro sviluppatore.
- FireAI non ferma la prompt injection. Ne limita i danni segnalando, e permettendoti di bloccare, la via che i dati prenderebbero per uscire dal tuo Mac.
- FireAI non può vedere i prompt, il contenuto degli strumenti MCP, gli accessi ai file o le skill. TLS nasconde il contenuto, e FireAI non si trova dentro l’agente.
- I processi figli che terminano molto rapidamente possono sfuggire, e vengono riconosciuti per percorso, non per firma.
- Durante il periodo di apprendimento di 3 giorni non viene segnalato nulla, e i picchi di upload vengono segnalati, non bloccati.
- Nella modalità Profilo agente, una connessione verso un semplice indirizzo IP senza nome host viene confrontata in base all’indirizzo, quindi un nuovo indirizzo di un servizio che l’agente usa normalmente resta bloccato finché non lo consenti.
Altri agenti
Lo stesso approccio vale per ogni agente che FireAI riconosce. Consulta le altre guide: Claude Code, l’app desktop di Claude, Cursor, l’app ChatGPT per Mac, OpenAI Codex CLI, OpenClaw, Hermes Agent, Gemini CLI, GitHub Copilot CLI, Amp, Qwen Code, Aider, Goose, Crush, Windsurf, Kiro, Trae, Muse di Meta, qualsiasi altro agente IA eseguito da python o node. La descrizione completa della funzione si trova nella pagina di documentazione del profilo agente, pubblicata da HisnLabs.
Il ruolo di FireAI e di HisnLabs
FireAI impara dove opencode si connette abitualmente sul tuo Mac e segnala una destinazione mai vista o un picco di caricamento, senza leggere i tuoi 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.
