Блог о безопасности FireAI

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

Безопасность Hermes Agent на Mac: мониторинг сетевого доступа

Безопасность Hermes Agent на Mac: мониторинг сетевого доступа

Hermes Agent — агент с открытым исходным кодом от Nous Research, который умеет пользоваться терминалом, искать в интернете и отвечать через мессенджеры. Запросы вроде «hermes agent security» и «безопасен ли Hermes Agent» сводятся к двум вопросам: что он может запускать на вашем Mac и куда может уходить его трафик. В статье даны ответы на оба вопроса по собственной документации проекта и опубликованным материалам, а затем объяснено, как за его соединениями наблюдает FireAI — сетевой файрвол для macOS, разработанный HisnLabs.

Что такое Hermes Agent и как он работает на Mac

Репозиторий описывает самосовершенствующегося агента со встроенным циклом обучения, который создаёт навыки на основе опыта. Его разрабатывает Nous Research; он написан в основном на Python с компонентами на Node.js для веб-интерфейса и выпущен под лицензией MIT. На macOS он устанавливается однострочным скриптом (curl -fsSL https://hermes-agent.nousresearch.com/install.sh | bash). Он работает с Nous Portal, OpenRouter, OpenAI, Anthropic и собственными конечными точками, а его шлюз мессенджеров поддерживает Telegram, Discord, Slack, WhatsApp, Signal и электронную почту.

К чему у него есть доступ

В README перечислено более 40 встроенных инструментов, включая веб-поиск и доступ к терминалу, а также семь бэкендов терминала: local, Docker, SSH, Singularity, Modal, Daytona и Vercel Sandbox. На локальном бэкенде команды выполняются с правами учётной записи, запустившей Hermes.

Документированная модель разрешений

Документация по безопасности описывает эшелонированную защиту.

  • У одобрений три режима: smart (риск оценивает модель), manual (всегда спрашивать) и off. Режим YOLO обходит запросы, но жёсткий список запрета катастрофических команд продолжает действовать.
  • Контейнерные бэкенды, такие как Docker, Modal и Daytona, изолируют команды; проверки опасных команд там пропускаются, поскольку границей служит контейнер.
  • Доступ к шлюзу по умолчанию запрещён: используются коды сопряжения в личных сообщениях, которые одобряет оператор, а также списки разрешённых на уровне платформы и глобально.
  • Сетевые меры включают защиту от SSRF, блокирующую частные диапазоны адресов, loopback и конечные точки облачных метаданных.
  • Запись в защищённые пути, такие как ~/.ssh/ и ~/.aws/, жёстко заблокирована, а подпроцессы получают отфильтрованное окружение.

Это заявления поставщика, а не результаты независимых проверок. Документация не публикует фиксированный список доменов, к которым обращается Hermes; они зависят от настроенных вами поставщика модели и платформ обмена сообщениями.

Задокументированные инциденты

В GitHub Advisory Database значится CVE-2026-9366 — уязвимость внедрения средней степени опасности в версиях до 0.15.0, исправленная в 0.15.0 (бюллетень). Кроме того, Hunt.io и Unit 42 сообщили о злоумышленниках, запускавших Hermes Agent в режиме YOLO против чужих серверов (Hunt.io) (BleepingComputer). Эти случаи касаются выбора инструмента злоумышленниками, а не выявленного в нём дефекта. Подробности — в нашей сводке инцидентов.

Наблюдение за Hermes Agent с помощью FireAI

FireAI — файрвол для macOS, работающий на устройстве, разработанный HisnLabs. Функция Agent profile включает Hermes Agent в список 19 распознаваемых ИИ-агентов; поскольку Hermes Agent работает под python, FireAI определяет его по скрипту, который выполняет среда исполнения, — так Agent profile поступает с агентами на node, bun, deno и python. Дочерние процессы агента, например запущенные им оболочка, git или curl, приписываются ему путём подъёма по цепочке родительских процессов. Затем в течение первых 3 дней FireAI изучает, к каким адресам Hermes Agent обычно обращается, группируя их по доменам, и в этот период ничего не отмечает. После этого первое в истории обращение к новому адресу отмечается в Suggestions, в карточке AI agents и в Quick Review. Отмечается и всплеск исходящего трафика: час, за который агент отправил как минимум в 4 раза больше, чем в свой самый загруженный час до этого, и не менее 25 МБ.

Список Activity в FireAI с фильтром «herm»: процесс python3.14 подключается к hermes-agent.nousresearch.com и отображается с персонажем Hermes Agent вместо пустого значка.
Список Activity в FireAI на Mac: Python, поставляемый с Hermes Agent, подключается к hermes-agent.nousresearch.com и помечен персонажем Hermes Agent.

FireAI использует только метаданные — имена хостов и объёмы в байтах — и никогда не читает содержимое соединения. По умолчанию он отмечает событие и оставляет решение вам. Режим безопасности Agent profile идёт дальше: после завершения обучения соединение с адресом за пределами базового набора блокируется, пока вы не нажмёте Allow, а Keep blocked превращает эту блокировку в правило, действующее во всех режимах.

Пошаговая настройка

  1. Установите FireAI и завершите первоначальную настройку по руководству Install and finish setup.
  2. Пользуйтесь Hermes Agent как обычно в течение 3 дней. FireAI изучает его адреса в фоновом режиме и пока ничего не отмечает.
  3. Откройте Suggestions и найдите карточку AI agents. Когда появится отметка, прочитайте пояснение простыми словами, затем в Quick Review смахните влево, чтобы заблокировать, или вправо — «It’s fine».
  4. Если вы хотите, чтобы агент оставался в пределах уже используемых им адресов, выберите Agent profile в меню режима безопасности рядом с Home, Coffee shop, Paranoid и Under attack.
  5. Если что-то заблокировано, откройте карточку AI agents и выберите Allow, чтобы добавить адрес в базовый набор, или Keep blocked, чтобы создать правило блокировки.

Ограничения

  • FireAI не предотвращает внедрение промптов (prompt injection). Он ограничивает ущерб, отмечая путь, по которому данные покинули бы ваш Mac, и позволяя его заблокировать.
  • FireAI не видит промпты Hermes Agent, содержимое MCP-инструментов, навыки и то, какие файлы он читает, поскольку TLS скрывает содержимое, а FireAI не находится внутри агента.
  • Hermes Agent сопоставляется по имени скрипта, поэтому FireAI помечает его, а не верифицирует: с подписью разработчика сверяются только Claude Code, Claude и Cursor.
  • Команды, которые Hermes выполняет в Docker или на удалённом бэкенде, работают вне дерева процессов вашего Mac, поэтому FireAI видит соединение от процесса Docker или SSH, а не от команды внутри.
  • FireAI не заменяет собственные одобрения, списки разрешённых и песочницу Hermes и не проверяет создаваемые им навыки.
  • В течение трёхдневного периода обучения ничего не отмечается, а всплески исходящего трафика отмечаются, но не блокируются.
  • Новый сервер в домене, который агент уже использует, считается известным, поскольку адреса группируются по доменам.

Полное описание функции — в документации Agent profile. Связанное руководство посвящено OpenClaw.

Для других агентов, которых распознаёт FireAI, есть отдельные руководства: Claude Code, настольное приложение Claude, Cursor, приложение ChatGPT для Mac, OpenAI Codex CLI, OpenClaw, Gemini CLI, GitHub Copilot CLI, Amp, Qwen Code, opencode, Aider, Goose, Crush, Windsurf, Kiro, Trae, Muse от Meta, любой ИИ-агент, запускаемый через Python или Node.

Какое место здесь занимают FireAI и HisnLabs

Hermes Agent может выполнять команды терминала от вашего имени. FireAI показывает, куда он подключается дальше, и может это заблокировать.

FireAI — это собственный продукт HisnLabs: ИИ-файрвол, работающий прямо на вашем Mac. Он показывает простым языком каждое соединение, которое устанавливают ваши приложения, и позволяет вам решать, что покидает ваш Mac, — его ИИ работает локально, поэтому ваш трафик никогда не отправляется ни нам, ни кому-либо ещё. Команда исследователей безопасности HisnLabs — это те, кто поддерживает точность этих решений: они каталогизируют, какие домены являются обычной телеметрией, а какие — реальным сервисом, отслеживают страну и сеть, стоящие за соединением, и обучают локальную модель (функцию FireAI Pilot) на реальных шаблонах трафика — и ничего из этого не покидает ваш Mac.

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

Источники