Säkra agenter över Perplexys klientändpunkter med Numbat

Numbat är Perplexys säkerhetssvit med öppen källkod för agenter på klientändpunkter. Den upptäcker, förhindrar och undersöker riskabelt AI-agentbeteende på macOS, Linux och Windows.

FörfattarePerplexity Secure Intelligence Institute

AI-agenter måste vara säkra för att vara användbara. Allt eftersom modellernas och systemens kapacitet förbättras, ökar också den vaksamhet som krävs för att skydda användarna.

Tidig säkerhetsforskning kring agenter fokuserade på promptinjektioner och andra former av motståndarindata. Men de senaste framstegen inom agenternas autonomi ger upphov till säkerhetsincidenter som inte behöver förutsätta att det finns motståndarindata – eller ens mänskliga motståndare överhuvudtaget.

Snarare kan agenter som styrs mot övergripande mål, utan föreskrivande vägledning om hur de målen ska uppnås, bli motståndaren. Detta inträffar när en agent, som svar på ett användarspecificerat mål, väljer en handlingsväg som användaren inte hade avsett och inte skulle ha godkänt. Även om sådana incidenter teoretiserades för bara några månader sedan, har de snabbt blivit frågor av praktisk betydelse.

Eftersom dessa beteenden inte fullt ut kan åtgärdas i modellagret, måste ett robust försvar därför finnas i det omgivande systemet, inklusive den agentbärare som fungerar som modellens gränssnitt mot omvärlden. Vi öppenkällkodsutvecklar Numbat, vår säkerhetssvit för agenter som hjälper försvarare att förhindra, upptäcka och mildra agentrelaterade incidenter. Numbat identifierar och integrerar direkt med agentbärare som vanligtvis finns på företagets klientändpunkter, och upprätthåller säkerhetsregler samt möjliggör snabb upptäckt och respons.

Introduktion

Införandet av agenter utgör nya säkerhetsutmaningar för såväl utvecklare, användare som försvarare. Detta gäller i synnerhet när företag distribuerar agenter direkt på klientändpunkter med privilegierad åtkomst till företagssystem och data.

Agentdistributioner på klientändpunkter, såsom CLI-baserade eller skrivbordsappsbaserade kodningsagenter, kommer med varierande nivåer av sandlådor och isolering. Användare utnyttjar dessa agenter för otaliga användningsfall, vart och ett med sitt eget tillhörande åtgärdsutrymme som kan påverka själva ändpunkten eller andra system som är tillgängliga från ändpunkten. I ökande grad förväntas agenter arbeta autonomt i timmar eller till och med dagar. För dessa arbetsflöden väljer många användare att delegera godkännanden av agentåtgärder till klassificerare, eller kringgå godkännanden helt med oroväckande namngivna konfigurationsflaggor som --dangerously-skip-permissions och --yolo. Mångfalden av agenters användningsfall och konfigurationer, i kombination med bredden av åtgärder som kodningsagenter kan utföra på privilegierade ändpunkter, skapar en riskprofil som kräver proaktiv hantering av säkerhetsteam.

Idag släpper vi Numbat, en öppen källkods-säkerhetssvit för agenter som vi byggde för att upptäcka, undersöka och förhindra farlig aktivitet från AI-agenter. I takt med att fler företag anammar banbrytande agentprodukter ger Numbat säkerhetsteam möjlighet att hålla jämna steg med de resulterande säkerhetsutmaningarna. Den integreras i var och en av de mest använda klientsidesagentbärarna samtidigt som den exponerar ett konsekvent gränssnitt över alla dem. Numbat befrider därmed säkerhetsteam från bördan att bygga anpassade skyddsåtgärder och övervakningsverktyg för varje enskild agent som deras användare förlitar sig på. Numbat är tillgängligt för försvararekosystemet som en del av Perplexys medlemskap i Open Secure AI Alliance med NVIDIA och andra organisationer.

Systemarkitektur för Numbat-säkrade agenter. Numbat betonar lokal-först-detektion och agentagnostisk rättsmedicin.

Denna artikel börjar med en diskussion om de säkerhetsutmaningar som motiverar Numbat. Vi presenterar sedan Numbats design och arkitektur, tillsammans med våra lärdomar från att distribuera Numbat över tusentals av Perplexys egna ändpunkter.

Att kartlägga sårbarhetslandskapet

Landskapet för AI-agentsäkerhetsincidenter utvecklas snabbt. Mycket av den befintliga agentforskningen om säkerhet fokuserar på injektionsattacker, där en skadlig nyttolast introduceras i modellprompter eller kontext för att förvirra agenter till felaktigt beteende. Injektionsattacker och skyddsåtgärder har studerats i grunden, och agentutvecklare inklusive Perplexity har tagit fram alltmer robusta försvar mot injektionsattacker.

Men en AI-agent behöver inte en skadlig nyttolast för att skapa en säkerhetsincident. Faktum är att man inte behöver förutsätta att det finns någon motståndare alls. En betrodd agent, som verkar i en betrodd miljö med administratörsgodkända verktyg, kan vidta skadliga åtgärder helt enkelt för att den försöker för hårt med att slutföra sin uppgift.

Forskare beskriver detta felsteg som en ”oavsiktlig nedsmältning”: skadligt agentbeteende som inte utlöses av motståndarindata, utan av ett vanligt miljöfel. En saknad fil, en misslyckad API-begäran, en utgången autentiseringsuppgift eller en nekad behörighet kan få en agent att söka efter en kringgårning. När agenten fullföljer sitt ursprungliga användarspecificerade mål kan den korsa säkerhetsgränser genom obehörig spaning, ändringar av åtkomstkontroll, hemlighetsupptäckt eller dataexfiltrering. Istället för att agenten utnyttjas av en angripare är agenten själv angriparen. Dessutom kan attacken rikta sig mot interna system, externa system eller båda, utan att det går att veta förrän attacken redan är igång.

Den första allmänt rapporterade oavsiktliga nedsmältningen kom den här månaden, med OpenAIs avslöjande av en agentinitierad attack som komprometterade Hugging Faces produktionsinfrastruktur. Under utvärderingar av en förhandsutgåva av en GPT-modell fann modellen att den inte kunde göra några framsteg i utvärderingen med den tillhandahållna kontexten. För att bryta detta dödläge hittade modellen ett sätt att rymma från sin sandlådetestmiljö och exfiltrera utvärderingssvaren från Hugging Face. Modellen utnyttjade sin bärare för att undkomma avsedda nätverksbegränsningar, eskalera privilegier bortom sandlådans gränser, skaffa hemligheter och få åtkomst till säkra Hugging Face-system, allt för att följa det snäva målet att lösa utvärderingen.

Nedsmältningar innefattar även oavsiktliga systemmutationer och raderingar. Även om dessa händelser kanske är mer vardagliga än att bryta sig in i ett externt system, är de vanligare och mer framträdande för alla avancerade användare av kodningsagenter. Att ta bort produktionsdatabaser eller hemkataloger är alla utvecklares värsta mardröm, och agenter måste kunna undvika sådana beteenden under hela sin körning.

AI-forskare arbetar med att mildra dessa beteenden inom själva modellerna. Även om dessa ansträngningar visserligen är värdefulla, upplever många inom forskarsamhället en grundläggande spänning mellan att träna modeller för starka säkerhetsegenskaper och att träna samma modeller för att utföra allt mer komplexa uppgifter. Vi tror att det är osannolikt att försvar som enbart fokuserar på modellagret kommer att minska risken för nedsmältning till acceptabla nivåer.

Säkra kodningsagenter genom inbyggda bärareintegrationer

Slutsatsen är att agentsäkerhet inte enbart kan vila på skyddsåtgärder på modell-, användar- eller uppgiftsnivå. Istället behöver säkerhetsteam insyn i vad agenter faktiskt gör på klientändpunkter, plus kontroller som kan stoppa farliga åtgärder innan de körs. Dessa är kontroller på systemnivå som måste vara tätt integrerade med agentbäraren.

Numbat tillhandahåller dessa kontroller i form av en lätt statisk Go-binärfil som ansluts sömlöst till ledande klientsidesagentbärare. Den erbjuder live-övervakning, policytvingande och forensisk rekonstruktion över agentbärare och exekveringsmiljöer.

De viktigaste integrationspunkterna mellan Numbat och en agentbärare är krokar, sessionsartefakter och OTLP-telemetri. Vi diskuterar var och en i tur och ordning.

Krokar

Praktiskt taget alla kodningsagenter har ett krok-undersystem. Krokar gör det möjligt för agenter att deterministiskt exekvera subrutiner vid förspecificerade punkter inom agentens exekveringslivscykel. Agentanvändare konfigurerar vanligtvis krokar för att förse modeller med ytterligare kontext på förutsägbara sätt, implementera test- och verifieringsloopar och göra andra förbättringar av agentens kapacitet.

Samma deterministiska egenskaper som gör krokar attraktiva för dessa ändamål gör dem också attraktiva för upptäckt och respons. Det är oftast otillräckligt att fånga de flesta förekomster av en potentiellt oroande händelse. Istället måste man täcka alla sådana förekomster för detektion och respons. Numbat konfigurerar flera typer av krokar, vilket gör det möjligt för säkerhetsteam och IT-administratörer att implementera rik detektionslogik.

I de flesta kodningsagenter kan vissa typer av krokar (ofta kallade ”pre-action”-krokar) också blockera exekveringen av agentens nästa åtgärd. Genom att använda dessa pre-action-krokar kan Numbat implementera inte bara detektionslogik utan även förebyggande säkerhetsregler för att stoppa en nedsmältning från att inträffa från början.

Sessionsartefakter

Krokar är kraftfulla medel för att implementera detektions- och förebyggandelogik i realtid. Denna logik måste dock kunna specificeras i kod. Ofta antar en säkerhetsincident med en agent en form som inte kunde ha förutsetts i förväg, än mindre reducerats till källkod. Därför har Numbat också förmågan att komma åt och analysera sessionsartefakter i efterhand.

Sessionsartefakter inkluderar många typer av loggar och diagnostik. Den kanske viktigaste typen av logg är sessionstranskriptet, som registrerar de LLM-konversationer som dikterar agentens sekvens av åtgärder. Avancerade användare av kodningsagenter är redan vana vid att exportera sessionstranskript för vidare analys genom kommandon som tillhandahålls av bärarna. Men dessa exporter är oftast i klartextformat, vilket är olämpligt för säkerhetsteam som kräver maskinläsbara loggar med ett konsekvent, förutsägbart schema.

Numbat hämtar således sessionsartefakter direkt från själva filsystemet. Eftersom de flesta klientsidesagentbärare lagrar ursprungliga artefakter på filsystemet (vanligtvis i en agentspecifik punktkatalog under $HOME), ger åtkomst till filsystemet den direktaste vägen till denna data i dess mest användbara och orörda form. Säkerhetsteam som använder Numbat kan samla in dessa artefakter i normaliserat NDJSON-tidslinjeformat genom numbat scan, antingen för lokal bearbetning på klientändpunkten eller asynkron fjärranalys. Eftersom sessionsartefakter är statiska, självinneslutna poster kan Numbat rekonstruera dessa tidslinjer även för sessioner som inträffade långt innan Numbat installerades.

OTLP-telemetri

De flesta klientsidesagentbärare erbjuder omfattande telemetri genom OpenTelemetry-protokollet (OTLP). Denna telemetri ger vanligtvis många signaler utöver de som är tillgängliga via krokar eller sessionsartefakter.

Numbat kan fungera som en OTLP-mottagare via kommandot numbat collect. Detta kommando startar en server som kodningsagenter skickar OTLP-telemetri till för nedströmsanalys. Det viktiga är att denna server är lokal och som standard endast lyssnar på localhost, vilket innebär att all telemetri stannar på enheten som standard. Säkerhetsadministratörer kan sedan avgöra vad de vill göra med den loggade telemetrin, oavsett om det innebär att implementera lättviktsbearbetning på enheten, fjärrbearbetning via numbat ship, eller mer involverad analys på analysplattformar som ClickHouse.

Distribuera Numbat inom Perplexity

Inom Perplexity använder vi Numbat för att säkra våra ingenjörers användning av klientsideskodningsagenter inklusive Claude Code, Codex, OpenCode och Pi.

Både våra förebyggande och upptäckande insatser gör flitig användning av Numbat-regler, som implementeras via varje agents krokundersystem. Vi formulerade flera grundläggande regler för våra egna behov, varav många vi skickade som en del av Numbats 52 inbyggda regler. Dessa regler är organiserade i 11 beteendekategorier och en uppsättning detektioner i flera steg, såsom hemlighetsåtkomst, exfiltrering, privilegieeskalering och sidoförflyttning. Regler använder CEL-uttryck över normaliserade händelser, och operatörer kan lägga till sina egna regler och tester utan att ändra Numbats kod.

Till exempel upptäcker den inbyggda regeln privilege.sudoers_tamper skrivningar till sudoers-policy, användning av visudo och försök att installera NOPASSWD-beviljanden. Detta är åtgärder med starka signaler som kan förvandla en begränsad agentprocess till bestående root-åtkomst.

yaml
# 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*:") )

Enskilda kommandon ser inte alltid skadliga ut på egen hand, så Numbat korrelerar också sekvenser inom en agentsession. Den inbyggda regeln chain.secret_manager_read_then_egress upptäcker när en agent läser ett värde från ett vanligt hemlighetshanteringsverktyg och senare försöker göra en databärande curl- eller wget-begäran. En läsning av en hemlighet kan vara legitim. En utgående begäran kan vara legitim. Sekvenserade tillsammans kräver de en utredning.

yaml
# 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")

Hantera och övervaka Numbats i hela maskinparken

Liksom Bumblebee, vår skanner med öppen källkod för sårbarhet i leveranskedjan på utvecklarändpunkter, distribueras Numbat över vår maskinpark via MDM. Varje Numbat registrerar agentaktivitet lokalt och skickar strukturerad telemetri till våra centraliserade säkerhetssystem.

Därifrån granskar Perplexity Computer nyligen gjorda Numbat-fynd och granskningsloggar på ett återkommande schema för misstänkt eller skadligt beteende. Den undersöker detektioner, rekonstruerar relevanta agentsessioner och granskar extra noggrant åtgärder som Numbat blockerade.

Perplexys interna pipeline för övervakning av Numbat-telemetri. En schemalagd Perplexity Computer-uppgift granskar asynkront nya signaler och varnar säkerhetsteamet om riskabel aktivitet.

Computer letar också efter luckor i vår täckning. Den analyseras nytt beteende, föreslår förbättringar av Numbats detektioner, testar dessa ändringar och öppnar pull requests för mänsklig granskning. När de väl har godkänts och distribuerats förbättrar dessa regler övervakningen i hela maskinparken och genererar bättre bevis för nästa utredning.

Detta skapar ett självbättrande säkerhetsflecykelsystem: agenter genererar aktivitet, Numbat förvandlar den aktiviteten till normaliserade tidslinjer och telemetri, Computer undersöker och förbättrar reglerna, och mänskligt granskade uppdateringar stärker de kontroller som skyddar framtida agentsessioner.

Slutsats

På Perplexity tror vi att AI-agenter kommer att exekveras i alla typer av miljöer: lokala, moln- och hybridmiljöer. Varje kombination av agentbärare och exekveringsmiljö medför unika säkerhetsutmaningar, där den kombinatoriska komplexiteten hotar att överväldiga bandbreddsbegränsade säkerhetsteam. Agentnedsmältningar och andra nya sårbarheter komplicerar säkerhetsbilden ytterligare.

Försvar som finns i själva agentsystemet kan förbättra en användares säkerhetsställning oavsett var agenten körs. Det är precis vad Numbat levererar: tätt integrerade agentskyddsåtgärder som gör det möjligt för försvarare att förhindra, upptäcka och svara på oroande beteende i realtid. Att kombinera Numbat med Perplexity Computer skapar en kraftfull säkerhetsplattform för agenter som ger försvarare möjlighet att ligga steget före.

Numbat finns tillgängligt idag som ett öppen källkodsprojekt för macOS, Linux och Windows. Våra egna klientändpunkter säkras av Numbat, vilket gör det möjligt för Perplexity-teammedlemmar att tryggt använda agenter för brett omfattande uppgifter och långa horisonter. Vi bjuder in säkerhetsteams överallt att utnyttja Numbats tillvägagångssätt på systemnivå för att säkra och skydda sina agentdistributioner.

Citering

BibTeX
@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}
}