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

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

Як FireAI обмежує мережеві наслідки ризикованих помилок OpenClaw на вашому Mac

Як FireAI обмежує мережеві наслідки ризикованих помилок OpenClaw на вашому Mac

Запуск автономного агента, як-от OpenClaw, на Mac надає мовній моделі дозволи облікового запису, з якого його запущено, а опубліковані з січня 2026 року повідомлення про безпеку документують кілька випадків, коли така схема давала збій. Більшість цих збоїв завершується мережевим з’єднанням: дані надсилаються на невідомий сервер, локальний сервіс стає доступним ззовні, або завантажується корисне навантаження. FireAI — мережевий фаєрвол для macOS, тож він може обмежити саме цю частину. Він не може завадити агенту читати чи видаляти локальні файли, і ця стаття показує, де проходить межа.

Контекст

Власна документація OpenClaw зазначає, що інструменти виконуються на хості, якщо не налаштовано пісочницю, що вхідні повідомлення є недовіреними вхідними даними і що агенти з доступом до інструмента повідомлень за замовчуванням можуть надсилати повідомлення між розмовами й провайдерами каналів [1]. Отже, агент поєднує три речі: він читає недовірений текст, може діяти на машині й може комунікувати назовні. Фаєрвол стосується третьої. Наведені нижче розділи послідовно розглядають кожен задокументований клас ризику, називають відповідний засіб FireAI і перелічують кроки для його налаштування. Загальне порівняння OpenClaw із Hermes Agent наведено в окремій статті.

Перед кроками: як FireAI ідентифікує агента

FireAI ідентифікує програму за підписом коду виконуваного файлу, що відкриває з’єднання, а для непідписаної програми — за її шляхом. Він не має інтеграції з OpenClaw чи Hermes Agent і не розпізнає жодного з них за назвою. Агенти такого типу працюють усередині інтерпретатора загального призначення, зазвичай Node.js або Python, тож FireAI показує з’єднання від «node» або «python3». Правило для цього інтерпретатора застосовується до кожного скрипта, який виконує той самий двійковий файл, зокрема до непов’язаних інструментів.

Атрибуція окремих скриптів наразі недоступна. Тому кожне наведене нижче правило застосовується до інтерпретатора загалом, і правило, що блокує адреси агента, впливає також на будь-який інший скрипт, який виконує той самий інтерпретатор. Практичний спосіб приписати з’єднання — прочитати назву інтерпретатора в запиті й зіставити її з моментом, коли агент працював.

Ризик 1: prompt injection, що надсилає дані назовні

Kaspersky повідомила, що OpenClaw виявився вразливим до вилучення даних через зловмисний вміст електронних листів, зокрема в демонстрації дослідника з вилученням приватних криптографічних ключів шляхом вбудовування інструкцій у повідомлення, а користувачі повідомляли, що бот вивантажив вміст домашньої теки в груповий чат після промпту із соціальною інженерією [3]. Крок ексфільтрації — це вихідне з’єднання від процесу агента до сервера, який контролює зловмисник, або до сервісу обміну повідомленнями.

FireAI ідентифікує кожну програму за підписом коду й перевіряє свої правила для кожного з’єднання. У режимі Alert він призупиняє перше з’єднання з адресою, для якої немає правила, і запитує вас [12]. Налаштування, що обмежує цей ризик, — список дозволених адрес, побудований навколо агента:

  1. Запустіть агента один раз і дайте FireAI показати його перші з’єднання. У запиті натисніть Options, виберіть Always і The whole website для домену постачальника моделі, яким ви справді користуєтеся, потім «Дозволити». Запит називає інтерпретатор, а не агента.
  2. Заблокуйте всі інші адреси для цієї програми: відкрийте «Правила», натисніть Add rule, виберіть Stop the connection, вкажіть інтерпретатор, у якому працює агент (node або python3), і встановіть для Which website or server значення Anywhere on the internet.
  3. Відкрийте правило «Дозволити», створене для постачальника моделі, і ввімкніть Quick, щоб перше відповідне Quick rule ухвалювало рішення раніше, ніж розглядатиметься широке блокування.
  4. Відповідайте на подальші запити «Заблокувати», якщо не можете назвати адресу. Запит щодо незнайомого домену одразу після того, як агент прочитав електронний лист, — саме той сигнал, який цей засіб має виявляти.
  5. Відкрийте Details у запиті, щоб перевірити адресу, порт і статус підпису коду, і скористайтеся Why block this?, коли цю можливість запропоновано.

Обмеження існують. Якщо агенту дозволено звертатися до сервісу обміну повідомленнями чи до постачальника моделі, ін’єктована інструкція може надіслати дані туди, а FireAI бачить, скільки надіслано, а не що саме, бо не читає вмісту зашифрованих з’єднань (як з’єднання перевіряються без розшифрування).

Ризик 2: зловмисні або скомпрометовані навички

Koi Security перевірила 2 857 навичок у ClawHub і виявила 341 зловмисну, 335 із них — з однієї кампанії; eSecurity Planet повідомляє, що ці навички просили користувачів встановити «передумови», які доставляли Atomic macOS Stealer, що полює на облікові дані браузера, паролі зв’язки ключів, гаманці, ключі SSH і токени API [6]. Навичка виконується з дозволами агента, тож її мережеві звернення виглядають як звернення агента.

Засоби FireAI діють на те, куди йдуть ці звернення, двома способами. По-перше, список дозволених адрес із попереднього розділу відхиляє адреси, які ніколи не було схвалено. По-друге, FireAI може використовувати публічні списки загроз:

  1. Відкрийте в FireAI сторінку списків загроз і ввімкніть Use public threat data. Після цього FireAI раз на день завантажує списки, як-от abuse.ch URLhaus, ThreatFox і Feodo Tracker, а ваш трафік ніколи їм не надсилається. Див. документацію.
  2. Увімкніть Block what a threat list confirms, щоб підтверджений збіг ставав блокуванням, а не лише позначкою.
  3. Відкрийте «Загрози» й використайте Investigate для будь-якого рядка, якого ви не впізнаєте; досьє пояснює з’єднання крок за кроком.
  4. Тримайте Connection history ввімкненою («Параметри», Connection history), щоб згодом переглянути, яка програма зверталася до якої адреси; вона зберігає записи за 7 днів лише на цьому Mac.

Навичка, що звертається до сервера, якого не знає жоден список, або лише читає локальні файли, цим засобом не виявляється. Перевірка навички перед встановленням залишається основним захистом.

Ризик 3: локальний шлюз, доступний ззовні або з браузера

Censys зафіксувала зростання з приблизно 1 000 до 21 639 публічно відкритих екземплярів OpenClaw менш ніж за тиждень до 31 січня 2026 року, зазначивши, що Gateway розроблено для прослуховування локально на порту TCP 18789 [4]. Kaspersky описала встановлення без автентифікації, що довіряли localhost і перебували за неправильно налаштованими зворотними проксі [3]. Знахідка ClawJacked від Oasis Security показала, що вебсторінка могла підключитися до локального Gateway з браузера; її виправлено в OpenClaw 2026.2.25 [5].

FireAI застосовує правила до вхідних з’єднань із Mac так само, як до вихідних, хоча ніколи не запитує щодо вхідних з’єднань. Див. документацію. Відповідні кроки:

  1. Перемикайтеся в режим «Кав’ярня», коли Mac перебуває в мережі, яку ви не контролюєте. Він блокує вхідні з’єднання та спільний доступ до файлів і екрана для інших пристроїв, як описано в режимах безпеки.
  2. Щоб це відбувалося автоматично, прив’яжіть режим «Кав’ярня» до своїх публічних місць, як задокументовано в місцях, або використовуйте Coffee Shop Armor, який документація FireAI описує для публічних Wi-Fi.
  3. У «Правилах» додайте вхідне правило блокування для програми агента (у розділі Advanced встановіть Direction на incoming) у будь-якій мережі, якій ви не довіряєте повністю.
  4. Перевірте також власну конфігурацію агента: Gateway має залишатися прив’язаним до loopback, як описує документація OpenClaw для звичайних встановлень на хості [1].

Ризик 4: облікові дані й файли залишають машину

Ті самі повідомлення називають цілями ключі API, токени, ключі SSH і файли гаманців [6]. Для мережевої ексфільтрації застосовні три функції FireAI:

  1. Перевірка протоколів блокує незашифровані вебзапити, що містять номери карток, банківські реквізити, паролі чи ключі, до того як вони залишать Mac, і блокує дані, контрабандою виведені як DNS-запити; нічого не зберігається й не надсилається. Див. документацію.
  2. «Мапа світу» та «Активність» показують кожне з’єднання наживо й в історії з пошуком. Клацніть з’єднання правою кнопкою, щоб вибрати Deny host, Block IP for all apps або Block this app everywhere. Див. документацію.
  3. Ask FireAI приймає команди звичайною мовою, як-от «заблокувати» з назвою програми, як вона відображається у FireAI (для агента — інтерпретатор), показує попередній перегляд і нічого не застосовує, доки ви не натиснете Apply. Див. документацію.

Облікові дані, надіслані на дозволену адресу через зашифроване з’єднання, перебувають поза тим, що може бачити FireAI.

Ризик 5: неочікувані з’єднання, коли ніхто не стежить

Агенти працюють без нагляду. Документація OpenClaw зазначає, що невідомі відправники за замовчуванням проходять сполучення і що агенти можуть надсилати повідомлення між каналами, якщо це не обмежено [1]; документація Hermes Agent описує систему схвалення команд, режим якої можна встановити на off [7]. Саме під час роботи без нагляду помилкова чи ін’єктована дія встигає зробити найбільше, перш ніж людина помітить.

  1. Використовуйте правило за часом, створене через Ask FireAI, щоб агент підключався лише у визначені години, наприклад «дозволити агента в робочі години»; чотири вбудовані проміжки — ніч, вечір, робочі години й вихідні. Див. документацію.
  2. Використовуйте режим «Параноя», коли агент працює без нагляду. Він блокує трекінговий трафік, непідписані програми та кожен незашифрований порт, і навіть системні інструменти Apple мають бути схвалені [10].
  3. Використовуйте режим «Під атакою» або аварійний вимикач, коли агент поводиться неналежно. «Під атакою» дозволяє лише програми з явним правилом «Дозволити» й припиняє запитувати. Аварійний вимикач відхиляє нові з’єднання з усім, що перебуває поза домашньою чи офісною мережею, і він також доступний із рядка меню [11].
  4. Залиште FireAI Pilot для інших програм або переглядайте його рішення в «Пропозиціях», оскільки він автоматично відповідає на з’єднання, щодо яких упевнений; для агента явні правила легше перевіряти.

Рекомендації

  1. Запускайте агента в окремому обліковому записі користувача macOS або у віртуальній машині лише з потрібними йому теками.
  2. Надавайте йому відкличні облікові дані з вузьким обсягом і ніколи — свій основний менеджер паролів чи ключі SSH.
  3. Читайте вихідний код навички перед встановленням і відмовляйтеся від тих, що просять вставити команду shell як передумову.
  4. Оновлюйте агента; виправлення ClawJacked дійшло до користувачів лише через оновлення.
  5. Залишайте схвалення команд у ручному режимі там, де агент це пропонує.
  6. Поєднуйте список дозволених адрес, аварійний вимикач і режим, що відповідає місцю, де ви працюєте.

Обмеження

  • FireAI бачить інтерпретатор, що відкриває з’єднання (наприклад, node або python3), а не назву агента; правило застосовується до всього, що виконує цей інтерпретатор. Він не має інтеграції з цими агентами.
  • FireAI контролює, яка програма куди підключається, і може відключити інтернет. Він не може завадити агенту видаляти, шифрувати чи читати локальні файли, виконувати команди чи змінювати налаштування на Mac.
  • Аварійний вимикач відхиляє нові з’єднання; він не розриває вже відкритих.
  • FireAI не читає вмісту зашифрованих з’єднань, тож дані, надіслані на дозволену адресу, не перевіряються.
  • Фільтрування трафіку loopback між браузером і локальним сервісом не задокументовано; оновлюйте агента, щоб закривати такі вади.
  • Списки загроз блокують лише те, що підтверджують; новий сервер чи навичку з суто локальною поведінкою не охоплено.
  • Фаєрвол не виправляє власних проєктних рішень агента, як-от Gateway, прив’язаного до публічної адреси.
  • Потрібні додаткові заходи: облікові записи з мінімальними привілеями, пісочниці чи віртуальні машини, резервні копії та перевірка навичок перед встановленням.

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

Агенти діють швидко. Мережевий брандмауер вирішує, куди їм дозволено підключатися.

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

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

Джерела