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

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

Безпека агента Goose на Mac: моніторинг мережевого доступу (FireAI)

Безпека агента Goose на Mac: моніторинг мережевого доступу (FireAI)

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

Що таке Goose

goose написано на Rust і поширено за ліцензією Apache 2.0. Репозиторій, спочатку опублікований Block, зазначає, що проєкт тепер підтримує Agentic AI Foundation, яка діє під егідою Linux Foundation. Він пропонується як настільний застосунок, CLI та API і підключається до розширень через Model Context Protocol (MCP), відкритий стандарт інтеграції інструментів. README перелічує сумісність із понад дюжиною постачальників моделей, зокрема Anthropic, OpenAI, Google, Ollama, OpenRouter, Azure і Bedrock [1]. Кожне розширення — це інструмент, який може викликати агент, і розширення саме може звертатися до мережі.

Як Goose працює на macOS

Посібник зі встановлення наводить два шляхи на macOS. Настільний застосунок завантажується для Apple Silicon чи Intel або через brew install --cask block-goose. CLI встановлюється скриптом завантаження чи brew install block-goose-cli, а оновлення можуть надходити з Homebrew або через goose update. CLI і настільний застосунок мають спільну конфігурацію, зокрема налаштування постачальника, вибір моделі та розширення [2]. Спільний файл конфігурації на macOS — ~/.config/goose/config.yaml [3].

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

До чого може торкатися Goose, визначають увімкнені вами розширення, оскільки кожне розширення MCP надає власні інструменти, а також дозволи вашого облікового запису macOS. Документація проєкту містить розділ про режими дозволів. Під час підготовки цієї статті сторінку не вдалося прочитати повністю, тож стаття не описує окремих режимів; прочитайте посібник у документації goose, перш ніж на них покладатися.

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

Посібник з конфігурації документує налаштування телеметрії GOOSE_TELEMETRY_ENABLED, описане як увімкнення анонімного збору даних про використання, зі значенням false за замовчуванням; його можна задати в config.yaml або як змінну середовища [3]. Окрім обраного вами постачальника моделі та розширень, прочитані сторінки не публікують переліку доменів.

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

FireAI — фаєрвол для macOS, що працює на Mac. Його функція «Профіль агента» розпізнає 19 агентів ШІ, вивчає, куди кожен зазвичай підключається, і позначає нове. Сторінка «Профілю агента» у FireAI зараховує Goose до застосунків, які розпізнаються за застосунком, з якого вони працюють, разом із ChatGPT, Windsurf, Kiro, Trae та OpenClaw. Сторінка не уточнює, як зіставляється процес Goose, запущений з термінала, тож ця стаття не робить жодних тверджень про CLI понад те, що FireAI показує вам у списку активності.

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

Налаштування FireAI для Goose

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

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

Обмеження

  • FireAI бачить, до яких адрес звертається Goose чи його дочірні процеси, але не те, яке розширення MCP запросило з’єднання.
  • Goose розпізнається за застосунком, з якого він працює, тобто він позначається міткою, а не перевіряється: лише 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, Qwen Code, opencode, Aider, Crush, Windsurf, Kiro, Trae, Muse від Meta, будь-який інший агент ШІ, що працює на python чи node. Повний опис функції наведено на сторінці документації «Профілю агента», опублікованій HisnLabs.

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

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

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

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

Джерела