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

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

FireAI распознаёт 19 ИИ-агентов в macOS и ограничивает, куда уходят их данные

FireAI распознаёт 19 ИИ-агентов в macOS и ограничивает, куда уходят их данные

Оба списка OWASP, описывающие безопасность систем на основе языковых моделей, рассматривают выход данных за пределы системы как центральный исход: Top 10 for LLM Applications 2025 относит раскрытие конфиденциальной информации к пункту LLM02 [2], а Top 10 for Agentic Applications for 2026, опубликованный 9 декабря 2025 года, упоминает эксфильтрацию в восьми из десяти пунктов [4]. На Mac такая эксфильтрация представляет собой сетевое соединение. FireAI 1.0.4 расширяет Agent profile с трёх распознаваемых агентов до 19, включая агентов, работающих внутри node или python; в статье рассматривается, какие из рисков OWASP эта работа закрывает, а какие нет.

Сетка из 19 небольших пластилиновых персонажей, по одному на каждого ИИ-агента, которого распознаёт FireAI 1.0.4: от Claude Code и Cursor до OpenClaw, Hermes Agent и Muse.
Персонажи, которыми FireAI обозначает каждого распознанного агента. Это иллюстрации FireAI, а не логотипы разработчиков.

Контекст

ИИ-агент на Mac работает с правами учётной записи, от имени которой он запущен. Он читает файлы, выполняет команды оболочки и открывает сетевые соединения, а следующий шаг выбирает на основе прочитанного текста, в том числе текста, написанного кем-то другим. OWASP определяет промпт-инъекцию как уязвимость, которая «возникает, когда пользовательские промпты непредусмотренным образом изменяют поведение или вывод LLM», и относит к её последствиям «раскрытие конфиденциальной информации» [1].

FireAI — сетевой файрвол. Он не работает внутри агента и не читает промпты, файлы или содержимое зашифрованных соединений. Он видит, какая программа открывает каждое соединение, узел назначения и объём отправленных байтов [5]. Agent profile, появившийся в FireAI 1.0.2, по этим метаданным узнаёт, куда обычно подключается каждый агент, и помечает адресат, с которым агент никогда не связывался, или необычно большую выгрузку. Режим безопасности Agent profile, добавленный в 1.0.3, блокирует новый адресат, пока пользователь его не разрешит [6].

Что описывает OWASP

Top 10 for LLM Applications 2025

  • LLM01:2025 Промпт-инъекция. Пример сценария 2 описывает скрытые инструкции на веб-странице, которые заставляют модель «вставить изображение со ссылкой на URL, что приводит к эксфильтрации приватной переписки» [1].
  • LLM02:2025 Раскрытие конфиденциальной информации. В качестве информации под угрозой пункт называет «персональные данные (PII), финансовые сведения, медицинские записи, конфиденциальные деловые данные, учётные данные для доступа и юридические документы» [2].
  • LLM06:2025 Избыточная агентность. Пункт связывает риск с избыточной функциональностью, правами и автономией; в его примере входящее письмо обманом заставляет агента просмотреть почтовый ящик пользователя и переслать конфиденциальную информацию атакующему [3].

Top 10 for Agentic Applications for 2026

  • ASI01 Перехват цели агента: скрытые инструкции на веб-страницах или в документах «незаметно перенаправляют агента на эксфильтрацию конфиденциальных данных или злоупотребление подключёнными инструментами» [4].
  • ASI02 Злоупотребление инструментами и их эксплуатация: агенты злоупотребляют легитимными инструментами, «что приводит к эксфильтрации данных, манипуляции выводом инструментов или перехвату рабочих процессов». Среди примеров — агент, выстраивающий цепочку из легитимных административных инструментов, в том числе cURL, чтобы отправить наружу конфиденциальные журналы, и одобренный инструмент ping, используемый для утечки данных через DNS-запросы [4].
  • ASI04 Уязвимости цепочки поставок агентов: среди примеров — скомпрометированный npm-пакет, автоматически устанавливаемый агентами для программирования, который «эксфильтрировал SSH-ключи и API-токены» [4].
  • ASI05 Непредвиденное выполнение кода: скрытые в промпте команды оболочки, которые агент выполняет, «что приводит к несанкционированному доступу к системе или эксфильтрации данных» [4].
  • ASI10 Неподконтрольные агенты: агент, продолжающий отправлять данные наружу после непрямой промпт-инъекции; в качестве меры предлагается поведенческий уровень, отслеживающий отклонения, включая «непредвиденные попытки эксфильтрации данных» [4].

Для ASI02 третья мера в документе называется Execution Sandboxes and Egress Controls и гласит: «Применяйте списки разрешённых исходящих адресатов и запрещайте все неодобренные сетевые адресаты» [4]. Тот же пункт требует профилей минимальных привилегий для каждого инструмента, включающих списки разрешённых исходящих адресатов. Именно эти две рекомендации может выполнить сетевой файрвол на Mac.

Что распознаёт FireAI 1.0.4

Предыдущие версии распознавали Claude Code, настольное приложение Claude и Cursor по подписи кода, а ChatGPT и Codex — по пути. Агенты, работающие внутри среды выполнения скриптов, не распознавались: для файрвола OpenClaw был просто node, а Aider — python [5]. FireAI 1.0.4 читает аргументы процессов node, bun, deno и python, чтобы определить выполняемый скрипт, и добавляет 14 агентов.

Правила распознавания в FireAI 1.0.4. Некоторые агенты сопоставляются несколькими способами.
АгентКак FireAI его распознаёт
Claude Code, Claude, CursorПодпись кода с идентификатором команды разработчика; Claude Code также по папке установки
ChatGPT, Windsurf, Kiro, Trae, Goose, OpenClawПакет приложения, из которого запущена программа
Muse от MetaИдентификатор подписи его приложения из Mac App Store
Codex, opencode, Crush, Goose, агент командной строки CursorИмя нативной программы командной строки
OpenClaw, Hermes Agent, Gemini CLI, GitHub Copilot CLI, Amp, Qwen Code, opencode, Aider, Codex, Claude CodeСкрипт, выполняемый node, bun, deno или python, либо папка, в которую он установлен

OpenAI описывает dots как агентов, работающих на собственном компьютере в облаке [8]. Их трафик на Mac проходит через приложение ChatGPT, поэтому FireAI относит его к ChatGPT. Muse от Meta [9] распознаётся по идентификатору App Store.

Распознавание распространяется и на то, что запускает агент. Когда оболочка, git, curl или установщик пакетов открывает соединение, FireAI поднимается по цепочке родительских процессов, до восьми уровней, пока не дойдёт до распознанного агента, и записывает соединение на этого агента [5]. Это тот случай, который OWASP описывает в ASI02, когда данные выносят легитимные инструменты вроде cURL: инструмент доверенный, но его родитель — агент.

Агентные веб-браузеры и терминальные приложения намеренно исключены. Весь их трафик считался бы трафиком агента, и режим Agent profile блокировал бы обычный веб-сёрфинг.

Соответствие механизмов контроля пунктам OWASP

Источники: OWASP [1]–[4] для пунктов; документация FireAI [5] для механизмов контроля.
Пункт OWASPМеханизм FireAIЧто остаётся за его пределами
LLM01, ASI01: внедрённые инструкции перенаправляют агентаЗапрос к узлу, с которым агент никогда не связывался, помечается, а в режиме Agent profile блокируетсяСама инъекция; данные, отправленные адресату, которым агент уже пользуется
LLM02: раскрытие конфиденциальной информацииПомечается всплеск выгрузки: час, в течение которого отправлено минимум в 4 раза больше, чем в самый загруженный час агента, и никогда не меньше 25 МБНебольшие утечки, например один ключ или токен; FireAI не может определить, конфиденциальны ли данные
LLM06: избыточная агентностьПравила для отдельных приложений ограничивают, к каким адресатам может обращаться любая программаСообщения, отправленные через сервис, которым агенту разрешено пользоваться, например через его почтового провайдера
ASI02: легитимные инструменты для эксфильтрацииДочерние процессы приписываются агенту; режим Agent profile действует как выученный список разрешённых исходящих адресатовДанные, закодированные в DNS-запросах: режим Agent profile никогда не блокирует DNS
ASI04, ASI05: пакет или команда, запущенные агентомСоединения кода, запущенного агентом, помечаются или блокируются так же, как соединения самого агентаКод, который выполняется позже, вне агента, подпадает под обычные правила для приложений
ASI10: агент, продолжающий отправлять данные наружуУ каждого агента есть базовая линия; отклонения от неё помечаются фразой на простом языкеПоведение, усвоенное в первые 3 дня, становится частью базовой линии

Пометка описывает измеренные FireAI факты, например что агент никогда раньше не связывался с сервером и отправил на него 40 МБ. Если включена локальная ИИ-модель, она переформулирует эти факты в одно предложение. Она не оценивает, безопасен ли адресат; решение остаётся за пользователем [5].

Остальные пункты списка 2026 года — злоупотребление идентичностью и привилегиями (ASI03), отравление памяти и контекста (ASI06), небезопасное взаимодействие между агентами (ASI07), каскадные сбои (ASI08) и эксплуатация доверия человека к агенту (ASI09) — касаются того, что происходит внутри агентов и между ними. Сетевой файрвол на Mac видит их последствия, только когда они завершаются соединением.

Рекомендации

  1. Дайте каждому агенту поработать в обычном режиме первые 3 дня, чтобы его базовая линия отражала повседневную работу, а не эксперимент с новым инструментом.
  2. Регулярно просматривайте карточку ИИ-агентов в разделе Suggestions. Впервые появившийся адресат сразу после того, как агент прочитал веб-страницу, письмо или незнакомый репозиторий, — это закономерность, которую OWASP описывает в ASI01.
  3. Для агента, работающего с конфиденциальным кодом или документами, переключитесь в режим безопасности Agent profile, чтобы новые адресаты блокировались до разрешения [6].
  4. Держите секреты вне досягаемости агента. FireAI видит, куда уходят данные, но не что они собой представляют, и не может вернуть данные, уже отправленные разрешённому адресату.
  5. Для агента, которого FireAI не называет, создайте правило для программы, под которой он работает [7].

Значение для FireAI

FireAI реализует исходящую часть рекомендаций OWASP непосредственно на Mac: список разрешённых адресатов для каждого агента, выученный, а не написанный вручную, с пометкой или блокировкой при его нарушении. Он работает только с метаданными соединений, и никакие сведения о действиях пользователя не покидают Mac. Он не предотвращает промпт-инъекцию, не проверяет, что именно отправляет агент, и не заменяет песочницы, учётные данные с минимальными привилегиями или одобрение человеком действий с серьёзными последствиями, которые также рекомендуют документы OWASP.

Ограничения

  • FireAI распознаёт 19 перечисленных выше агентов, а не любого агента. Любая другая программа, будь то агент или нет, охватывается обычными запросами FireAI на соединение и правилами для приложений, но не имеет базовой линии и не вызывает пометок для агентов.
  • Распознавание по пути или имени скрипта — это метка для базовой линии, а не доказательство подлинности. Программа может скопировать имя папки другого агента. Только Claude Code, Claude и Cursor проверяются по идентификатору команды разработчика; идентификатор команды Muse пока не проверен на установленной копии.
  • Дочерний процесс, завершившийся примерно за десятую долю секунды, может исчезнуть раньше, чем FireAI пройдёт по его родителям, и тогда его соединение не приписывается агенту.
  • В первые 3 дня ничего не помечается, и всё, что агент делает в этот период, становится для него нормой.
  • Адресаты группируются по домену. Данные, отправленные на новый сервер в домене, которым агент уже пользуется, или в общий сервис, например хостинг кода, не помечаются.
  • FireAI не может читать промпты, содержимое инструментов MCP, навыки или зашифрованный трафик и не видит, какие файлы открывает агент.
  • Приведённое сопоставление — интерпретация документов OWASP со стороны HisnLabs. OWASP не рассматривал и не одобрял FireAI.

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

Агентом на вашем Mac можно управлять с помощью скрытой инструкции. FireAI показывает, куда затем уходят его данные, и может это заблокировать.

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

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

Источники