Il blog sulla sicurezza di FireAI

Di FireAI Security & Research Team · Pubblicato

Monitorare le connessioni di rete di Claude Code su Mac: la sicurezza con FireAI

Monitorare le connessioni di rete di Claude Code su Mac: la sicurezza con FireAI

Claude Code è un agente di programmazione di Anthropic che gira in un terminale sul tuo Mac. Legge il tuo progetto, modifica file ed esegue comandi shell per conto tuo, e ognuna di queste azioni può tradursi in una connessione di rete. Questo articolo espone ciò che Anthropic documenta su come Claude Code funziona su macOS, che cosa può raggiungere e quali connessioni sono normali, poi mostra come osservarle con FireAI. Quando un fatto proviene dalla documentazione di Anthropic, la fonte è indicata alla fine.

Che cos’è Claude Code e come funziona su un Mac

La pagina di configurazione di Anthropic indica tre modi per installare Claude Code su macOS. L’installer nativo consigliato è uno script curl che scarica un binario e si aggiorna da solo in background. Homebrew offre due cask, claude-code per il canale stabile e claude-code@latest per il più recente, e le installazioni tramite Homebrew non si aggiornano automaticamente. È disponibile anche un pacchetto npm globale, @anthropic-ai/claude-code; secondo la stessa pagina installa lo stesso binario nativo, e il binario claude installato non invoca Node. Su macOS il binario risulta firmato da “Anthropic PBC” e autenticato da Apple, e puoi verificarlo con codesign --verify --verbose.

Terminale
# check the signature of the claude binary, as the setup page describes
codesign --verify --verbose ./claude

A cosa può accedere, e il modello di autorizzazioni documentato

Claude Code agisce con le autorizzazioni dell’account che lo avvia. La pagina sulla sicurezza di Anthropic descrive due punti di partenza. In modalità Manual parte in sola lettura e chiede prima di modificare file, eseguire test o lanciare comandi, mentre un insieme integrato di comandi di sola lettura come ls, cat e git status viene eseguito senza richiesta. La modalità Auto è la modalità iniziale integrata per le sessioni interattive nel terminale e in VS Code: un modello classificatore separato esamina le azioni e blocca quelle che giudica non sicure, mentre le tue regole esplicite di richiesta e di divieto restano valide.

Tre dettagli documentati contano per il comportamento di rete. Primo, i comandi che scaricano contenuti dal web, come curl e wget, non sono approvati automaticamente per impostazione predefinita. Secondo, il confine della directory di lavoro è una richiesta di autorizzazione, quindi un comando Bash che approvi può comunque scrivere ovunque possa scrivere il tuo account utente. Terzo, uno strumento Bash opzionale in sandbox, configurato con /sandbox, applica ai comandi shell un isolamento del file system e della rete a livello di sistema operativo. Anthropic precisa che la sandbox copre solo i comandi shell, e che gli strumenti per i file, i server MCP e gli hook girano al di fuori di essa.

La pagina sulla sicurezza afferma inoltre che nessun sistema è completamente immune da tutti gli attacchi, e raccomanda di rivedere i comandi suggeriti, di evitare di passare direttamente a Claude contenuti non attendibili e di usare macchine virtuali per gli script che interagiscono con servizi web esterni.

I domini documentati da Claude Code

La pagina di configurazione di rete di Anthropic elenca gli URL necessari alla CLI autonoma. Questi sono quelli documentati dal produttore più rilevanti per un firewall:

Fonte: documentazione di Claude Code, Enterprise network configuration, “Network access requirements”.
HostScopo documentato
api.anthropic.comRichieste all’API di Claude, controllo di sicurezza dei domini di WebFetch, recupero dei feature flag e registrazione degli eventi di telemetria
claude.ai, claude.com, platform.claude.comAccesso all’account e scambio di token OAuth
mcp-proxy.anthropic.comConnettori MCP da claude.ai
downloads.claude.aiInstaller nativo, aggiornamento automatico, controlli degli aggiornamenti e download dei plugin
registry.npmjs.orgInstallazioni di Claude Code tramite npm e bun, installazioni di plugin e server MCP avviati con npx
github.com, raw.githubusercontent.comClonazione dei marketplace di plugin; il feed del changelog per /release-notes
http-intake.logs.us5.datadoghq.com, browser-intake-us5-datadoghq.comTelemetria operativa facoltativa e segnalazioni di errore; documentate come disattivabili con DISABLE_TELEMETRY o CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC

La stessa pagina indica che Claude Code rispetta le variabili standard HTTPS_PROXY e HTTP_PROXY e non supporta i proxy SOCKS. Tutto ciò che esce da questo elenco, come un registro di pacchetti raggiunto da un comando di build eseguito da Claude, è traffico del progetto, non di Claude Code.

Perché una visione di rete resta utile

Le richieste di autorizzazione ti mostrano il comando che Claude Code vuole eseguire. Non mostrano ogni connessione che deriva da comandi approvati in precedenza, da un server MCP, da un plugin o da uno script nel repository. Una visione a livello di rete risponde a una domanda più circoscritta e complementare: dove si è effettivamente connessa questa macchina mentre l’agente lavorava. È la domanda a cui il profilo agente di FireAI è progettato per rispondere.

Osservare Claude Code con FireAI

FireAI è un firewall per macOS realizzato da HisnLabs e, dalla versione 1.0.2, include una funzione chiamata profilo agente. Riconosce 19 agenti IA, impara dove ciascuno si connette normalmente e segnala i comportamenti insoliti perché tu li esamini. Claude Code viene riconosciuto tramite la sua firma del codice.

L’elenco Attività di FireAI filtrato su “claude”: tre righe claude, verso api.anthropic.com e verso risoluzioni DNS, ciascuna mostrata con il personaggio di Claude Code, e una riga Brave Browser Helper verso claude.ai con una normale icona di app.
L’elenco Attività di FireAI su un Mac: il processo a riga di comando claude porta il personaggio di Claude Code, mentre un browser che visita claude.ai resta una normale app.

Claude Code è uno dei tre agenti che FireAI verifica rispetto alla firma del codice del suo sviluppatore, quindi una corrispondenza è più di un semplice nome.

FireAI riconosce anche i processi figli dell’agente, come una shell, git o curl eseguiti dall’agente, risalendo i processi genitori finché non arriva all’agente. Quelle connessioni vengono quindi contate come dell’agente stesso.

Che cosa segnala FireAI

  1. Per i primi 3 giorni FireAI impara le destinazioni che l’agente contatta normalmente, raggruppate per dominio. Durante questo periodo di apprendimento non viene segnalato nulla.
  2. Dopo di che, una destinazione mai vista prima e al di fuori della base appresa viene segnalata per una verifica.
  3. Viene segnalato anche un picco di upload: un’ora in cui l’agente ha inviato almeno 4 volte il volume della sua ora più intensa fino a quel momento, e mai meno di 25 MB.

Il profilo agente usa solo metadati, cioè nomi host e conteggi di byte. FireAI non legge mai il contenuto di una connessione, e non può leggere all’interno di una connessione cifrata.

Configurarlo per Claude Code

  1. Installa FireAI e completa la configurazione, poi continua a usare Claude Code come fai di solito. Il periodo di apprendimento di 3 giorni parte da ciò che FireAI osserva.
  2. Apri Suggerimenti e guarda la scheda Agenti IA. Elenca gli agenti che FireAI ha riconosciuto e ciò che ha imparato su ciascuno.
  3. Quando Claude Code raggiunge una destinazione che non ha mai contattato, la segnalazione compare nella scheda Agenti IA e nella Revisione rapida. Scorri a sinistra per bloccare, o a destra per “Va bene”.
  4. Blocca crea una regola per il processo che si è connesso. “Va bene” aggiunge la destinazione alla base dell’agente, così non viene più segnalata.
  5. Se vuoi 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. Quando l’agente ha finito di imparare, una connessione verso una destinazione al di fuori della sua base viene bloccata invece che segnalata.
  6. Una destinazione bloccata compare nella scheda Agenti IA con Consenti e Mantieni bloccato. Consenti la aggiunge alla base e l’agente può raggiungerla subito. Mantieni bloccato crea una regola di blocco, così la destinazione resta bloccata in ogni modalità.

Limiti

  • FireAI non impedisce la prompt injection. Un prompt nascosto in una pagina web o in un file può comunque orientare un agente. Ciò che FireAI può fare è segnalare, e permetterti di bloccare, la via che i dati prenderebbero per uscire dal tuo Mac.
  • FireAI non può vedere i prompt, il contenuto degli strumenti MCP o i file che Claude Code legge, come ~/.ssh. 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.
  • Nella modalità Profilo agente, una connessione verso un indirizzo IP nudo, senza nome host, viene riconosciuta in base all’indirizzo. Se un servizio che l’agente usa normalmente risponde da un nuovo indirizzo, viene bloccato finché non lo consenti.
  • La spiegazione in parole semplici che FireAI dà di una segnalazione si basa su fatti che ha misurato. Non dice mai che una destinazione è sicura o pericolosa. La decisione spetta a te.

Guide correlate

Lo stesso approccio vale per gli altri agenti riconosciuti da FireAI: l’app desktop di Claude, Cursor, l’app ChatGPT per Mac, Codex CLI, OpenClaw, Hermes Agent, Gemini CLI, GitHub Copilot CLI, Amp, Qwen Code, opencode, 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 documentazione del profilo agente.

Il ruolo di FireAI e di HisnLabs

Claude Code chiede prima di agire. Un firewall di rete aggiunge una seconda visione di dove si connette.

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.

Fonti