FireAIs sikkerhetsblogg

Av FireAI Security & Research Team · Publisert

FireAI gjenkjenner 19 KI-agenter på macOS og begrenser hvor dataene deres sendes

FireAI gjenkjenner 19 KI-agenter på macOS og begrenser hvor dataene deres sendes

Begge OWASP-listene som beskriver sikkerheten i systemer basert på språkmodeller, behandler data som forlater systemet som et sentralt utfall: Top 10 for LLM Applications 2025 oppfører utlevering av sensitiv informasjon som LLM02 [2], og Top 10 for Agentic Applications for 2026, publisert 9. desember 2025, nevner dataeksfiltrering i åtte av sine ti punkter [4]. På en Mac er en slik eksfiltrering en nettverkstilkobling. FireAI 1.0.4 utvider Agent profile fra tre gjenkjente agenter til 19, inkludert agenter som kjører i node eller python, og denne artikkelen redegjør for hvilke av OWASP-risikoene dette arbeidet adresserer, og hvilke det ikke adresserer.

Et rutenett med 19 små leirfigurer, én for hver KI-agent FireAI 1.0.4 gjenkjenner, fra Claude Code og Cursor til OpenClaw, Hermes Agent og Muse.
Figurene FireAI viser for hver gjenkjent agent. De er FireAI-illustrasjoner, ikke leverandørenes logoer.

Bakgrunn

En KI-agent på en Mac kjører med rettighetene til kontoen som starter den. Den leser filer, kjører skallkommandoer og åpner nettverkstilkoblinger, og den bestemmer neste steg ut fra tekst den leser, også tekst skrevet av andre. OWASP definerer promptinjeksjon som en sårbarhet som «oppstår når brukerens prompter endrer LLM-ens oppførsel eller utdata på utilsiktede måter», og regner «utlevering av sensitiv informasjon» blant konsekvensene [1].

FireAI er en nettverksbrannmur. Den kjører ikke inne i en agent og leser ikke prompter, filer eller innholdet i krypterte tilkoblinger. Det den ser, er hvilket program som åpner hver tilkobling, hvilken vert det kobles til, og hvor mange byte som sendes [5]. Agent profile, introdusert i FireAI 1.0.2, bruker disse metadataene til å lære hvor hver agent vanligvis kobler seg til, og markerer et mål agenten aldri har kontaktet eller en uvanlig stor opplasting. Sikkerhetsmodusen Agent profile, lagt til i 1.0.3, blokkerer et nytt mål til brukeren tillater det [6].

Hva OWASP beskriver

Top 10 for LLM Applications 2025

  • LLM01:2025 Promptinjeksjon. Eksempelscenario 2 beskriver skjulte instruksjoner på en nettside som får en modell til å «sette inn et bilde som lenker til en URL, noe som fører til eksfiltrering av den private samtalen» [1].
  • LLM02:2025 Utlevering av sensitiv informasjon. Punktet nevner «personidentifiserbar informasjon (PII), økonomiske opplysninger, helsejournaler, konfidensielle forretningsdata, sikkerhetslegitimasjon og juridiske dokumenter» som informasjonen det gjelder [2].
  • LLM06:2025 Overdreven handlefrihet. Punktet fører risikoen tilbake til overdreven funksjonalitet, overdrevne rettigheter og overdreven autonomi, og eksempelet viser en innkommende e-post som lurer en agent til å gjennomsøke brukerens innboks og videresende sensitiv informasjon til angriperen [3].

Top 10 for Agentic Applications for 2026

  • ASI01 Kapring av agentens mål: skjulte instruksjoner på nettsider eller i dokumenter «omdirigerer i det stille en agent til å eksfiltrere sensitive data eller misbruke tilkoblede verktøy» [4].
  • ASI02 Misbruk og utnyttelse av verktøy: agenter misbruker legitime verktøy, «noe som fører til dataeksfiltrering, manipulering av verktøyutdata eller kapring av arbeidsflyter». Eksemplene omfatter en agent som kjeder sammen legitime administrasjonsverktøy, blant dem cURL, for å sende ut sensitive logger, og et godkjent ping-verktøy som brukes til å lekke data gjennom DNS-oppslag [4].
  • ASI04 Sårbarheter i agentenes forsyningskjede: blant eksemplene en kompromittert npm-pakke, installert automatisk av kodeagenter, som «eksfiltrerte SSH-nøkler og API-tokener» [4].
  • ASI05 Uventet kodekjøring: skallkommandoer skjult i en prompt som agenten kjører, «med uautorisert systemtilgang eller dataeksfiltrering som resultat» [4].
  • ASI10 Løpske agenter: en agent som fortsetter å sende data ut etter en indirekte promptinjeksjon, med et atferdslag som overvåker avvik som tiltak, blant annet «uventede forsøk på dataeksfiltrering» [4].

For ASI02 har dokumentets tredje tiltak tittelen Execution Sandboxes and Egress Controls og lyder: «Håndhev tillatelseslister for utgående trafikk og avvis alle nettverksmål som ikke er godkjent» [4]. Det samme punktet ber om profiler med minste privilegium per verktøy som omfatter tillatelseslister for utgående trafikk. Det er disse to anbefalingene en nettverksbrannmur på Mac kan gjennomføre.

Hva FireAI 1.0.4 gjenkjenner

Tidligere versjoner gjenkjente Claude Code, skrivebordsappen Claude og Cursor ut fra kodesignaturen, og ChatGPT og Codex ut fra filbanen. Agenter som kjører i et skriptmiljø, ble ikke gjenkjent: for brannmuren var OpenClaw node og Aider python [5]. FireAI 1.0.4 leser argumentene til node-, bun-, deno- og python-prosesser for å finne skriptet de kjører, og legger til 14 agenter.

Gjenkjenningsregler i FireAI 1.0.4. Noen agenter gjenkjennes på mer enn én måte.
AgentHvordan FireAI gjenkjenner den
Claude Code, Claude, CursorKodesignatur med utviklerens team-ID; Claude Code også ut fra installasjonsmappen
ChatGPT, Windsurf, Kiro, Trae, Goose, OpenClawProgrampakken programmet kjører fra
Muse fra MetaSignerings-ID-en til appen i Mac App Store
Codex, opencode, Crush, Goose, kommandolinjeagenten til CursorNavnet på det native kommandolinjeprogrammet
OpenClaw, Hermes Agent, Gemini CLI, GitHub Copilot CLI, Amp, Qwen Code, opencode, Aider, Codex, Claude CodeSkriptet som kjøres av node, bun, deno eller python, eller mappen det er installert i

OpenAI beskriver dots som agenter som kjører på sin egen datamaskin i skyen [8]. Trafikken deres på Mac går gjennom ChatGPT-appen, så FireAI regner den som ChatGPTs trafikk. Muse fra Meta [9] gjenkjennes ut fra App Store-ID-en.

Gjenkjenningen omfatter også det en agent starter. Når et skall, git, curl eller et pakkeinstallasjonsprogram åpner en tilkobling, går FireAI oppover kjeden av foreldreprosesser, opptil åtte nivåer, til den når en gjenkjent agent, og registrerer tilkoblingen under den agenten [5]. Dette er tilfellet OWASP beskriver under ASI02, der legitime verktøy som cURL frakter dataene ut: verktøyet er klarert, men forelderen er en agent.

Agentiske nettlesere og terminalapper er bevisst utelatt. All trafikken deres ville bli regnet som agentens, og modusen Agent profile ville da blokkere vanlig nettlesing.

Hvordan kontrollene samsvarer med OWASP-punktene

Kilder: OWASP [1] til [4] for punktene; FireAI-dokumentasjonen [5] for kontrollene.
OWASP-punktKontroll i FireAIHva som ligger utenfor
LLM01, ASI01: injiserte instruksjoner leder agenten bortEn forespørsel til en vert agenten aldri har kontaktet, markeres, eller blokkeres i modusen Agent profileSelve injeksjonen; data sendt til et mål agenten allerede bruker
LLM02: utlevering av sensitiv informasjonEn opplastingstopp markeres: en time med minst 4 ganger agentens travleste time, og aldri under 25 MBSmå lekkasjer, som én enkelt nøkkel eller ett token; FireAI kan ikke avgjøre om data er sensitive
LLM06: overdreven handlefrihetRegler per app begrenser hvilke mål et program kan nåMeldinger sendt gjennom en tjeneste agenten har lov til å bruke, for eksempel e-postleverandøren
ASI02: legitime verktøy brukt til eksfiltreringBarneprosesser tilskrives agenten; modusen Agent profile fungerer som en innlært tillatelsesliste for utgående trafikkData kodet i DNS-oppslag: DNS blokkeres aldri av modusen Agent profile
ASI04, ASI05: en pakke eller kommando kjørt av agentenTilkoblinger fra kode agenten kjører, markeres eller blokkeres på samme måte som agentens egneKode som kjører senere, utenfor agenten, omfattes i stedet av de vanlige reglene per app
ASI10: en agent som fortsetter å sende data utHver agent har en referanselinje; avvik fra den markeres med en setning i klarspråkAtferd som læres i løpet av de første 3 dagene, blir en del av referanselinjen

Markeringen beskriver fakta FireAI har målt, for eksempel at en agent aldri før har kontaktet en server og har sendt 40 MB til den. Når den lokale KI-modellen er slått på, omformulerer den disse faktaene til en setning. Den vurderer ikke om et mål er trygt; beslutningen ligger hos brukeren [5].

De øvrige punktene på 2026-listen, misbruk av identitet og privilegier (ASI03), forgiftning av minne og kontekst (ASI06), usikker kommunikasjon mellom agenter (ASI07), kaskadefeil (ASI08) og utnyttelse av tillit mellom menneske og agent (ASI09), gjelder det som skjer inne i agenter og mellom dem. En nettverksbrannmur på Mac ser konsekvensene av dem bare når de ender i en tilkobling.

Anbefalinger

  1. La hver agent kjøre normalt de første 3 dagene, slik at referanselinjen gjenspeiler vanlig arbeid og ikke et eksperiment med et nytt verktøy.
  2. Les kortet for KI-agenter under Forslag jevnlig. Et mål som kontaktes for første gang rett etter at agenten har lest en nettside, en e-post eller et ukjent repository, er mønsteret OWASP beskriver under ASI01.
  3. For en agent som arbeider med sensitiv kode eller sensitive dokumenter, bytt til sikkerhetsmodusen Agent profile, slik at nye mål blokkeres til de er tillatt [6].
  4. Hold hemmeligheter utenfor agentens rekkevidde. FireAI ser hvor data går, ikke hva de er, og kan ikke hente tilbake data som allerede er sendt til et tillatt mål.
  5. For en agent FireAI ikke identifiserer, lag en regel for programmet den kjører som [7].

Relevans for FireAI

FireAI anvender den utgående delen av OWASP-veiledningen på selve Mac-en: en tillatelsesliste per agent, innlært i stedet for skrevet for hånd, med en markering eller en blokkering når den brytes. Den arbeider kun ut fra tilkoblingsmetadata, og ingenting om brukerens aktivitet forlater Mac-en. Den forhindrer ikke promptinjeksjon, inspiserer ikke hva en agent sender, og erstatter ikke sandkassekjøring, legitimasjon med minste privilegium eller menneskelig godkjenning av handlinger med stor konsekvens, som OWASP-dokumentene også anbefaler.

Begrensninger

  • FireAI gjenkjenner de 19 agentene som er oppført ovenfor, ikke enhver agent. Ethvert annet program, agent eller ikke, omfattes av FireAIs vanlige tilkoblingsvarsler og regler per app, men har ingen referanselinje og utløser ingen agentmarkeringer.
  • Gjenkjenning ut fra filbane eller skriptnavn er en etikett for referanselinjen, ikke et identitetsbevis. Et program kan kopiere mappenavnet til en annen agent. Bare Claude Code, Claude og Cursor kontrolleres mot utviklerens team-ID; team-ID-en til Muse er ennå ikke kontrollert på en installert kopi.
  • En barneprosess som avsluttes i løpet av omtrent en tiendedels sekund, kan være borte før FireAI går oppover foreldreprosessene, og tilkoblingen tilskrives da ikke agenten.
  • I løpet av de første 3 dagene markeres ingenting, og alt agenten gjør i den perioden, blir normalt for den.
  • Mål grupperes etter domene. Data sendt til en ny server under et domene agenten allerede bruker, eller til en delt tjeneste som en kodevert, markeres ikke.
  • FireAI kan ikke lese prompter, innholdet i MCP-verktøy, skills eller kryptert trafikk, og ser ikke hvilke filer en agent åpner.
  • Samsvaret ovenfor er HisnLabs’ lesning av OWASP-dokumentene. OWASP har ikke gjennomgått eller gått god for FireAI.

Hvor FireAI og HisnLabs kommer inn

En agent på Mac-en din kan styres av en skjult instruksjon. FireAI viser, og kan blokkere, hvor dataene dens sendes videre.

FireAI er HisnLabs’ eget produkt: en KI-brannmur som kjører direkte på Macen. Den viser hver tilkobling appene dine gjør, i klart språk, og lar deg bestemme hva som forlater Macen din — KI-en kjører lokalt, så trafikken din sendes aldri til oss eller noen andre. HisnLabs’ sikkerhetsforskningsteam er de som holder disse vurderingene pålitelige: de katalogiserer hvilke domener som er vanlig telemetri og hvilke som er en ekte tjeneste, sporer landet og nettverket bak en tilkobling, og trener den lokale modellen (FireAI Pilot-funksjonen) på ekte trafikkmønstre — uten at noe av det forlater Macen din.

Du kan lese om de tekniske valgene bak, eller prøve FireAI i 17 dager, på FireAI, fra HisnLabs.

Kilder