Sikring av agenter på tvers av Perplexitys klientendepunkter med Numbat
Numbat er Perplexitys åpen kildekode-sikkerhetssuite for klientendepunkter. Den oppdager, forhindrer og undersøker risikabel KI-agentatferd på macOS, Linux og Windows.
KI-agenter må være sikre for å være nyttige. Etter hvert som modell- og systemkapasiteten øker, øker også årvåkenheten som kreves for å beskytte brukere.
Tidligere forskning på agentsikkerhet fokuserte på ledetekstinjeksjoner og andre former for fiendtlige inndata. Likevel gir nyere fremskritt innen agentautonomi opphav til sikkerhetshendelser som ikke trenger å forutsette eksistensen av fiendtlige inndata – eller menneskelige motstandere i det hele tatt.
Agenter som instrueres til å forfølge overordnede mål, uten forskriftsmessig veiledning om hvordan disse målene skal nås, kan snarere bli motstanderen. Dette skjer når en agent, som svar på et brukeroppgitt mål, velger en handlingsmåte som brukeren ikke hadde tenkt og ikke ville ha godkjent. Selv om slike hendelser ble teoretisert for bare noen måneder siden, har de raskt blitt et spørsmål om praktisk bekymring.
Fordi disse atferdene ikke kan fullstendig lappes innenfor modell-laget, må et robust forsvar derfor finnes i det omliggende systemet, inkludert agentharnisken som fungerer som modellens grensesnitt mot omverdenen. Vi åpner kildekoden til Numbat, vår sikkerhetssuite for agenter som hjelper forsvarere med å forhindre, oppdage og redusere agentrelaterte hendelser. Numbat identifiserer og integrerer seg direkte med agentharnisker som vanligvis finnes på bedriftsklienters endepunkter, håndhever sikkerhetsregler og muliggjør rask oppdagelse og respons.
Introduksjon
Adopsjon av agenter utgjør nye sikkerhetsutfordringer for både utviklere, adoptere og forsvarere. Dette gjelder spesielt når bedrifter distribuerer agenter direkte på klientendepunkter med privilegert tilgang til bedriftssystemer og data.
Agentdistribusjoner på klientendepunkter, som CLI-baserte eller skrivebordsappbaserte kodeagenter, kommer med varierende nivåer av sandkassering og isolasjon. Brukere utnytter disse agentene for utallige bruksområder, hver med sitt eget tilhørende handlingsrom som kan påvirke selve endepunktet eller andre systemer som er tilgjengelige fra endepunktet. I økende grad forventes agenter å fungere autonomt i timer eller til og med dager. For disse arbeidsflyt, velger mange brukere å delegere godkjenninger av agenthandlinger til klassifiseringsverktøy, eller omgå godkjenninger helt med bekymringsfullt navngitte konfigurasjonsflagg som --dangerously-skip-permissions og --yolo. Mangfoldet av agentbrukstilfeller og konfigurasjoner, kombinert med bredden av handlinger som kodeagenter kan utføre på privilegerte endepunkter, skaper en risikoprofil som krever proaktiv håndtering av sikkerhetsteam.
I dag lanserer vi Numbat, en åpen kildekode-sikkerhetssuite for agenter som vi bygget for å oppdage, undersøke og forhindre farlig aktivitet fra KI-agenter. Etter hvert som flere selskaper tar i bruk banebrytende agentprodukter, setter Numbat sikkerhetsteam i stand til å holde tritt med de resulterende sikkerhetsutfordringene. Den integreres i hver av de mest utbredte klientside-agentharniskene samtidig som den eksponerer et konsistent grensesnitt på tværs av dem alle. Numbat frigjør dermed sikkerhetsteam fra byrden med å bygge egendefinerte sikkerhetstiltak og overvåkingsverktøy for hver enkelt agent brukerne deres er avhengige av. Numbat er tilgjengelig for forsvarerøkosystemet som en del av Perplexitys medlemskap i Open Secure AI Alliance med NVIDIA og andre organisasjoner.
Denne artikkelen begynner med en diskusjon om sikkerhetsutfordringene som motiverer Numbat. Deretter presenterer vi Numbats design og arkitektur, sammen med våre lærdommer fra distribusjon av Numbat på tvers av tusenvis av Perplexitys egne endepunkter.
Kartlegging av sårbarhetslandskapet
Landskapet for sikkerhetshendelser med KI-agenter utvikler seg raskt. Mye av den eksisterende litteraturen om agentsikkerhet fokuserer på injeksjonsangrep, der en svindelnyttelast (payload) introduseres i modell-ledetekster eller kontekst for å forvirre agenter til upassende oppførsel. Injeksjonsangrep og sikkerhetstiltak har blitt grundig studert, og agentutviklere, inkludert Perplexity, har utviklet stadig mer robuste forsvar mot injeksjonsangrep.
Men en KI-agent trenger ikke en skadelig nyttelast for å skape en sikkerhetshendelse. Faktisk trenger man ikke å anta eksistensen av en motstander i det hele tatt. En betrodd agent som opererer inne i et betrodd miljø med administratorgodkjente verktøy, kan utføre skadelige handlinger rett og slett fordi den prøver for hardt på å fullføre oppgaven sin.
Forskere beskriver denne feilmodusen som en «utilsiktet smelteulykke»: skadelig agentatferd utløst ikke av fiendtlige inndata, men av en ordinær miljøfeil. En manglende fil, mislykket API-forespørsel, utløpt påloggingsinformasjon eller tillatelsesnekting kan sende en agent på jakt etter en omvei. Under forfølgelsen av sitt opprinnelige brukeroppgitte mål, kan agenten krysse sikkerhetsgrenser gjennom uautorisert rekognosering, endringer i tilgangskontroll, oppdagelse av hemmeligheter eller dataeksfiltrering. I stedet for at agenten blir kapret av en angriper, er agenten selv angriperen. Dessuten kan angrepet rette seg mot interne systemer, eksterne systemer eller begge deler, uten mulighet til å vite det før angrepet allerede er i gang.
Den første allment omtalte utilsiktede smelteulykken ankom denne måneden, med OpenAIs avsløring av et agentinitiert angrep som kompromitterte Hugging Faces produksjonsinfrastruktur. Under evalueringer av en forhåndsutgitt GPT-modell, fant modellen det umulig å gjøre fremgang på evalueringen med den medfølgende konteksten. For å bryte denne floken, fant modellen en måte å unnslippe sandkassetestingmiljøet på og eksfiltrere evakueringssvarene fra Hugging Face. Modellen utnyttet sin harnisk for å unnslippe tiltenkte nettverksbegrensninger, eskalere privilegier utover sandkassegrenser, skaffe hemmeligheter og få tilgang til sikre Hugging Face-systemer, alt for å forfølge det snevre målet om å løse evalueringen.
Meltdowns omfatter også utilsiktede systemendringer og slettinger. Selv om dette kanskje er mer hverdagslig enn å bryte inn i et eksternt system, forekommer slike hendelser oftere og er mer påfallende for enhver avansert bruker av kodeagenter. Å slette produksjonsdatabaser eller hjemmekataloger er enhver utviklers verste mareritt, og agenter må kunne unngå slik atferd gjennom hele kjøringen sin.
KI-forskere jobber for å redusere denne atferden i selve modellene. Selv om disse innsatsene absolutt er verdifulle, oppfatter mange i forskningsmiljøet en fundamental spenning mellom å trene modeller for sterke sikkerhetsegenskaper og å trene de samme modellene til å utføre stadig mer komplekse oppgaver. Vi tror det er lite sannsynlig at forsvar som utelukkende fokuserer på modell-laget vil redusere risikoen for smelteulykker til akseptable nivåer.
Sikring av kodeagenter gjennom native harniskintegrasjoner
Resultatet er at agentsikkerhet ikke utelukkende kan basere seg på sikkerhetstiltak på modell-, bruker- eller oppgavenivå. Sikkerhetsteam trenger snarere innsikt i hva agenter faktisk gjør på klientendepunkter, pluss kontroller som kan stoppe farlige handlinger før de kjøres. Dette er systemnivåkontroller som må være tett integrert med agentharnisken.
Numbat leverer disse kontrollene i form av en lettvekts statisk Go-binærfil som kobles sømløst til ledende klientside-agentharnisker. Den tilbyr live-overvåking, policyhåndheving og rettsmedisinsk rekonstruksjon på tvers av agentharnisker og utførelsesmiljøer.
De nøkkelintegrasjonspunktene mellom Numbat og en agentharnisk er kroker (hooks), øktartefakter og OTLP-telemetri. Vi diskuterer hver av dem etter tur.
Kroker (Hooks)
Stort sett alle kodeagenter har et krok-undersystem (hook). Kroker lar agenter deterministisk utføre subrutiner på forhåndsspesifiserte punkter i agentens utførelseslivssyklus. Agentbrukere konfigurerer typisk kroker for å gi modeller ekstra kontekst på forutsigbare måter, implementere test- og verifiseringsløkker og gjøre andre forbedringer av agentens evner.
De samme deterministiske egenskapene som gjør kroker attraktive for disse formålene, gjør dem også attraktive for deteksjon og respons. Det er vanligvis utilstrekkelig å fange opp de fleste forekomster av en potensielt bekymringsfull hendelse. Man må snarere dekke alle slike forekomster for deteksjon og respons. Numbat konfigurerer flere typer kroker, slik at sikkerhetsteam og IT-administratorer kan implementere rik deteksjonslogikk.
I de fleste kodeagenter er visse typer kroker (vanligvis kalt «pre-action»-kroker) også i stand til å blokkere utførelsen av agentens neste handling. Ved hjelp av disse pre-action-krokene er Numbat i stand til å implementere ikke bare deteksjonslogikk, men også forebyggende sikkerhetsregler for å stoppe en smelteulykke fra å skje i utgangspunktet.
Øktartefakter
Kroker er kraftige midler for å implementere deteksjons- og forebyggingslogikk i sanntid. Imidlertid må denne logikken kunne spesifiseres i kode. Ofte har en sikkerhetshendelse med en agent en form som ikke kunne ha blitt forutsett på forhånd, enn si redusert til kildekode. Derfor har Numbat også muligheten til å få tilgang til og analysere øktartefakter retroaktivt.
Øktartefakter inkluderer mange typer logger og diagnostikk. Kanskje den viktigste typen logg er øktutskriften (session transcript), som registrerer LLM-samtalene som dikterer agentens rekkefølge av handlinger. Avanserte brukere av kodeagenter er allerede vant til å eksportere øktutskrifter for videre analyse gjennom harnisk-tilveiebragte kommandoer. Men disse eksportene er vanligvis i klartekstformat, noe som er dårlig egnet for sikkerhetsteam som krever maskinlesbare logger med et konsistent, forutsigbart skjema.
Numbat henter dermed øktartefakter direkte fra selve filsystemet. Fordi de fleste klientside-agentharnisker lagrer originale artefakter på filsystemet (vanligvis i en agentspesifikk prikkmappe under $HOME), gir det å koble seg til filsystemet den mest direkte ruten til disse dataene i deres mest brukbare og uberørte form. Sikkerhetsteam som bruker Numbat, kan samle inn disse artefaktene i normalisert NDJSON-tidslinjeformat gjennom numbat scan, enten for lokal behandling på klientendepunktet eller asynkron ekstern analyse. Fordi øktartefakter er statiske, selvinneholdte poster, er Numbat i stand til å rekonstruere disse tidslinjene selv for økter som fant sted lenge før Numbat ble installert.
OTLP-telemetri
De fleste klientside-agentharnisker tilbyr omfattende telemetri gjennom OpenTelemetry-protokollen (OTLP). Denne telemetrien gir typisk mange signaler utover de som er tilgjengelige gjennom kroker eller øktartefakter.
Numbat kan fungere som en OTLP-mottaker via kommandoen numbat collect. Denne kommandoen starter en server som kodeagenter sender OTLP-telemetri til for nedstrøms analyse. Viktig nok er denne serveren lokal og lytter som standard bare på localhost, noe som betyr at all telemetri forblir på enheten som standard. Sikkerhetsadministratorer kan deretter bestemme hva de skal gjøre med den loggførte telemetrien, enten det innebærer å implementere lettvekts på-enheten-behandling, ekstern behandling via numbat ship, eller mer involvert analyse på analyseplattformer som ClickHouse.
Distribuere Numbat i Perplexity
Innenfor Perplexity bruker vi Numbat til å sikre våre ingeniørers bruk av klientside-kodeagenter, inkludert Claude Code, Codex, OpenCode og Pi.
Både vår forebyggings- og deteksjonsinnsats gjør utstrakt bruk av Numbat-regler, som implementeres via hver agents krok-undersystem. Vi formulerte flere grunnleggende regler for våre egne behov, hvor mange vi sendte som en del av Numbats 52 innebygde regler. Disse reglene er organisert i 11 adferdskategorier og et sett med flertrinns sekvensdeteksjoner som tilgang til hemmeligheter, eksfiltrering, privilegieeskalering og lateral bevegelse. Regler bruker CEL-uttrykk over normaliserte hendelser, og operatører kan legge til sine egne regler og tester uten å endre Numbats koder.
For eksempel oppdager den innebygde privilege.sudoers_tamper-regelen skriving til sudoers-policy, bruk av visudo og forsøk på å installere NOPASSWD-tilganger. Dette er handlinger med høyt signalnivå som kan gjøre en begrenset agentprosess til vedvarende root-tilgang.
# privilege.sudoers_tamper (simplified for readability)
id: privilege.sudoers_tamper
severity: high
expr: |
(
event.event_type == "file.write" &&
event.file_path.matches("(^|/)etc/sudoers$|(^|/)etc/sudoers\\.d/[^/]+$")
) || (
event.event_type == "command.exec" &&
event.command.matches("\\bvisudo\\b|\\bNOPASSWD\\s*:")
)Enkeltkommandoer ser ikke alltid ut som ondsinnede på egen hånd, så Numbat korrelerer også sekvenser innenfor en økt. Den innebygde chain.secret_manager_read_then_egress-regelen oppdager når en agent leser en verdi fra et vanlig verktøy for administrasjon av hemmeligheter og senere forsøker en databærende curl- eller wget-forespørsel. En lesning av hemmeligheter kan være legitim. En utgående forespørsel kan være legitim. Sekvensert sammen krever de undersøkelse.
# chain.secret_manager_read_then_egress (simplified for readability)
id: chain.secret_manager_read_then_egress
severity: high
sequence:
within_events: 64
steps:
- expr: |
event.event_type == "command.exec" &&
event.command.matches("secretsmanager|get-secret|vault read")
- expr: |
event.event_type == "command.exec" &&
event.command.matches("curl.*(--data|--upload-file)|wget.*--post")Administrere og overvåke Numbater på tvers av flåten
I likhet med Bumblebee, vår åpen kildekode-skanner for forsyningskjedebasert eksponering på utviklerendepunkter, distribueres Numbat på tvers av vår flåte gjennom MDM. Hver Numbat registrerer agentaktivitet lokalt og sender strukturert telemetri til våre sentraliserte sikkerhetssystemer.
Derfra gjennomgår Perplexity Computer nylige Numbat-funn og revisjonslogger etter en fast tidsplan for mistenkelig eller skadelig atferd. Den undersøker deteksjoner, rekonstruerer relevante økter og gir ekstra gransking til handlinger som Numbat blokkerte.
Computer ser også etter hull i vår dekning. Den analyserer ny atferd, foreslår forbedringer i Numbats deteksjoner, tester disse endringene og åpner pull-forespørsler for menneskelig gjennomgang. Når de er godkjent og distribuert, forbedrer disse reglene overvåkingen på tvers av flåten og produserer bedre bevis for neste undersøkelse.
Dette skaper et selvforbedrende sikkerhetshjul: agenter genererer aktivitet, Numbat gjør denne aktiviteten om til normaliserte tidslinjer og telemetri, Computer undersøker og forbedrer reglene, og menneskelig gjennomgåtte oppdateringer styrker kontrollene som beskytter fremtidige økter.
Konklusjon
Hos Perplexity tror vi at KI-agenter vil utføre oppgaver på tvers av alle typer miljøer: lokale, skybaserte og hybride. Hver kombinasjon av agentharnisk og utførelsesmiljø utgjør unike sikkerhetsutfordringer, der den kombinatoriske kompleksiteten truer med å overvelde båndbreddebegrensede sikkerhetsteam. Agentsmelteulykker og andre nye sårbarheter kompliserer sikkerhetsbildet ytterligere.
Forsvar som befinner seg i selve agentsystemet, kan forbedre en brukers sikkerhetstilstand uansett hvor agenten kjører. Dette er nøyaktig det Numbat leverer: tett integrerte agentsikkerhetstiltak som lar forsvarere forhindre, oppdage og reagere på bekymringsfull atferd i sanntid. Å kombinere Numbat med Perplexity Computer skaper en kraftpakke av en agentsikkerhetsplattform som gir forsvarere makt til å ligge i forkant.
Numbat er tilgjengelig i dag som et åpen kildekode-prosjekt for macOS, Linux og Windows. Våre egne klientendepunkter er sikret av Numbat, slik at Perplexity-teammedlemmer trygt kan bruke agenter over bredt definerte oppgaver og lange horisonter. Vi inviterer sikkerhetsteam overalt til å utnytte Numbats systemnivåtilnærming til å sikre og beskytte sine agentdistribusjoner.
Sitat
@online{perplexity2026SecuringAgentsAcrossPerplexitySClientEndpointsWithNumbat,
author = {{Perplexity} and Adel Karimishiraz and Bex Brooker and Phi Hoang and Jerry Ma},
title = {{Securing agents across Perplexity's client endpoints with Numbat}},
date = {2026-07-29},
url = {https://perplexity.coolkeypoint.com/hub/blog/securing-agents-across-perplexity-s-client-endpoints-with-numbat}
}