Блог з безпеки FireAI

Автор FireAI Security & Research Team · Опубліковано

Чи безпечний Qwen Code на Mac: моніторинг мережі за допомогою FireAI

Чи безпечний Qwen Code на Mac: моніторинг мережі за допомогою FireAI

Qwen Code — агент для програмування з відкритим кодом, що живе в терміналі, читає проєкт, редагує файли й виконує команди shell на запит. Розробники шукають «чи безпечний Qwen Code» і «мережевий доступ Qwen Code» з практичної причини: агент надсилає ваші запити й частини коду постачальнику моделі, а команда shell, яку він запускає, може відкривати власні з’єднання. Ця стаття збирає, що його документація каже про роботу на macOS, до чого він має доступ і які механізми дозволів пропонує, а потім показує, як FireAI, фаєрвол для macOS від HisnLabs, що працює на пристрої, стежить за мережевим боком.

Що таке Qwen Code

Qwen Code розробляє команда QwenLM, частина проєкту Qwen від Alibaba, а його репозиторій описує його як агента ШІ для програмування з відкритим кодом для термінала, редактора, робочого столу, браузера та чату. Його випущено за ліцензією Apache-2.0. Документація зазначає, що він працює з OpenAI-сумісними API, а також з API Anthropic, Gemini і Qwen та з будь-яким стороннім постачальником чи локальною моделлю, як-от Ollama чи vLLM [1]. Тож куди йде його трафік, залежить від налаштованого вами постачальника.

Як Qwen Code працює на macOS

На Mac Qwen Code — програма на Node.js. README наводить npm install -g @qwen-code/qwen-code@latest, що потребує Node.js 22.0.0 або новішої версії, або brew install qwen-code, а також перелічує інсталяційні скрипти для Linux, macOS і Windows. Безголовий режим виконує один запит зі скрипта через qwen -p "...". Оскільки встановлене через npm працює в середовищі Node, процес, який бачить macOS, — це node, що виконує скрипт, а не програма з назвою агента.

До чого він має доступ і як цей доступ контролюється

Qwen Code документує п’ять режимів схвалення: Plan (аналіз лише для читання), Ask Permissions (раніше Default, ручне схвалення редагувань файлів і команд shell), Auto-Edit (зміни файлів схвалюються автоматично, про команди shell і далі питає), Auto (класифікатор на основі LLM схвалює дії, які вважає безпечними, блокує ризиковані й блокує, коли не впевнений) і YOLO (усі дії схвалюються автоматично). Shift+Tab перемикає режими під час сеансу [2].

На macOS сторінка про пісочницю описує два методи: Seatbelt, що використовує вбудований sandbox-exec і не потребує додаткового ПЗ, та Docker чи Podman для повної ізоляції. Пісочниця вмикається через qwen -s, змінну QWEN_SANDBOX=true або "tools": {"sandbox": true} у settings.json. Є шість вбудованих профілів Seatbelt. Профіль за замовчуванням, permissive-open, обмежує запис, але дозволяє доступ до мережі; профілі -closed блокують мережу, а профілі -proxied спрямовують її через проксі [3]. Налаштування зберігаються в ~/.qwen/settings.json і в .qwen/settings.json усередині проєкту [4].

Куди він підключається

Сторінки документації, прочитані для цієї статті, не публікують фіксованого переліку доменів. Трафік іде до налаштованих вами постачальника моделі й кінцевих точок, до всього, до чого звертається сервер MCP чи команда shell, і, якщо ви входите з обліковим записом Qwen, до цього сервісу. Телеметрію та обробку даних описано в Умовах надання послуг і Повідомленні про конфіденційність проєкту, на які посилається README. З профілем Seatbelt за замовчуванням мережа відкрита, тож пісочниця обмежує запис файлів, але не визначає, куди може підключатися агент.

Спостереження за Qwen Code за допомогою FireAI

FireAI — фаєрвол для macOS, що працює на Mac. Його функція «Профіль агента» розпізнає 19 агентів ШІ, вивчає, куди кожен зазвичай підключається, і позначає нове. Сторінка «Профілю агента» у FireAI зараховує Qwen Code до агентів, що запускаються через node, bun, deno чи python, яких FireAI розпізнає за скриптом, що виконує середовище. Тому в списку активності FireAI з’єднання зіставляється з Qwen Code через його скрипт, а не показується як «голий» node.

  • Перші 3 дні FireAI вивчає адреси, з якими агент зазвичай зв’язується, групуючи їх за доменом: api.anthropic.com стає anthropic.com. У цей період нічого не позначається.
  • Після цього перша за весь час адреса поза базовою лінією позначається для перегляду в «Пропозиціях», у картці «Агенти ШІ» та в «Швидкому перегляді». Проведіть ліворуч, щоб заблокувати, або праворуч, щоб вибрати «It’s fine».
  • Сплеск вивантаження теж позначається: година, за яку агент вивантажив щонайменше вчетверо більше, ніж за свою найактивнішу годину досі, і ніколи не менше ніж 25 MB.
  • FireAI використовує лише метадані, тобто імена хостів і кількість байтів. Вміст з’єднання він ніколи не читає.

Налаштування FireAI для Qwen Code

  1. Установіть FireAI й користуйтеся агентом як зазвичай. Триденний період навчання починається сам і нічого не позначає.
  2. Відкрийте «Пропозиції» й знайдіть картку «Агенти ШІ». Після періоду навчання позначка для агента з’являється там і в «Швидкому перегляді».
  3. Перегляньте кожну позначку. Виберіть «Заблокувати», щоб створити правило для процесу, який підключився, або «It’s fine», щоб додати адресу до базової лінії агента.
  4. Щоб обмежити агента місцями, якими він уже користується, виберіть «Профіль агента» в меню режимів безпеки поряд із «Дім», «Кав’ярня», «Параноя» та «Під атакою». Ваші правила діють як у режимі «Дім», а з’єднання з адресою поза базовою лінією блокується замість позначення, щойно агент завершить навчання.
  5. Заблокована адреса з’являється в картці «Агенти ШІ» з кнопками «Дозволити» та «Залишити заблокованим». «Дозволити» додає її до базової лінії, і агент одразу отримує до неї доступ. «Залишити заблокованим» створює правило блокування, яке діє в усіх режимах.

Дозвільне правило, яке ви створили для вебсайту, домену чи адреси, усе одно має пріоритет, а DNS і ваша локальна мережа ніколи не блокуються. Для агента, якого FireAI не має в списку, напишіть правило для його програми вручну в правилах для застосунків. Режим «Профіль агента» потребує FireAI 1.0.3 або новішої версії, а розпізнавання Qwen Code — версії 1.0.4.

Обмеження

  • Класифікатор режиму Auto та профілі пісочниці належать Qwen Code і є окремим від FireAI рівнем. Поблажливий профіль Seatbelt усе одно дозволяє доступ до мережі, а саме цю частину й відстежує FireAI.
  • Qwen Code розпізнається за скриптом, який виконує середовище, тобто він позначається міткою, а не перевіряється: лише Claude Code, Claude і Cursor звіряються з підписом свого розробника.
  • FireAI не зупиняє prompt injection. Він обмежує шкоду, позначаючи шлях, яким дані залишали б ваш Mac, і даючи змогу цей шлях заблокувати.
  • FireAI не бачить запитів, вмісту інструментів MCP, доступу до файлів чи навичок. TLS приховує вміст, а FireAI не працює всередині агента.
  • Дочірні процеси, що завершуються дуже швидко, можуть залишитися непоміченими, і вони зіставляються за шляхом, а не за підписом.
  • Протягом триденного періоду навчання нічого не позначається, а сплески вивантаження позначаються, але не блокуються.
  • У режимі «Профіль агента» з’єднання з «голою» IP-адресою без імені хоста зіставляється за адресою, тож нову адресу сервісу, яким агент зазвичай користується, буде заблоковано, доки ви її не дозволите.

Інші агенти

Той самий підхід застосовується до кожного агента, якого розпізнає FireAI. Інші посібники: Claude Code, настільний застосунок Claude, Cursor, застосунок ChatGPT для Mac, OpenAI Codex CLI, OpenClaw, Hermes Agent, Gemini CLI, GitHub Copilot CLI, Amp, opencode, Aider, Goose, Crush, Windsurf, Kiro, Trae, Muse від Meta, будь-який інший агент ШІ, що працює на python чи node. Повний опис функції наведено на сторінці документації «Профілю агента», опублікованій HisnLabs.

Яке місце тут посідають FireAI та HisnLabs

FireAI вивчає, куди Qwen Code зазвичай підключається на вашому Mac, і позначає першу нову адресу або сплеск вивантаження, не читаючи ваших даних.

FireAI — це власний продукт HisnLabs: ШІ-фаєрвол, який працює безпосередньо на вашому Mac. Він показує простою мовою кожне з’єднання, яке встановлюють ваші застосунки, і дає вам вирішувати, що покидає ваш Mac, — його ШІ працює локально, тож ваш трафік ніколи не надсилається ні нам, ні будь-кому іншому. Команда дослідників безпеки HisnLabs — саме вона підтримує точність цих рішень: каталогізує, які домени є звичайною телеметрією, а які — справжнім сервісом, відстежує країну та мережу за з’єднанням і навчає локальну модель (функцію FireAI Pilot) на реальних шаблонах трафіку — і нічого з цього не покидає ваш Mac.

Ви можете почитати про технічні рішення, що лежать в його основі, або спробувати FireAI протягом 17 днів на сторінці FireAI від HisnLabs.

Джерела