Qwen Code est un agent de programmation open source qui vit dans un terminal, lit un projet, modifie des fichiers et exécute des commandes shell à la demande. Les développeurs recherchent « is Qwen Code safe » et « Qwen Code network access » pour une raison concrète : l’agent envoie vos prompts et des parties de votre code à un fournisseur de modèle, et une commande shell qu’il exécute peut ouvrir ses propres connexions. Cet article rassemble ce que dit sa documentation sur son fonctionnement sous macOS, sur ce qu’il peut atteindre et sur les contrôles de permission qu’il propose, puis montre comment FireAI, un pare-feu embarqué pour macOS conçu par HisnLabs, surveille le volet réseau.
Ce qu’est Qwen Code
Qwen Code est développé par l’équipe QwenLM, qui fait partie du projet Qwen d’Alibaba, et son dépôt le décrit comme un agent de programmation IA open source pour le terminal, l’éditeur, le bureau, le navigateur et la messagerie. Il est publié sous licence Apache-2.0. Sa documentation indique qu’il fonctionne avec les API compatibles OpenAI, Anthropic, Gemini et Qwen, ainsi qu’avec tout fournisseur tiers ou modèle local comme Ollama ou vLLM [1]. La destination de son trafic dépend donc du fournisseur que vous configurez.
Comment Qwen Code s’exécute sur macOS
Sur un Mac, Qwen Code est un programme Node.js. Le README indique npm install -g @qwen-code/qwen-code@latest, qui nécessite Node.js 22.0.0 ou une version ultérieure, ou brew install qwen-code, et mentionne aussi des scripts d’installation pour Linux, macOS et Windows. Un mode sans interface exécute un prompt unique depuis un script avec qwen -p "...". Comme l’installation via npm s’exécute sur l’environnement Node, le processus que voit macOS est node exécutant un script, et non un programme portant le nom de l’agent.
Ce à quoi il peut accéder et comment il est encadré
Qwen Code documente cinq modes d’approbation : Plan (analyse en lecture seule), Ask Permissions (anciennement Default, approbation manuelle des modifications de fichiers et des commandes shell), Auto-Edit (modifications de fichiers approuvées automatiquement, commandes shell toujours soumises à demande), Auto (un classificateur LLM approuve les actions qu’il juge sûres, bloque celles qui sont risquées et bloque en cas de doute) et YOLO (toutes les actions approuvées automatiquement). Shift+Tab fait défiler les modes au cours d’une session [2].
Sur macOS, la page consacrée à la sandbox décrit deux méthodes : Seatbelt, qui utilise l’outil intégré sandbox-exec et ne nécessite aucun logiciel supplémentaire, et Docker ou Podman pour une isolation complète. La sandbox s’active avec qwen -s, la variable QWEN_SANDBOX=true ou "tools": {"sandbox": true} dans settings.json. Six profils Seatbelt sont intégrés. Le profil par défaut, permissive-open, restreint les écritures mais autorise l’accès au réseau ; les profils -closed bloquent le réseau et les profils -proxied le font passer par un proxy [3]. Les réglages se trouvent dans ~/.qwen/settings.json et dans .qwen/settings.json au sein d’un projet [4].
Où il se connecte
Les pages de documentation consultées pour cet article ne publient pas de liste fixe de domaines. Le trafic va vers le fournisseur de modèle et les points de terminaison que vous configurez, vers tout ce que contacte un serveur MCP ou une commande shell et, si vous vous connectez avec un compte Qwen, vers ce service. La télémétrie et le traitement des données sont décrits dans les conditions d’utilisation et l’avis de confidentialité du projet, accessibles depuis le README. Avec le profil Seatbelt par défaut, le réseau est ouvert : la sandbox limite les écritures de fichiers mais ne détermine pas où l’agent peut se connecter.
Surveiller Qwen Code avec FireAI
FireAI est un pare-feu pour macOS qui s’exécute sur le Mac. Sa fonctionnalité Profil d’agent reconnaît 19 agents IA, apprend où chacun se connecte habituellement et signale ce qui est nouveau. La page Profil d’agent de FireAI range Qwen Code parmi les agents exécutés par node, bun, deno ou python, que FireAI reconnaît par le script que lance l’environnement d’exécution. Dans la liste d’activité de FireAI, la connexion est donc rattachée à Qwen Code par son script au lieu d’apparaître comme un simple node.
- Pendant les 3 premiers jours, FireAI apprend les destinations que l’agent contacte habituellement, regroupées par domaine : api.anthropic.com devient ainsi anthropic.com. Rien n’est signalé pendant cette période.
- Ensuite, toute destination jamais contactée et située hors de la base de référence est signalée pour examen dans Suggestions, dans la carte Agents IA et dans la Revue rapide. Glissez vers la gauche pour bloquer, ou vers la droite pour « C’est bon ».
- Un pic d’envoi est également signalé : une heure au cours de laquelle l’agent a envoyé au moins 4 fois le volume de son heure la plus chargée jusque-là, et jamais moins de 25 Mo.
- FireAI n’utilise que des métadonnées, à savoir les noms d’hôte et les volumes en octets. Il ne lit jamais le contenu d’une connexion.
Configurer FireAI pour Qwen Code
- Installez FireAI et utilisez l’agent comme d’habitude. La période d’apprentissage de 3 jours démarre d’elle-même et ne signale rien.
- Ouvrez Suggestions et repérez la carte Agents IA. Après la période d’apprentissage, un signalement concernant l’agent y apparaît, ainsi que dans la Revue rapide.
- Examinez chaque signalement. Choisissez Bloquer pour créer une règle visant le processus qui s’est connecté, ou « C’est bon » pour ajouter la destination à la base de référence de l’agent.
- Pour cantonner l’agent aux destinations qu’il utilise déjà, choisissez Profil d’agent dans le menu des modes de sécurité, à côté de Maison, Café, Parano et Sous attaque. Vos règles s’appliquent comme en mode Maison, et une connexion vers une destination hors de la base de référence est bloquée au lieu d’être signalée une fois l’apprentissage de l’agent terminé.
- Une destination bloquée apparaît dans la carte Agents IA avec Autoriser et Garder bloqué. Autoriser l’ajoute à la base de référence et l’agent peut l’atteindre immédiatement. Garder bloqué crée une règle de blocage valable dans tous les modes.
Une règle d’autorisation que vous avez créée pour un site web, un domaine ou une adresse reste prioritaire, et le DNS comme votre réseau local ne sont jamais bloqués. Pour un agent que FireAI ne liste pas, créez manuellement une règle pour son programme dans les règles par app. Le mode Profil d’agent nécessite FireAI 1.0.3 ou une version ultérieure, et la reconnaissance de Qwen Code la version 1.0.4.
Limites
- Le classificateur du mode Auto et les profils de sandbox appartiennent à Qwen Code et constituent une couche distincte de FireAI. Un profil Seatbelt permissif autorise toujours l’accès au réseau, ce qui est précisément la partie que surveille FireAI.
- Qwen Code est reconnu par le script que lance l’environnement d’exécution : il est donc étiqueté, non vérifié. Seuls Claude Code, Claude et Cursor sont contrôlés par rapport à la signature de leur éditeur.
- FireAI n’empêche pas l’injection de prompt. Il en limite les conséquences en signalant, et en vous permettant de bloquer, le chemin par lequel les données quitteraient votre Mac.
- FireAI ne voit ni les prompts, ni le contenu des outils MCP, ni les accès aux fichiers, ni les skills. TLS masque le contenu, et FireAI ne se trouve pas à l’intérieur de l’agent.
- Les processus enfants qui se terminent très rapidement peuvent échapper à la détection, et ils sont identifiés par leur chemin, non par leur signature.
- Pendant la période d’apprentissage de 3 jours, rien n’est signalé, et les pics d’envoi sont signalés, non bloqués.
- En mode Profil d’agent, une connexion vers une adresse IP nue, sans nom d’hôte, est identifiée par son adresse : une nouvelle adresse pour un service que l’agent utilise habituellement est donc bloquée jusqu’à ce que vous l’autorisiez.
Autres agents
La même approche s’applique à tous les agents que FireAI reconnaît. Voir les autres guides : Claude Code, l’application de bureau Claude, Cursor, l’application ChatGPT pour Mac, OpenAI Codex CLI, OpenClaw, Hermes Agent, Gemini CLI, GitHub Copilot CLI, Amp, opencode, Aider, Goose, Crush, Windsurf, Kiro, Trae, Muse de Meta, tout autre agent IA exécuté par python ou node. La description complète de la fonctionnalité figure sur la page de documentation du Profil d’agent, publiée par HisnLabs.
Le rôle de FireAI et de HisnLabs
FireAI apprend où Qwen Code se connecte habituellement sur votre Mac et signale toute destination inédite ou tout pic d’envoi, sans lire vos données.
FireAI est le produit de HisnLabs : un pare-feu IA embarqué pour Mac. Il montre en langage clair chaque connexion faite par vos applications et vous laisse décider ce qui sort de votre Mac — son IA fonctionne en local, votre trafic ne nous est jamais envoyé, ni à personne d’autre. L’équipe de recherche en sécurité de HisnLabs est celle qui garde ces décisions fiables : elle recense les domaines de simple télémétrie face à ceux d’un vrai service, suit le pays et le réseau derrière une connexion, et entraîne le modèle embarqué (la fonction FireAI Pilot) sur du trafic réel, sans que rien ne quitte votre Mac.
Vous pouvez lire les choix techniques qui s’y trouvent, ou essayer FireAI pendant 17 jours, sur FireAI, par HisnLabs.
