Blog o bezpieczeństwie FireAI

Autor FireAI Security & Research Team · Opublikowano

FireAI rozpoznaje 19 agentów AI w macOS i ogranicza, dokąd trafiają ich dane

FireAI rozpoznaje 19 agentów AI w macOS i ogranicza, dokąd trafiają ich dane

Obie listy OWASP opisujące bezpieczeństwo systemów opartych na modelach językowych traktują wyciek danych poza system jako jeden z kluczowych skutków: Top 10 for LLM Applications 2025 wymienia ujawnienie informacji wrażliwych jako LLM02 [2], a Top 10 for Agentic Applications for 2026, opublikowana 9 grudnia 2025 roku, wspomina o eksfiltracji w ośmiu z dziesięciu pozycji [4]. Na Macu taka eksfiltracja jest połączeniem sieciowym. FireAI 1.0.4 rozszerza Agent profile z trzech rozpoznawanych agentów do 19, w tym agentów działających wewnątrz node lub python, a niniejszy artykuł przedstawia, których zagrożeń z list OWASP dotyczy ta praca, a których nie.

Siatka 19 małych postaci z plasteliny, po jednej dla każdego agenta AI rozpoznawanego przez FireAI 1.0.4, od Claude Code i Cursor po OpenClaw, Hermes Agent i Muse.
Postacie, które FireAI wyświetla dla każdego rozpoznanego agenta. Są to ilustracje FireAI, a nie logotypy producentów.

Kontekst

Agent AI na Macu działa z uprawnieniami konta, które go uruchamia. Odczytuje pliki, wykonuje polecenia powłoki i otwiera połączenia sieciowe, a o kolejnym kroku decyduje na podstawie czytanego tekstu, w tym tekstu napisanego przez kogoś innego. OWASP definiuje wstrzykiwanie promptów jako podatność, która „występuje, gdy prompty użytkownika zmieniają zachowanie lub wyniki LLM w niezamierzony sposób”, i zalicza „ujawnienie informacji wrażliwych” do jej skutków [1].

FireAI jest zaporą sieciową. Nie działa wewnątrz agenta i nie odczytuje promptów, plików ani zawartości szyfrowanych połączeń. Widzi natomiast, który program otwiera każde połączenie, jaki jest host docelowy i ile bajtów zostaje wysłanych [5]. Agent profile, wprowadzony w FireAI 1.0.2, wykorzystuje te metadane, aby nauczyć się, z czym każdy agent zwykle się łączy, i oznacza cel, z którym agent nigdy wcześniej się nie kontaktował, albo nietypowo duże wysyłanie danych. Tryb bezpieczeństwa Agent profile, dodany w wersji 1.0.3, blokuje nowy cel do czasu, aż użytkownik na niego zezwoli [6].

Co opisuje OWASP

Top 10 for LLM Applications 2025

  • LLM01:2025 Wstrzykiwanie promptów. Przykładowy scenariusz 2 opisuje ukryte instrukcje na stronie internetowej, które skłaniają model do „wstawienia obrazu z odnośnikiem do adresu URL, co prowadzi do eksfiltracji prywatnej rozmowy” [1].
  • LLM02:2025 Ujawnienie informacji wrażliwych. Pozycja wskazuje jako zagrożone informacje „dane umożliwiające identyfikację osób (PII), dane finansowe, dokumentację medyczną, poufne dane biznesowe, dane uwierzytelniające i dokumenty prawne” [2].
  • LLM06:2025 Nadmierna sprawczość. Pozycja wywodzi to zagrożenie z nadmiernej funkcjonalności, nadmiernych uprawnień i nadmiernej autonomii, a w jej przykładzie przychodzący e-mail nakłania agenta do przeszukania skrzynki odbiorczej użytkownika i przekazania informacji wrażliwych atakującemu [3].

Top 10 for Agentic Applications for 2026

  • ASI01 Przejęcie celu agenta: ukryte instrukcje na stronach internetowych lub w dokumentach „po cichu przekierowują agenta do eksfiltracji danych wrażliwych lub niewłaściwego użycia podłączonych narzędzi” [4].
  • ASI02 Niewłaściwe użycie i wykorzystanie narzędzi: agenci niewłaściwie używają legalnych narzędzi, „co prowadzi do eksfiltracji danych, manipulacji wynikami narzędzi lub przejęcia przepływów pracy”. Przykłady obejmują agenta, który łączy w łańcuch legalne narzędzia administracyjne, w tym cURL, aby wysłać na zewnątrz wrażliwe logi, oraz zatwierdzone narzędzie ping wykorzystane do wyprowadzania danych przez zapytania DNS [4].
  • ASI04 Podatności w łańcuchu dostaw agentów: wśród przykładów przejęty pakiet npm, instalowany automatycznie przez agentów programistycznych, który „wykradł klucze SSH i tokeny API” [4].
  • ASI05 Nieoczekiwane wykonanie kodu: polecenia powłoki ukryte w prompcie, które agent wykonuje, „co skutkuje nieautoryzowanym dostępem do systemu lub eksfiltracją danych” [4].
  • ASI10 Agenci wymykający się spod kontroli: agent, który nadal wysyła dane na zewnątrz po pośrednim wstrzyknięciu promptu, a jako środek zaradczy warstwa behawioralna monitorująca odchylenia, w tym „nieoczekiwane próby eksfiltracji danych” [4].

W przypadku ASI02 trzeci środek zaradczy w dokumencie nosi tytuł Execution Sandboxes and Egress Controls i brzmi: „Egzekwuj listy dozwolonych połączeń wychodzących i odrzucaj wszystkie niezatwierdzone cele sieciowe” [4]. Ta sama pozycja zaleca profile najmniejszych uprawnień dla każdego narzędzia, obejmujące listy dozwolonych połączeń wychodzących. Właśnie te dwa zalecenia może zrealizować zapora sieciowa na Macu.

Co rozpoznaje FireAI 1.0.4

Wcześniejsze wersje rozpoznawały Claude Code, aplikację desktopową Claude i Cursor po podpisie kodu, a ChatGPT i Codex po ścieżce. Agenci działający w środowisku uruchomieniowym skryptów nie byli rozpoznawani: dla zapory OpenClaw był procesem node, a Aider procesem python [5]. FireAI 1.0.4 odczytuje argumenty procesów node, bun, deno i python, aby ustalić uruchamiany skrypt, i dodaje 14 agentów.

Reguły rozpoznawania w FireAI 1.0.4. Niektórzy agenci są dopasowywani na więcej niż jeden sposób.
AgentJak FireAI go rozpoznaje
Claude Code, Claude, CursorPodpis kodu z identyfikatorem zespołu dewelopera; Claude Code także po folderze instalacji
ChatGPT, Windsurf, Kiro, Trae, Goose, OpenClawPakiet aplikacji, z którego uruchamiany jest program
Muse firmy MetaIdentyfikator podpisu aplikacji z Mac App Store
Codex, opencode, Crush, Goose, agent wiersza poleceń CursorNazwa natywnego programu wiersza poleceń
OpenClaw, Hermes Agent, Gemini CLI, GitHub Copilot CLI, Amp, Qwen Code, opencode, Aider, Codex, Claude CodeSkrypt uruchamiany przez node, bun, deno lub python albo folder, w którym jest zainstalowany

OpenAI opisuje dots jako agentów działających na własnym komputerze w chmurze [8]. Ich ruch na Macu przechodzi przez aplikację ChatGPT, dlatego FireAI zalicza go do ruchu ChatGPT. Muse firmy Meta [9] jest rozpoznawany po identyfikatorze z App Store.

Rozpoznawanie obejmuje również to, co agent uruchamia. Gdy powłoka, git, curl lub instalator pakietów otwiera połączenie, FireAI przechodzi w górę łańcucha procesów nadrzędnych, maksymalnie o osiem poziomów, aż dotrze do rozpoznanego agenta, i przypisuje połączenie temu agentowi [5]. Jest to przypadek opisany przez OWASP w ASI02, w którym legalne narzędzia, takie jak cURL, wynoszą dane na zewnątrz: narzędzie jest zaufane, ale jego procesem nadrzędnym jest agent.

Agentowe przeglądarki internetowe i aplikacje terminalowe zostały celowo pominięte. Cały ich ruch byłby liczony jako ruch agenta, a tryb Agent profile blokowałby wtedy zwykłe przeglądanie stron.

Jak mechanizmy kontroli odpowiadają pozycjom OWASP

Źródła: OWASP [1]–[4] dla pozycji; dokumentacja FireAI [5] dla mechanizmów kontroli.
Pozycja OWASPMechanizm FireAICo pozostaje poza jego zasięgiem
LLM01, ASI01: wstrzyknięte instrukcje przekierowują agentaŻądanie do hosta, z którym agent nigdy się nie kontaktował, jest oznaczane albo blokowane w trybie Agent profileSamo wstrzyknięcie; dane wysłane do celu, z którego agent już korzysta
LLM02: ujawnienie informacji wrażliwychOznaczany jest skok wysyłania: godzina z co najmniej 4 razy większym wolumenem niż najbardziej aktywna godzina agenta, nigdy poniżej 25 MBNiewielkie wycieki, takie jak pojedynczy klucz lub token; FireAI nie potrafi ocenić, czy dane są wrażliwe
LLM06: nadmierna sprawczośćReguły dla poszczególnych aplikacji ograniczają cele, do których program może dotrzećWiadomości wysyłane przez usługę, z której agent może korzystać, na przykład jego dostawcę poczty
ASI02: legalne narzędzia użyte do eksfiltracjiProcesy potomne są przypisywane agentowi; tryb Agent profile działa jak wyuczona lista dozwolonych połączeń wychodzącychDane zakodowane w zapytaniach DNS: tryb Agent profile nigdy nie blokuje DNS
ASI04, ASI05: pakiet lub polecenie uruchomione przez agentaPołączenia z kodu uruchamianego przez agenta są oznaczane lub blokowane tak jak połączenia samego agentaKod uruchamiany później, poza agentem, podlega zamiast tego zwykłym regułom dla aplikacji
ASI10: agent, który nadal wysyła dane na zewnątrzKażdy agent ma punkt odniesienia; odstępstwa od niego są oznaczane zdaniem w prostym językuZachowanie wyuczone w ciągu pierwszych 3 dni staje się częścią punktu odniesienia

Oznaczenie opisuje fakty zmierzone przez FireAI, na przykład że agent nigdy wcześniej nie kontaktował się z danym serwerem i wysłał do niego 40 MB. Gdy lokalny model AI jest włączony, przeformułowuje te fakty w zdanie. Nie ocenia, czy cel jest bezpieczny; decyzja należy do użytkownika [5].

Pozostałe pozycje listy na 2026 rok, czyli nadużycie tożsamości i uprawnień (ASI03), zatruwanie pamięci i kontekstu (ASI06), niezabezpieczona komunikacja między agentami (ASI07), awarie kaskadowe (ASI08) oraz wykorzystanie zaufania między człowiekiem a agentem (ASI09), dotyczą tego, co dzieje się wewnątrz agentów i między nimi. Zapora sieciowa na Macu widzi ich skutki tylko wtedy, gdy kończą się one połączeniem.

Zalecenia

  1. Pozwolić każdemu agentowi działać normalnie przez pierwsze 3 dni, aby jego punkt odniesienia odzwierciedlał zwykłą pracę, a nie eksperyment z nowym narzędziem.
  2. Regularnie przeglądać kartę agentów AI w Sugestiach. Cel kontaktowany po raz pierwszy tuż po tym, jak agent przeczytał stronę internetową, e-mail lub nieznane repozytorium, odpowiada wzorcowi opisanemu przez OWASP w ASI01.
  3. W przypadku agenta pracującego z wrażliwym kodem lub dokumentami przełączyć się na tryb bezpieczeństwa Agent profile, tak aby nowe cele były blokowane do czasu zezwolenia [6].
  4. Trzymać sekrety poza zasięgiem agenta. FireAI widzi, dokąd trafiają dane, a nie czym są, i nie może cofnąć danych już wysłanych do dozwolonego celu.
  5. Dla agenta, którego FireAI nie rozpoznaje, utworzyć regułę dla programu, jako który działa [7].

Znaczenie dla FireAI

FireAI stosuje na samym Macu część wytycznych OWASP dotyczącą ruchu wychodzącego: listę dozwolonych celów dla każdego agenta, wyuczoną zamiast pisanej ręcznie, z oznaczeniem lub blokadą w razie jej naruszenia. Działa wyłącznie na podstawie metadanych połączeń i żadne informacje o aktywności użytkownika nie opuszczają Maca. Nie zapobiega wstrzykiwaniu promptów, nie analizuje tego, co agent wysyła, i nie zastępuje izolacji w piaskownicy, poświadczeń o najmniejszych uprawnieniach ani zatwierdzania przez człowieka działań o dużym wpływie, które dokumenty OWASP również zalecają.

Ograniczenia

  • FireAI rozpoznaje 19 wymienionych powyżej agentów, a nie każdego agenta. Każdy inny program, agent czy nie, jest objęty zwykłymi monitami o połączenie i regułami dla aplikacji w FireAI, ale nie ma punktu odniesienia i nie generuje oznaczeń agenta.
  • Rozpoznanie po ścieżce lub nazwie skryptu jest etykietą dla punktu odniesienia, a nie dowodem tożsamości. Program może skopiować nazwę folderu innego agenta. Tylko Claude Code, Claude i Cursor są weryfikowane względem identyfikatora zespołu dewelopera; identyfikator zespołu Muse nie został jeszcze sprawdzony na zainstalowanej kopii.
  • Proces potomny, który kończy działanie w ciągu mniej więcej jednej dziesiątej sekundy, może zniknąć, zanim FireAI prześledzi jego procesy nadrzędne, i wtedy jego połączenie nie zostaje przypisane agentowi.
  • Przez pierwsze 3 dni nic nie jest oznaczane, a wszystko, co agent zrobi w tym okresie, staje się dla niego normą.
  • Cele są grupowane według domeny. Dane wysłane do nowego serwera w domenie, z której agent już korzysta, lub do usługi współdzielonej, takiej jak serwis hostingu kodu, nie są oznaczane.
  • FireAI nie może odczytywać promptów, zawartości narzędzi MCP, skills ani ruchu szyfrowanego i nie widzi, jakie pliki otwiera agent.
  • Powyższe przyporządkowanie jest interpretacją dokumentów OWASP dokonaną przez HisnLabs. OWASP nie oceniał FireAI ani go nie poparł.

Jaką rolę odgrywają FireAI i HisnLabs

Agentem na Twoim Macu może pokierować ukryta instrukcja. FireAI pokazuje, a także może zablokować, dokąd trafią jego dane.

FireAI to własny produkt HisnLabs: zapora sieciowa z AI działająca bezpośrednio na Macu. Pokazuje prostym językiem każde połączenie nawiązywane przez twoje aplikacje i pozwala ci decydować, co opuszcza twojego Maca — jej AI działa lokalnie, więc twój ruch nigdy nie jest wysyłany do nas ani do nikogo innego. Zespół badań nad bezpieczeństwem HisnLabs dba o to, by te decyzje pozostały trafne: kataloguje, które domeny to zwykła telemetria, a które prawdziwa usługa, śledzi kraj i sieć stojące za połączeniem oraz trenuje lokalny model (funkcję FireAI Pilot) na rzeczywistych wzorcach ruchu — a nic z tego nie opuszcza twojego Maca.

Możesz przeczytać o decyzjach technicznych, które za tym stoją, albo wypróbować FireAI przez 17 dni na FireAI od HisnLabs.

Źródła