Обидва списки 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 ця робота охоплює, а які ні.

Контекст
ШІ-агент на 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 його розпізнає |
|---|---|
| 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 | Механізм 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 бачить їхні наслідки лише тоді, коли вони завершуються з’єднанням.
Рекомендації
- Дайте кожному агентові попрацювати у звичайному режимі перші 3 дні, щоб його базова лінія відображала повсякденну роботу, а не експеримент із новим інструментом.
- Регулярно переглядайте картку ШІ-агентів у розділі Suggestions. Адресат, що вперше з’явився одразу після того, як агент прочитав вебсторінку, лист або незнайомий репозиторій, — це закономірність, яку OWASP описує в ASI01.
- Для агента, що працює з конфіденційним кодом або документами, перейдіть у режим безпеки Agent profile, щоб нові адресати блокувалися до дозволу [6].
- Тримайте секрети поза досяжністю агента. FireAI бачить, куди йдуть дані, але не що вони собою становлять, і не може повернути дані, вже надіслані дозволеному адресатові.
- Для агента, якого 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.