Crush — термінальний агент для програмування від Charm, компанії, що стоїть за відомою родиною інструментів командного рядка. Він питає, перш ніж запустити інструмент, цю поведінку можна вимкнути, а його README документує більш ніж одну мережеву поведінку. Тому він добре підходить для читачів, які шукають «безпека агента crush mac», «мережевий доступ crush» чи «чи безпечний Crush». Ця стаття збирає, що зазначено в README, а потім пояснює, як FireAI, фаєрвол для macOS від HisnLabs, що працює на пристрої, стежить за з’єднаннями однієї скомпільованої програми.
Що таке Crush
Crush розробляє Charm (charmbracelet на GitHub), і його написано на Go. README описує його як агентне програмне забезпечення для програмування в терміналі, що поєднує інструменти, код і робочі процеси з мовними моделями. Він підтримує багатьох постачальників, зокрема OpenAI, Anthropic, Gemini, Ollama і Bedrock, а його каталог моделей оновлюється з Catwalk, відкритої бази даних постачальників. Він може використовувати сервери MCP через stdio, HTTP і SSE, з OAuth для HTTP, а також мовні сервери (LSP) для контексту коду [1].
Як Crush працює на macOS
README наводить brew install charmbracelet/tap/crush, npm install -g @charmland/crush, go install github.com/charmbracelet/crush@latest і готові бінарні файли для macOS. Оскільки це програма на Go, процес на Mac — це один нативний виконуваний файл з назвою crush, а не інтерпретатор, що виконує скрипт.
До чого він має доступ і як цей доступ контролюється
За замовчуванням Crush просить дозволу перед виконанням викликів інструментів. Прапорець --yolo обходить усі запити, і README попереджає: «Be very, very careful with this feature.» Дозволи також можна налаштувати: permissions allow дає названим інструментам працювати без запиту, а permissions deny повністю приховує інструменти від агента. Конфігурація охоплює постачальників, LSP, MCP, дозволи, теми та навички [2].
Ці механізми визначають, які виклики інструментів виконуються. README не описує списку дозволених мережевих адрес.
Куди він підключається
README документує дві поведінки, що відкривають з’єднання без вашого запиту. По-перше, Crush збирає псевдонімні метадані використання і стверджує, що запити й відповіді ніколи не збираються; це вимикається через CRUSH_DISABLE_METRICS=1 або дотриманням DO_NOT_TRACK. По-друге, він автоматично завантажує каталог постачальників із Catwalk, що можна вимкнути через CRUSH_DISABLE_PROVIDER_AUTO_UPDATE=1 й оновлювати вручну командою crush update-providers [2]. Інші адреси залежать від налаштованих вами постачальника й серверів MCP.
Спостереження за Crush за допомогою FireAI
FireAI — фаєрвол для macOS, що працює на Mac. Його функція «Профіль агента» розпізнає 19 агентів ШІ, вивчає, куди кожен зазвичай підключається, і позначає нове. Сторінка «Профілю агента» у FireAI зараховує Crush до агентів командного рядка, яких розпізнає за назвою їхньої програми. З’єднання від програми з назвою crush та від її дочірніх процесів, як-от shell, git чи curl, приписуються Crush.
- Перші 3 дні FireAI вивчає адреси, з якими агент зазвичай зв’язується, групуючи їх за доменом: api.anthropic.com стає anthropic.com. У цей період нічого не позначається.
- Після цього перша за весь час адреса поза базовою лінією позначається для перегляду в «Пропозиціях», у картці «Агенти ШІ» та в «Швидкому перегляді». Проведіть ліворуч, щоб заблокувати, або праворуч, щоб вибрати «It’s fine».
- Сплеск вивантаження теж позначається: година, за яку агент вивантажив щонайменше вчетверо більше, ніж за свою найактивнішу годину досі, і ніколи не менше ніж 25 MB.
- FireAI використовує лише метадані, тобто імена хостів і кількість байтів. Вміст з’єднання він ніколи не читає.
Налаштування FireAI для Crush
- Установіть FireAI й користуйтеся агентом як зазвичай. Триденний період навчання починається сам і нічого не позначає.
- Відкрийте «Пропозиції» й знайдіть картку «Агенти ШІ». Після періоду навчання позначка для агента з’являється там і в «Швидкому перегляді».
- Перегляньте кожну позначку. Виберіть «Заблокувати», щоб створити правило для процесу, який підключився, або «It’s fine», щоб додати адресу до базової лінії агента.
- Щоб обмежити агента місцями, якими він уже користується, виберіть «Профіль агента» в меню режимів безпеки поряд із «Дім», «Кав’ярня», «Параноя» та «Під атакою». Ваші правила діють як у режимі «Дім», а з’єднання з адресою поза базовою лінією блокується замість позначення, щойно агент завершить навчання.
- Заблокована адреса з’являється в картці «Агенти ШІ» з кнопками «Дозволити» та «Залишити заблокованим». «Дозволити» додає її до базової лінії, і агент одразу отримує до неї доступ. «Залишити заблокованим» створює правило блокування, яке діє в усіх режимах.
Дозвільне правило, яке ви створили для вебсайту, домену чи адреси, усе одно має пріоритет, а DNS і ваша локальна мережа ніколи не блокуються. Для агента, якого FireAI не має в списку, напишіть правило для його програми вручну в правилах для застосунків. Режим «Профіль агента» потребує FireAI 1.0.3 або новішої версії, а розпізнавання Crush — версії 1.0.4.
Обмеження
- Змінні середовища, як-от
CRUSH_DISABLE_METRICS, змінюють те, що надсилає сам Crush. FireAI не читає цих налаштувань; він лише повідомляє, з якими хостами зв’язується програма і скільки вона вивантажує. - Crush розпізнається за назвою своєї програми, тобто він позначається міткою, а не перевіряється: лише 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, Goose, Windsurf, Kiro, Trae, Muse від Meta, будь-який інший агент ШІ, що працює на python чи node. Повний опис функції наведено на сторінці документації «Профілю агента», опублікованій HisnLabs.
Яке місце тут посідають FireAI та HisnLabs
FireAI вивчає, куди Crush зазвичай підключається на вашому Mac, і позначає першу нову адресу або сплеск вивантаження, не читаючи ваших даних.
FireAI — це власний продукт HisnLabs: ШІ-фаєрвол, який працює безпосередньо на вашому Mac. Він показує простою мовою кожне з’єднання, яке встановлюють ваші застосунки, і дає вам вирішувати, що покидає ваш Mac, — його ШІ працює локально, тож ваш трафік ніколи не надсилається ні нам, ні будь-кому іншому. Команда дослідників безпеки HisnLabs — саме вона підтримує точність цих рішень: каталогізує, які домени є звичайною телеметрією, а які — справжнім сервісом, відстежує країну та мережу за з’єднанням і навчає локальну модель (функцію FireAI Pilot) на реальних шаблонах трафіку — і нічого з цього не покидає ваш Mac.
Ви можете почитати про технічні рішення, що лежать в його основі, або спробувати FireAI протягом 17 днів на сторінці FireAI від HisnLabs.
