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

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

Безпека GitHub Copilot CLI на Mac: стежте за його з’єднаннями

Безпека GitHub Copilot CLI на Mac: стежте за його з’єднаннями

GitHub Copilot CLI приносить агента для програмування в термінал. Він може редагувати файли, виконувати команди й працювати з репозиторіями, issues і pull requests. Люди, які шукають «безпека github copilot cli» чи «чи безпечний Copilot CLI», здебільшого хочуть знати, що він може запускати і що надсилає назовні. Ця стаття підсумовує власну документацію GitHub і показує, як FireAI, мережевий фаєрвол для macOS від HisnLabs, стежить за його з’єднаннями.

Що таке Copilot CLI і як він працює на Mac

Репозиторій зазначає, що інструмент створено в GitHub і що він працює на тій самій агентній основі, що й агент для програмування Copilot. Він підтримує macOS, Linux і Windows та встановлюється через npm (npm install -g @github/copilot), Homebrew (brew install copilot-cli) або інсталяційний скрипт. Вхід виконується командою /login або за допомогою персонального токена доступу з дозволом Copilot Requests, переданого як GH_TOKEN чи GITHUB_TOKEN. Він працює в інтерактивному режимі та в програмному режимі з прапорцем -p, за замовчуванням постачається із сервером MCP від GitHub і підтримує власні сервери.

До чого він має доступ

Документація GitHub зазначає, що в довірених каталогах Copilot може читати, змінювати й виконувати файли і що агент працює з GitHub.com через ваш автентифікований обліковий запис. Оскільки він може виконувати команди, він також може відкривати мережеві з’єднання, наприклад через curl чи git.

Задокументована модель дозволів

  • Довірені каталоги: ви підтверджуєте довіру до каталогу, з якого запускаєте CLI. Документація радить не запускати його з домашнього каталогу чи з місць із недовіреними виконуваними файлами.
  • Схвалення інструментів: для інструментів, що змінюють або виконують, як-от rm, node чи sed, Copilot пропонує схвалити один раз, схвалити на сеанс або відхилити й запропонувати альтернативу.
  • Прапорці: --allow-tool='shell(COMMAND)' і --deny-tool='shell(COMMAND)' задають правила для окремих команд, і --deny-tool має пріоритет. --allow-all-tools обходить схвалення і, словами документації, дає Copilot такий самий доступ, як у вас.

Для цього останнього випадку документація пропонує локальні чи хмарні пісочниці або ізольовані віртуальні машини. Переглянута сторінка не уточнює, які дані передаються GitHub чи постачальникам моделей, тож щодо точних адрес варто покладатися на спостереження. Це ситуація, яку OWASP називає надмірною агентністю: агент, якому дозволено діяти без людської перевірки кожного кроку.

Спостереження за GitHub Copilot CLI за допомогою FireAI

FireAI — фаєрвол для macOS від HisnLabs, що працює на пристрої. Його функція «Профіль агента» зараховує GitHub Copilot CLI до 19 агентів ШІ, яких розпізнає, і, оскільки Copilot CLI працює під node, впізнає його за скриптом, який виконує середовище, як «Профіль агента» робить для агентів на node, bun, deno і python. Дочірні процеси агента, наприклад shell, git чи curl, які він запускає, приписуються йому шляхом підйому ланцюжком батьківських процесів. Далі FireAI протягом перших 3 днів вивчає, з якими адресами GitHub Copilot CLI зазвичай зв’язується, групуючи їх за доменом, і в цей період нічого не позначає. Після цього перша за весь час адреса позначається в «Пропозиціях», у картці «Агенти ШІ» та у «Швидкому перегляді». Сплеск вивантаження теж позначається: година, за яку агент вивантажив щонайменше вчетверо більше, ніж за свою найактивнішу годину досі, і ніколи не менше ніж 25 MB.

FireAI використовує лише метадані, імена хостів і кількість байтів, і ніколи не читає вмісту з’єднання. За замовчуванням він позначає й залишає рішення вам. У режимі безпеки «Профіль агента» він іде далі: після завершення навчання з’єднання з адресою поза базовою лінією блокується, доки ви не натиснете «Дозволити», а «Залишити заблокованим» перетворює це блокування на правило, що діє в усіх режимах.

Налаштування крок за кроком

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

Обмеження

  • FireAI не запобігає prompt injection. Він обмежує шкоду, позначаючи шлях, яким дані залишали б ваш Mac, і даючи змогу цей шлях заблокувати.
  • FireAI не бачить запитів GitHub Copilot CLI, вмісту інструментів MCP, навичок чи того, які файли він читає, бо TLS приховує вміст, а FireAI не працює всередині агента.
  • Copilot CLI зіставляється за назвою скрипта, тож FireAI позначає його міткою, а не перевіряє: лише Claude Code, Claude і Cursor звіряються з підписом свого розробника.
  • З’єднання, встановлені програмами gh чи git, зіставляються через дерево процесів, тобто за шляхом, а дочірні процеси, що завершуються дуже швидко, можуть залишитися непоміченими.
  • FireAI не читає схвалень чи команд, тож не може сказати, яка команда відкрила з’єднання.
  • Протягом триденного періоду навчання нічого не позначається, а сплески вивантаження позначаються, але не блокуються.
  • Новий сервер у домені, яким агент уже користується, вважається відомим, бо адреси групуються за доменом.

Функцію описано в документації «Профілю агента».

Інші агенти, яких розпізнає FireAI, мають власні посібники: Claude Code, настільний застосунок Claude, Cursor, застосунок ChatGPT для Mac, OpenAI Codex CLI, OpenClaw, Hermes Agent, Gemini CLI, Amp, Qwen Code, opencode, Aider, Goose, Crush, Windsurf, Kiro, Trae, Muse від Meta, будь-який агент ШІ, запущений через Python чи Node.

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

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

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

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

Джерела