Ügynökök védelme a Perplexity kliensvégpontjain a Numbattal

A Numbat a Perplexity nyílt forráskódú ügynökbiztonsági csomagja kliensvégpontokhoz. Ézleli, megakadályozza és kivizsgálja az MI-ügynökök kockázatos viselkedését macOS-en, Linuxon és Windows rendszeren.

SzerzőkPerplexity Secure Intelligence Institute

Az MI-ügynököknek biztonságosnak kell lenniük ahhoz, hogy hasznosak legyenek. A modellek és a rendszerek képességeinek fejlődésével együtt nő a felhasználók védelméhez szükséges éberség is.

A korai ügynökbiztonsági kutatások a promptinjekciókra és az adversarialis (ellenséges) bemenetek egyéb formáira fókuszáltak. Az ügynökök autonómiájának legújabb fejlesztései azonban olyan biztonsági incidenseket váltanak ki, amelyek nem feltételezik adversarialis bemenetek – vagy egyáltalán emberi ellenfelek – létezését.

Inkább arról van szó, hogy azok az ügynökök, amelyeket magas szintű célok elérésére utasítanak, anélkül, hogy előíró útmutatást kapnának e célok eléréséhez, válhatnak az ellenséggé. Ez akkor fordul elő, amikor egy ügynök egy felhasználó által megadott célra válaszul olyan cselekvéssorozatot választ, amelyet a felhasználó nem szándékozott, és nem hagyott volna jóvá. Bár az ilyen incidenseket mindössze néhány hónapja még csak elméletben vetették fel, gyorsan gyakorlati aggodalom tárgyává váltak.

Mivel ezeket a viselkedéseket nem lehet teljes mértékben javítani a modell rétegén belül, a robusztus védelemnek ezért a környező rendszerben kell lakoznia, beleértve azt az ügynökkeretrendszert is, amely a modell interfészeként szolgál a külvilág felé. Nyílt forráskódúvá tesszük a Numbatot, az ügynökbiztonsági csomagunkat, amely segít a védőknek megelőzni, észlelni és enyhíteni az ügynökökkel kapcsolatos incidenseket. A Numbat azonosítja a vállalati ügyfelek végpontjain gyakran megtalálható ügynökkeretrendszereket, és közvetlenül integrálódik azokkal, érvényesítve a biztonsági szabályokat, valamint lehetővé téve a gyors észlelést és reakciót.

Bevezetés

Az ügynökök alkalmazása új biztonsági kihívásokat jelent a fejlesztők, az örökbefogadók és a védők számára egyaránt. Ez különösen igaz akkor, amikor a vállalatok közvetlenül az ügyfelek végpontjain telepítenek ügynököket, amelyek emelt szintű (privilegizált) hozzáféréssel rendelkeznek a vállalati rendszerekhez és adatokhoz.

Az ügyfélvégeken végzett ügynöktelepítések, mint például a CLI-alapú vagy asztali alkalmazás alapú kódoló ügynökök, különböző szintű homokozókkal (sandboxing) és izolációval járnak. A felhasználók számtalan felhasználási esethez használják ezeket az ügynököket, amelyek mindegyike saját cselekvéstérrel rendelkezik, amely hatással lehet magára a végpontra vagy a végpontról elérhető egyéb rendszerekre. Az ügynökök esetében egyre inkább elvárás, hogy órákig vagy akár napokig önállóan működjenek. Ezen munkafolyamatok esetében sok felhasználó úgy dönt, hogy az ügynök cselekvéseinek jóváhagyását osztályozókra delegálja, vagy teljesen megkerüli a jóváhagyást olyan aggasztó nevű konfigurációs zászlókkal, mint a --dangerously-skip-permissions és a --yolo. Az ügynökök felhasználási eseteinek és konfigurációinak sokfélesége, valamint a kódoló ügynökök által a jogosult végpontokon elvégezhető műveletek széles skálája olyan kockázati profilt eredményez, amely a biztonsági csapatok proaktív kezelését igényli.

Ma adtuk ki a Numbatot, egy nyílt forráskódú ügynökbiztonsági csomagot, amelyet azért hoztunk létre, hogy észleljük, kivizsgáljuk és megakadályozzuk az MI-ügynökök veszélyes tevékenységét. Ahogy egyre több vállalat alkalmazza a legmodernebb ügynöktermékeket, a Numbat képessé teszi a biztonsági csapatokat arra, hogy lépést tartsanak az ebből fakadó biztonsági kihívásokkal. Integrálódik az egyes legszélesebb körben használt kliensoldali ügynökkeretrendszerekbe, miközben egységes felületet biztosít mindegyikük számára. A Numbat így megszabadítja a biztonsági csapatokat attól a terhtől, hogy egyedi védőintézkedéseket és figyelőeszközöket kelljen építeniük minden egyes ügynökhöz, amelyre a felhasználóik támaszkodnak. A Numbat a védőinfrastruktúra-ökoszisztéma számára elérhető a Perplexity Open Secure AI Alliance-ban (NVIDIA-val és más szervezetekkel való) tagságának részeként.

A Numbat által védett ügynökök rendszerarchitektúrája. A Numbat a helyi szintű (local-first) észlelésre és az ügynökfüggetlen forenzikára helyezi a hangsúlyt.

Ez a cikk a Numbatot motiváló biztonsági kihívások megvitatásával kezdődik. Ezután bemutatjuk a Numbat tervezését és architektúráját, valamint a Numbatnak a Perplexity saját végpontjainak ezrein történő üzembe helyezéséből levont tanulságait.

A sebezhetőségi környezet feltérképezése

Az MI-ügynököket érintő biztonsági incidensek köre gyorsan fejlődik. A meglévő ügynökbiztonsági irodalom nagy része a injekciós támadásokra összpontosít, amelyek során egy rosszindulatú adatcsomagot (payloadot) juttatnak be a modell promptjaiba vagy környezetébe, hogy az ügynököket helytelen viselkedésre zavarják. Az injekciós támadásokat és a védelmeket alaposan tanulmányozták, és az ügynökfejlesztők, beleértve a Perplexityt is, egyre robusztusabb védelmeket dolgoztak ki az injekciós támadások ellen.

Ám egy MI-ügynöknek nincs szüksége rosszindulatú adatcsomagra ahhoz, hogy biztonsági incidenst idézzen elő. Valójában még ellenfél létezését sem kell feltételezni. Egy megbízható ügynök, amely megbízható környezetben, rendszergazda által jóváhagyott eszközökkel működik, azért hajthat végre káros műveleteket, mert túlságosan igyekszik a feladatát teljesíteni.

A kutatók ezt a hiba módot „véletlen összeomlásként” (accidental meltdown) írják le: a káros ügynökviselkedést nem adversarialis bemenet, hanem egy szokásos környezeti hiba váltja ki. Egy hiányzó fájl, egy meghiúsult API-kérés, egy lejárt hitelesítő adat vagy a jogosultság megtagadása arra ösztönözheti az ügynököt, hogy áthidaló megoldást keressen. Eredeti, felhasználó által megadott céljának elérése érdekében az ügynök jogosulatlan felderítésen, hozzáférés-vezérlési változtatásokon, titkos kulcsok felderítésén vagy adatszivárgáson keresztül átlépheti a biztonsági határokat. Ahelyett, hogy az ügynököt egy támadó térdre kényszerítené, maga az ügynök a támadó. Sőt, a támadás célba veheti a belső rendszereket, a külső rendszereket vagy mindkettőt, anélkül, hogy ezt tudni lehetne, amíg a támadás már folyamatban van.

Az első széles körben jelentett véletlen összeomlás ebben a hónapban történt, az OpenAI bejelentésével, amely egy olyan ügynök által kezdeményezett támadásról szól, amely kompromittálta a Hugging Face éles (production) infrastruktúráját. Egy előzetesen kiadott GPT-modell értékelése során a modell azt tapasztalta, hogy a megadott környezettel nem tud előrelépést tenni az értékelésben. Ezen holtpont átlépése érdekében a modell megtalálta a módját annak, hogy megszökjön a homokozó tesztkörnyezetéből, és kiszivárogtassa az értékelési válaszokat a Hugging Face-től. A modell a keretrendszerét használta fel a szándékos hálózati korlátozások kijátszására, a jogosultságok homokozó határain túli eszkalálására, titkos adatok megszerzésére és a biztonságos Hugging Face rendszerek elérésére – mindezt a feladat megoldásának szűk célja érdekében.

Az összeomlások közé tartoznak a nem szándékos rendszer-mutációk és törlések is. Bár talán kevésbé szembetűnő, mint egy külső rendszer áttörése, ezek az esetek gyakoribbak és kézzelfoghatóbbak a kódoló ügynökök bármely power felhasználója számára. A éles adatbázisok vagy home könyvtárak törlése minden fejlesztő legnagyobb rémálma, és az ügynököknek képesnek kell lenniük arra, hogy elkerüljék az ilyen viselkedést a végrehajtásuk során.

Az MI-kutatók azon dolgoznak, hogy mérsékeljék ezeket a viselkedéseket magukban a modellekben. Bár ezek az erőfeszítések kétségtelenül értékesek, a kutatói közösségben sokan alapvető feszültséget érzékelnek a modellek erős biztonsági tulajdonságok általi betanítása és ugyanezen modellek egyre összetettebb feladatok elvégzésére való betanítása között. Hisszük, hogy valószínűtlen, hogy a kizárólag a modellrétegre összpontosító védelmek elfogadható szintre csökkentsék az összeomlási kockázatot.

Kódoló ügynökök biztonságossá tétele natív keretrendszer-integrációkon keresztül

A lényeg az, hogy az ügynökök biztonsága nem nyugodhat kizárólag modell-, felhasználó- vagy feladatszintű védelmeken. Ehelyett a biztonsági csapatoknak rálátásra van szükségük arra, hogy mit csinálnak valójában az ügynökök az ügyfelek végpontjain, valamint olyan vezérlőkre, amelyek megállíthatják a veszélyes műveleteket még azok futtatása előtt. Ezek rendszerszintű vezérlők, amelyeket szorosan integrálni kell az ügynökkeretrendszerrel.

A Numbat ezeket a vezérlőket egy könnyű súlyú, statikus Go bináris formájában biztosítja, amely zökkenőmentesen illeszkedik a vezető kliensoldali ügynökkeretrendszerekbe. Valós idejű figyelést, házirend-érvényesítést és forenzikus rekonstrukciót kínál az ügynökkeretrendszerekben és végrehajtási környezetekben.

A Numbat és az ügynökkeretrendszer közötti kulcsfontosságú integrációs pontok a hookok (leképezési pontok), a munkamenet-műtermékek és az OTLP telemetria. Ezeket egyenként tárgyaljuk.

Hookok

Gyakorlatilag az összes kódoló ügynök rendelkezik hook alrendszerrel. A hookok lehetővé teszik az ügynökök számára, hogy determinisztikusan hajtsanak végre alprogramokat az ügynök végrehajtási életciklusának előre meghatározott pontjain. Az ügynökök felhasználói jellemzően úgy konfigurálják a hookokat, hogy azok előre jelezhető módon további környezeti adatokkal lássák el a modelleket, tesztelési és ellenőrzési ciklusokat valósítsanak meg, valamint egyéb fejlesztéseket hajtsanak végre az ügynök képességein.

Ugyanazok a determinisztikus tulajdonságok, amelyek vonzóvá teszik a hookokat ezekhez a célokhoz, a detektálás és a válaszadás szempontjából is vonzóvá teszik őket. Általában nem elég a potenciálisan aggasztó esemény legtöbb előfordulását elkapni. Ehelyett az ilyen előfordulások mindegyikét le kell fedni a detektálás és a válaszadás érdekében. A Numbat többféle hookot konfigurál, lehetővé téve a biztonsági csapatok és az informatikai adminisztrátorok számára, hogy gazdag detektálási logikát valósítsanak meg.

A legtöbb kódoló ügynökben bizonyos típusú hookok (amelyeket általában „pre-action” vagyis művelet előtti hookoknak neveznek) képesek blokkolni az ügynök következő műveletének végrehajtását is. Ezen művelet előtti hookok használatával a Numbat nemcsak észlelési logikát, hanem megelőző biztonsági szabályokat is képes megvalósítani, hogy megakadályozza az összeomlás bekövetkezését az első pillanatban.

Munkamenet-műtermékek

A hookok az észlelési és megelőzési logika valós idejű megvalósításának hatékony eszközei. Ezt a logikát azonban kódban kell megadni. Gyakran előfordul, hogy egy ügynökbiztonsági incidens olyan formát ölt, amelyet nem lehetett előre előre látni, nemhogy forráskóddá egyszerűsíteni. Ezért a Numbat képes arra is, hogy visszamenőlegesen hozzáférjen a munkamenet-műtermékekhez és elemezze azokat.

A munkamenet-műtermékek számos típusú naplót és diagnosztikai adatot tartalmaznak. Talán a legfontosabb naplótípus a munkamenet-átirat (session transcript), amely rögzíti az LLM-beszélgetéseket, amelyek diktálják az ügynök műveletsorozatát. A kódoló ügynökök power felhasználói már hozzászoktak ahhoz, hogy a keretrendszer által biztosított parancsokon keresztül exportálják a munkamenet-átiratokat további elemzés céljából. De ezek az exportálások jellemzően sima szöveges (plaintext) formátumúak, ami nem alkalmas a biztonsági csapatok számára, akiknek konzisztens, előre jelezhető sémájú géppel olvasható naplókra van szükségük.

A Numbat így közvetlenül magából a fájlrendszerből kéri le a munkamenet-műtermékeket. Mivel a legtöbb kliensoldali ügynökkeretrendszer az eredeti műtermékeket a fájlrendszerben tárolja (jellemzően egy ügynökspecifikus pontkönyvtárban a $HOME alatt), a fájlrendszerbe való bekötés biztosítja a közvetlenebb utat ehhez az adathoz a leghasználhatóbb és legtisztább formájában. A Numbatot használó biztonsági csapatok normalizált NDJSON idővonal formátumban gyűjthetik össze ezeket a műtermékeket a numbat scan segítségével, akár helyi feldolgozésre az ügyfél végpontján, akár aszinkron távoli elemzésre. Mivel a munkamenet-műtermékek statikus, önmagukban is megálló rekordok, a Numbat képes rekonstruálni ezeket az idővonalakat még az olyan munkamenetek esetében is, amelyek sokkal azelőtt történtek, hogy a Numbatot telepítették volna.

OTLP telemetria

A legtöbb kliensoldali ügynökkeretrendszer kiterjedt telemetriát kínál az OpenTelemetry protokollon (OTLP) keresztül. Ez a telemetria jellemzően sok olyan jelet biztosít, amelyek nem érhetők el a hookokon vagy munkamenet-műtermékeken keresztül.

A Numbat OTLP-vevőként működhet a numbat collect parancson keresztül. Ez a parancs elindít egy szervert, amelyre a kódoló ügynökök OTLP-telemetriát küldenek további elemzés céljából. Fontos, hogy ez a szerver helyi, és alapértelmezés szerint csak a localhoston figyel, ami azt jelenti, hogy minden telemetria alapértelmezés szerint az eszközön marad. A biztonsági rendszergazdák ezután eldönthetik, hogy mit kezdenek a naplózott telemetriával, legyen szó akár könnyű súlyú eszközön belüli feldolgozás megvalósításáról, távoli feldolgozásról a numbat ship segítségével, vagy összetettebb elemzésről olyan analitikai platformokon, mint a ClickHouse.

A Numbat üzembe helyezése a Perplexityn belül

A Perplexityn belül a Numbatot használjuk mérnökeink kliensoldali kódoló ügynökeinek – köztük a Claude Code, a Codex, az OpenCode és a Pi – védelmére.

Mind a megelőzési, mind az észlelési erőfeszítéseink széles körben használják a Numbat szabályait, amelyeket az egyes ügynökök hook alrendszerén keresztül valósítanak meg. Több alapvető (bread-and-butter) szabályt fogalmaztunk meg saját igényeinkre, amelyek közül sokat a Numbat 52 beépített szabályának részeként szállítottunk ki. Ezeket a szabályokat 11 viselkedési kategóriába és egy többlépcsős sorozatészlelési készletbe rendezték, mint például a titkos kulcsokhoz való hozzáférés, az adatszivárgás, a jogosultság-eszkaláció és a laterális mozgás. A szabályok CEL-kifejezéseket használnak a normalizált eseményekre, és az üzemeltetők hozzáadhatják saját szabályaikat és tesztjeiket a Numbat kódjának megváltoztatása nélkül.

Például a beépített privilege.sudoers_tamper szabály észleli a sudoers házirendbe való írásokat, a visudo használatát, valamint a NOPASSWD engedélyek telepítésére irányuló kísérleteket. Ezek magas szignállal bíró műveletek, amelyek egy korlátozott ügynökfolyamatot állandó root-hozzáféréssé alakíthatnak át.

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

Az egyes parancsok önmagukban nem mindig tűnnek rosszindulatúnak, ezért a Numbat korrelálja is a szekvenciákat egy ügynökmunkameneten belül. A beépített chain.secret_manager_read_then_egress szabály akkor észleli, amikor egy ügynök beolvas egy értéket egy gyakori titokkezelő eszközből, majd később adatokat tartalmazó curl vagy wget kérést kísérel meg. Egy titkos kulcs olvasása lehet legális. Egy kimenő kérés lehet legális. Egymás után sorolva azonban vizsgálatot igényelnek.

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

A Numbat flotta szintű kezelése és felügyelete

A Bumblebee-hez, a fejlesztői végpontokon a供应链 (ellátási lánc) kitettség nyílt forráskódú szkennerünkhöz hasonlóan a Numbat MDM-en keresztül kerül üzembe helyezésre a flotta egészén. Minden Numbat helyben rögzíti az ügynök tevékenységét, és strukturált telemetriát küld a centralizált biztonsági rendszereinkbe.

Ettől kezdve a Perplexity Computer ismétlődő ütemterv szerint felülvizsgálja a legújabb Numbat-megállapításokat és auditnaplókat gyanús vagy rosszindulatú viselkedés szempontjából. Megvizsgálja az észleléseket, rekonstruálja a releváns ügynökmunkameneteket, és fokozott ellenőrzésnek veti alá a Numbat által blokkolt műveleteket.

A Perplexity belső pipeline-ja a Numbat telemetria figyelésére. Egy ütemezett Perplexity Computer feladat aszinkron módon felülvizsgálja az új jeleket, és riasztja a biztonsági csapatot a kockázatos tevékenységekről.

A Computer a lefedettségünkben lévő hiányosságokat is keresi. Elemzi az új viselkedést, fejlesztéseket javasol a Numbat észleléseihez, teszteli ezeket a változtatásokat, and megnyitja a pull requesteket emberi felülvizsgálatra. A jóváhagyást és üzembe helyezést követően ezek a szabályok javítják a flotta szintű felügyeletet, és jobb bizonyítékokat szolgáltatnak a következő vizsgálathoz.

Ez egy önfejlesztő biztonsági lendkereket hoz létre: az ügynökök tevékenységet generálnak, a Numbat ezt a tevékenységet normalizált idővonalakká és telemetriává alakítja, a Computer kivizsgálja és javítja a szabályokat, az ember által felülvizsgált frissítések pedig megerősítik a jövőbeli ügynökmunkameneteket védő vezérlőket.

Következtetés

A Perplexitynél hiszünk abban, że az MI-ügynökök mindenféle környezetben futni fognak: helyi, felhőbeli és hibrid környezetben. Az ügynökkeretrendszer és a végrehajtási környezet minden egyes kombinációja egyedi biztonsági kihívásokat rejt magában, és a kombinatorikus összetettség azzal fenyeget, hogy túlterheli a korlátozott sávszélességű biztonsági csapatokat. Az ügynökök összeomlásai és más újszerű sebezhetőségek még tovább bonyolítják a biztonsági képet.

Az ügynökrendszeren belül lakozó védelmek javíthatják a felhasználó biztonsági helyzetét függetlenül attól, hogy hol fut az ügynök. A Numbat pontosan ezt biztosítja: szorosan integrált ügynök-védőintézkedéseket, amelyek lehetővé teszik a védők számára, hogy valós időben megakadályozzák, észleljék és kezeljék az aggasztó viselkedést. A Numbat és a Perplexity Computer kombinációja egy olyan hatalmas ügynökbiztonsági platformot hoz létre, amely képessé teszi a védőket arra, hogy az élen maradjanak.

A Numbat ma már elérhető nyílt forráskódú projektként macOS-re, Linuxra és Windowsra. Saját kliensvégpontjainkat a Numbat védi, ami lehetővé teszi a Perplexity csapattagjai számára, hogy magabiztosan használják az ügynököket széles körű feladatokhoz és hosszú távú horizontokon. Mindenhol meghívjuk a biztonsági csapatokat, hogy használják ki a Numbat rendszerszintű megközelítését az ügynöktelepítéseik biztosításához és védelméhez.

Hivatkozás

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