Qwen Code to otwartoźródłowy agent programistyczny działający w terminalu, który na żądanie czyta projekt, edytuje pliki i uruchamia polecenia powłoki. Programiści wyszukują „czy Qwen Code jest bezpieczny” i „Qwen Code dostęp do sieci” z praktycznego powodu: agent wysyła Twoje prompty i fragmenty kodu do dostawcy modelu, a uruchomione przez niego polecenie powłoki może otwierać własne połączenia. Ten artykuł zbiera to, co dokumentacja mówi o działaniu w macOS, o tym, do czego agent ma dostęp, i o oferowanych mechanizmach uprawnień, a następnie pokazuje, jak FireAI, zapora sieciowa dla macOS działająca na urządzeniu, tworzona przez HisnLabs, obserwuje stronę sieciową.
Czym jest Qwen Code
Qwen Code jest rozwijany przez zespół QwenLM, część projektu Qwen firmy Alibaba, a jego repozytorium opisuje go jako otwartoźródłowego agenta programistycznego AI dla terminala, edytora, komputera, przeglądarki i czatu. Jest udostępniony na licencji Apache-2.0. Dokumentacja podaje, że współpracuje z API zgodnymi z OpenAI, Anthropic, Gemini i Qwen oraz z dowolnym zewnętrznym dostawcą lub modelem lokalnym, takim jak Ollama czy vLLM [1]. Miejsce docelowe jego ruchu zależy więc od skonfigurowanego dostawcy.
Jak Qwen Code działa w macOS
Na Macu Qwen Code jest programem Node.js. README podaje npm install -g @qwen-code/qwen-code@latest, co wymaga Node.js 22.0.0 lub nowszego, albo brew install qwen-code, a także wymienia skrypty instalacyjne dla Linuksa, macOS i Windows. Tryb bezgłowy (headless) uruchamia pojedynczy prompt ze skryptu poleceniem qwen -p "...". Ponieważ instalacja npm działa w środowisku Node, proces widziany przez macOS to node wykonujący skrypt, a nie program nazwany od agenta.
Do czego ma dostęp i jak jest kontrolowany
Qwen Code dokumentuje pięć trybów zatwierdzania: Plan (analiza tylko do odczytu), Ask Permissions (wcześniej Default, ręczne zatwierdzanie edycji plików i poleceń powłoki), Auto-Edit (zmiany w plikach zatwierdzane automatycznie, o polecenia powłoki nadal pyta), Auto (klasyfikator LLM zatwierdza działania, które uznaje za bezpieczne, blokuje ryzykowne i blokuje w razie wątpliwości) oraz YOLO (wszystkie działania zatwierdzane automatycznie). Shift+Tab przełącza tryby w trakcie sesji [2].
W macOS strona o piaskownicy opisuje dwie metody: Seatbelt, korzystający z wbudowanego sandbox-exec i niewymagający dodatkowego oprogramowania, oraz Docker lub Podman dla pełnej izolacji. Piaskownicę włącza się przez qwen -s, zmienną QWEN_SANDBOX=true lub "tools": {"sandbox": true} w settings.json. Istnieje sześć wbudowanych profili Seatbelt. Domyślny, permissive-open, ogranicza zapisy, ale pozwala na dostęp do sieci; profile -closed blokują sieć, a profile -proxied kierują ją przez serwer proxy [3]. Ustawienia znajdują się w ~/.qwen/settings.json oraz w .qwen/settings.json wewnątrz projektu [4].
Z czym się łączy
Strony dokumentacji przeczytane na potrzeby tego artykułu nie publikują stałej listy domen. Ruch trafia do skonfigurowanego dostawcy modelu i punktów końcowych, do wszystkiego, z czym kontaktuje się serwer MCP lub polecenie powłoki, a jeśli logujesz się kontem Qwen, także do tej usługi. Telemetria i przetwarzanie danych są opisane w Warunkach korzystania z usługi i Informacji o prywatności projektu, do których odsyła README. Przy domyślnym profilu Seatbelt sieć jest otwarta, więc piaskownica ogranicza zapisy plików, ale nie decyduje, z czym agent może się łączyć.
Obserwowanie agenta Qwen Code z FireAI
FireAI to zapora sieciowa dla macOS działająca na Macu. Jej funkcja Agent profile rozpoznaje 19 agentów AI, uczy się, z czym każdy z nich zwykle się łączy, i oznacza to, co nowe. Strona Agent profile w FireAI wymienia Qwen Code wśród agentów uruchamianych przez node, bun, deno lub python, których FireAI rozpoznaje po skrypcie wykonywanym przez środowisko uruchomieniowe. Na liście aktywności FireAI połączenie jest więc dopasowywane do Qwen Code przez jego skrypt, a nie pokazywane jako samo node.
- Przez pierwsze 3 dni FireAI uczy się miejsc docelowych, z którymi agent zwykle się kontaktuje, pogrupowanych według domeny, więc api.anthropic.com staje się anthropic.com. W tym okresie nic nie jest oznaczane.
- Po tym czasie pierwsze w historii miejsce docelowe spoza linii bazowej jest oznaczane do przeglądu w Suggestions, na karcie agentów AI i w Quick Review. Przesuń w lewo, aby zablokować, lub w prawo, aby wybrać „It’s fine”.
- Oznaczany jest także skok wysyłanych danych: godzina, w której agent wysłał co najmniej 4 razy więcej niż w swojej dotychczas najbardziej obciążonej godzinie, i nigdy mniej niż 25 MB.
- FireAI korzysta wyłącznie z metadanych, czyli nazw hostów i liczby bajtów. Nigdy nie czyta zawartości połączenia.
Konfiguracja FireAI dla agenta Qwen Code
- Zainstaluj FireAI i korzystaj z agenta jak zwykle. 3-dniowy okres nauki rozpoczyna się sam i niczego nie oznacza.
- Otwórz Suggestions i znajdź kartę agentów AI. Po okresie nauki oznaczenie dla agenta pojawia się tam oraz w Quick Review.
- Przejrzyj każde oznaczenie. Wybierz Block, aby utworzyć regułę dla procesu, który się połączył, lub „It’s fine”, aby dodać miejsce docelowe do linii bazowej agenta.
- Aby ograniczyć agenta do miejsc, z których już korzysta, wybierz Agent profile w menu trybu bezpieczeństwa, obok Home, Coffee shop, Paranoid i Under attack. Twoje reguły działają jak w trybie Home, a po zakończeniu nauki przez agenta połączenie z miejscem docelowym spoza linii bazowej jest blokowane zamiast oznaczane.
- Zablokowane miejsce docelowe pojawia się na karcie agentów AI z opcjami Allow i Keep blocked. Allow dodaje je do linii bazowej i agent od razu może się z nim połączyć. Keep blocked tworzy regułę blokującą obowiązującą w każdym trybie.
Napisana przez Ciebie reguła zezwalająca dla strony, domeny lub adresu nadal ma pierwszeństwo, a DNS i sieć lokalna nigdy nie są blokowane. Dla agenta, którego FireAI nie wymienia, napisz ręcznie regułę dla jego programu w regułach dla aplikacji. Tryb Agent profile wymaga FireAI 1.0.3 lub nowszego, a rozpoznawanie agenta Qwen Code wersji 1.0.4.
Ograniczenia
- Klasyfikator trybu Auto i profile piaskownicy należą do Qwen Code i stanowią warstwę odrębną od FireAI. Liberalny profil Seatbelt nadal pozwala na dostęp do sieci, a właśnie tę część obserwuje FireAI.
- Agent Qwen Code jest rozpoznawany po skrypcie wykonywanym przez środowisko uruchomieniowe, co oznacza, że jest etykietowany, a nie weryfikowany: tylko Claude Code, Claude i Cursor są sprawdzani pod kątem podpisu dewelopera.
- FireAI nie zatrzymuje wstrzykiwania promptów (prompt injection). Ogranicza szkody, oznaczając drogę, którą dane opuściłyby Maca, i pozwalając ją zablokować.
- FireAI nie widzi promptów, zawartości narzędzi MCP, dostępu do plików ani umiejętności (skills). TLS ukrywa zawartość, a FireAI nie działa wewnątrz agenta.
- Procesy potomne, które kończą się bardzo szybko, mogą zostać pominięte i są dopasowywane po ścieżce, a nie po podpisie.
- W 3-dniowym okresie nauki nic nie jest oznaczane, a skoki wysyłanych danych są oznaczane, nie blokowane.
- W trybie Agent profile połączenie nawiązane z samym adresem IP, bez nazwy hosta, jest dopasowywane po adresie, więc nowy adres usługi, z której agent zwykle korzysta, pozostaje zablokowany, dopóki go nie zezwolisz.
Inni agenci
To samo podejście dotyczy każdego agenta rozpoznawanego przez FireAI. Zobacz pozostałe przewodniki: Claude Code, aplikacja Claude na komputer, Cursor, aplikacja ChatGPT na Maca, OpenAI Codex CLI, OpenClaw, Hermes Agent, Gemini CLI, GitHub Copilot CLI, Amp, opencode, Aider, Goose, Crush, Windsurf, Kiro, Trae, Muse od Meta, każdy inny agent AI działający na pythonie lub node. Pełny opis funkcji znajduje się na stronie dokumentacji Agent profile, opublikowanej przez HisnLabs.
Jaką rolę odgrywają FireAI i HisnLabs
FireAI uczy się, z czym Qwen Code zwykle łączy się na Twoim Macu, i oznacza pierwsze w historii miejsce docelowe lub skok wysyłanych danych, nie czytając Twoich danych.
FireAI to własny produkt HisnLabs: zapora sieciowa z AI działająca bezpośrednio na Macu. Pokazuje prostym językiem każde połączenie nawiązywane przez twoje aplikacje i pozwala ci decydować, co opuszcza twojego Maca — jej AI działa lokalnie, więc twój ruch nigdy nie jest wysyłany do nas ani do nikogo innego. Zespół badań nad bezpieczeństwem HisnLabs dba o to, by te decyzje pozostały trafne: kataloguje, które domeny to zwykła telemetria, a które prawdziwa usługa, śledzi kraj i sieć stojące za połączeniem oraz trenuje lokalny model (funkcję FireAI Pilot) na rzeczywistych wzorcach ruchu — a nic z tego nie opuszcza twojego Maca.
Możesz przeczytać o decyzjach technicznych, które za tym stoją, albo wypróbować FireAI przez 17 dni na FireAI od HisnLabs.
