Crush — терминальный агент для программирования от Charm, компании, создавшей известное семейство инструментов командной строки. Он спрашивает разрешения, прежде чем запустить инструмент, ему можно запретить это делать, а в README задокументировано несколько его сетевых поведений. Поэтому он хорошо подходит для читателей, которые ищут «crush ai agent security mac», «crush network access» или «is Crush safe». В этой статье собрано то, что сказано в 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, разрешения, темы и skills [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. Его функция Agent profile распознаёт 19 ИИ-агентов, запоминает, куда каждый из них обычно подключается, и отмечает новое. Страница Agent profile в FireAI относит Crush к агентам командной строки, которые распознаются по имени программы. Соединения программы с именем crush и её дочерних процессов, например оболочки, git или curl, приписываются Crush.
- В первые 3 дня FireAI запоминает адреса, к которым агент обычно обращается, сгруппированные по домену, так что api.anthropic.com становится anthropic.com. В этот период ничего не отмечается.
- После этого первый в истории адрес за пределами базовой линии отмечается для проверки в Suggestions, в карточке AI agents и в Quick Review. Смахните влево, чтобы заблокировать, или вправо — «It’s fine».
- Отмечается и всплеск отправки данных: час, за который агент отправил как минимум в 4 раза больше, чем в свой самый загруженный час до этого, и не менее 25 МБ.
- FireAI использует только метаданные, то есть имена хостов и объёмы в байтах. Он никогда не читает содержимое соединения.
Настройка FireAI для Crush
- Установите FireAI и пользуйтесь агентом как обычно. Трёхдневный период обучения начинается сам и ничего не отмечает.
- Откройте Suggestions и найдите карточку AI agents. После периода обучения отметка для агента появится там и в Quick Review.
- Проверьте каждую отметку. Выберите Block, чтобы создать правило для подключившегося процесса, или «It’s fine», чтобы добавить адрес в базовую линию агента.
- Чтобы ограничить агента уже используемыми адресами, выберите Agent profile в меню режима безопасности, рядом с Home, Coffee shop, Paranoid и Under attack. Ваши правила действуют как в Home, а соединение с адресом за пределами базовой линии после завершения обучения агента блокируется, а не просто отмечается.
- Заблокированный адрес появляется в карточке AI agents с кнопками Allow и Keep blocked. Allow добавляет его в базовую линию, и агент сразу получает к нему доступ. Keep blocked создаёт блокирующее правило, действующее во всех режимах.
Разрешающее правило, которое вы написали для сайта, домена или адреса, по-прежнему имеет приоритет, а DNS и локальная сеть никогда не блокируются. Для агента, которого нет в списке FireAI, напишите правило для его программы вручную в разделе правил для приложений. Режиму Agent profile нужен FireAI 1.0.3 или новее, а распознаванию Crush — 1.0.4.
Ограничения
- Переменные окружения, например
CRUSH_DISABLE_METRICS, меняют то, что отправляет сам Crush. FireAI эти настройки не читает; он лишь сообщает, к каким хостам обращается программа и сколько данных отправляет. - Crush распознаётся по имени программы, то есть он помечается, но не проверяется: с подписью разработчика сверяются только Claude Code, Claude и Cursor.
- FireAI не останавливает prompt injection. Он ограничивает ущерб, отмечая путь, по которому данные покинули бы Mac, и позволяя его заблокировать.
- FireAI не видит промпты, содержимое инструментов MCP, доступ к файлам или skills. TLS скрывает содержимое, а FireAI не находится внутри агента.
- Дочерние процессы, которые завершаются очень быстро, могут быть пропущены, и они сопоставляются по пути, а не по подписи.
- В трёхдневный период обучения ничего не отмечается, а всплески отправки данных отмечаются, но не блокируются.
- В режиме Agent profile соединение с голым 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. Полное описание функции приведено на странице документации Agent profile, опубликованной HisnLabs.
Какое место здесь занимают FireAI и HisnLabs
FireAI запоминает, куда Crush обычно подключается на вашем Mac, и отмечает первый в истории адрес или всплеск отправки данных, не читая ваши данные.
FireAI — это собственный продукт HisnLabs: ИИ-файрвол, работающий прямо на вашем Mac. Он показывает простым языком каждое соединение, которое устанавливают ваши приложения, и позволяет вам решать, что покидает ваш Mac, — его ИИ работает локально, поэтому ваш трафик никогда не отправляется ни нам, ни кому-либо ещё. Команда исследователей безопасности HisnLabs — это те, кто поддерживает точность этих решений: они каталогизируют, какие домены являются обычной телеметрией, а какие — реальным сервисом, отслеживают страну и сеть, стоящие за соединением, и обучают локальную модель (функцию FireAI Pilot) на реальных шаблонах трафика — и ничего из этого не покидает ваш Mac.
Вы можете прочитать о технических решениях, лежащих в его основе, или попробовать FireAI в течение 17 дней на странице FireAI от HisnLabs.
