Il blog sulla sicurezza di FireAI

Di FireAI Security & Research Team · Pubblicato

Qwen Code su Mac e sicurezza: monitorarne la rete con FireAI

Qwen Code su Mac e sicurezza: monitorarne la rete con FireAI

Qwen Code è un agente di programmazione open source che vive in un terminale, legge un progetto, modifica file ed esegue comandi shell su richiesta. Gli sviluppatori cercano “is Qwen Code safe” e “Qwen Code network access” per una ragione pratica: l’agente invia i tuoi prompt e parti del tuo codice a un fornitore di modelli, e un comando shell che esegue può aprire connessioni proprie. Questo articolo raccoglie ciò che la sua documentazione dice su come gira su macOS, su che cosa può raggiungere e sui controlli dei permessi che offre, e mostra poi come FireAI, un firewall per macOS che gira sul dispositivo, realizzato da HisnLabs, osserva il lato della rete.

Che cos’è Qwen Code

Qwen Code è sviluppato dal team QwenLM, parte del progetto Qwen di Alibaba, e il suo repository lo descrive come un agente di programmazione IA open source per terminale, editor, desktop, browser e chat. È distribuito con licenza Apache-2.0. La sua documentazione afferma che funziona con le API compatibili con OpenAI, Anthropic, Gemini e Qwen, e con qualsiasi fornitore di terze parti o modello locale come Ollama o vLLM [1]. La destinazione del suo traffico dipende quindi dal fornitore che configuri.

Come gira Qwen Code su macOS

Su Mac, Qwen Code è un programma Node.js. Il README indica npm install -g @qwen-code/qwen-code@latest, che richiede Node.js 22.0.0 o successivo, oppure brew install qwen-code, ed elenca anche script di installazione per Linux, macOS e Windows. Una modalità headless esegue un singolo prompt da uno script con qwen -p "...". Poiché l’installazione npm gira sul runtime Node, il processo che macOS vede è node che esegue uno script, non un programma con il nome dell’agente.

A cosa può accedere e come viene controllato

Qwen Code documenta cinque modalità di approvazione: Plan (analisi in sola lettura), Ask Permissions (in precedenza Default, approvazione manuale per modifiche ai file e comandi shell), Auto-Edit (modifiche ai file approvate automaticamente, comandi shell ancora soggetti a richiesta), Auto (un classificatore LLM approva le azioni che giudica sicure e blocca quelle rischiose, e blocca in caso di dubbio) e YOLO (tutte le azioni approvate automaticamente). Shift+Tab passa da una modalità all’altra durante una sessione [2].

Su macOS la pagina sulla sandbox descrive due metodi: Seatbelt, che usa il comando integrato sandbox-exec e non richiede software aggiuntivo, e Docker o Podman per un isolamento completo. La sandbox si attiva con qwen -s, con la variabile QWEN_SANDBOX=true o con "tools": {"sandbox": true} in settings.json. Esistono sei profili Seatbelt integrati. Quello predefinito, permissive-open, limita le scritture ma consente l’accesso alla rete; i profili -closed bloccano la rete e i profili -proxied la instradano attraverso un proxy [3]. Le impostazioni si trovano in ~/.qwen/settings.json e in .qwen/settings.json all’interno di un progetto [4].

Dove si connette

Le pagine di documentazione consultate per questo articolo non pubblicano un elenco fisso di domini. Il traffico va al fornitore del modello e agli endpoint che configuri, a ciò che contatta un server MCP o un comando shell e, se accedi con un account Qwen, a quel servizio. Telemetria e trattamento dei dati sono descritti nei Termini di servizio e nell’Informativa sulla privacy del progetto, collegati dal README. Con il profilo Seatbelt predefinito la rete è aperta, quindi la sandbox limita le scritture sui file ma non decide dove l’agente può connettersi.

Osservare Qwen Code 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 Qwen Code tra gli agenti eseguiti da node, bun, deno o python, che FireAI riconosce tramite lo script eseguito dal runtime. Nell’elenco Attività di FireAI la connessione viene quindi abbinata a Qwen Code tramite il suo script, invece di comparire come un semplice node.

  • 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 Qwen Code

  1. Installa FireAI e usa l’agente come fai di solito. Il periodo di apprendimento di 3 giorni parte da solo e non segnala nulla.
  2. Apri Suggerimenti e cerca la scheda Agenti IA. Dopo il periodo di apprendimento, una segnalazione per l’agente compare lì e nella Revisione rapida.
  3. 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.
  4. 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.
  5. 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 Qwen Code richiede la 1.0.4.

Limiti

  • Il classificatore della modalità Auto e i profili della sandbox appartengono a Qwen Code e costituiscono un livello separato da FireAI. Un profilo Seatbelt permissivo consente comunque l’accesso alla rete, che è proprio la parte che FireAI osserva.
  • Qwen Code viene riconosciuto tramite lo script eseguito dal runtime, 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, 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 pagina di documentazione del profilo agente, pubblicata da HisnLabs.

Il ruolo di FireAI e di HisnLabs

FireAI impara dove Qwen Code 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.

Fonti