A Brex belső megoldása, CrabTrap, egy nyílt forráskódú HTTP/HTTPS proxy, amely az ügynökök (agentek) összes kimenő hálózati forgalmát elfogja, érvényesítési szabályokat alkalmaz, és egy LLM-et — „bíróként” — hív meg a szokatlan kérések eldöntésére. A platformot a Brex azért építette, mert a cég tapasztalata szerint a hagyományos SDK-szintű jogosultságok és modell-guardrailok nem voltak elegendőek az ügynökök valós viselkedésének biztonságos korlátozásához.
Miért a hálózati réteg?
Pedro Franceschi, a Brex társalapító-vezérigazgatója szerint a hálózati réteg alulhasznosított ellenőrzési pont: „Minden lekérés, amit egy ügynök küld, alkalmat ad az elfogásra, a megfontolásra és a policy-döntésre.” A megközelítés lényege, hogy a proxy a transport rétegen működik, így nem kötődik sem keretrendszerhez, sem programozási nyelvhez, sem egyedi API-integrációhoz. Az ügynökök környezetében beállított HTTP_PROXY és HTTPS_PROXY értékek hatására minden kimenő kérés a proxy-n keresztül megy, mielőtt elérné a célpontot.
Franceschi szerint a megoldás nem azért az egyetlen válasz, mert a csapat azt gondolja, hogy más rétegek fölöslegesek: a Brexben hisznek a „rétegezett biztonságban” — a transport réteg egyszerűen alulfejlesztett volt, és ez jó helynek mutatkozott az érdemi érvényesítés hozzáadására.
Hogyan működik a LLM mint bíró?
CrabTrap determinisztikus, statikus szabályokat használ, és kiegészíti ezeket egy LLM alapú bíróval az ismeretlen vagy szokatlan kérésekre. A Brex szerint a bíró csak a „hosszú farok” eseteknél lép működésbe — egy jól kiforrott ügynöknél ez általában kevesebb, mint 3%‑ot jelent a kérésekből.
A csapat alapvető felismerése az volt, hogy a policy-ket érdemes a megfigyelt viselkedésből kiindulva bootstrappelni, nem pedig fehér lapról írni. Ennek érdekében a Brex policy buildert készített: ez maga is egy agentikus hurkot futtatva shadow módban gyűjti a történeti hálózati forgalmat, mintákat választ, és természetes nyelvű javaslatot állít elő arra, hogy a policy mit engedjen meg.
Egy értékelő rendszer (eval) teszteli a policy-változtatásokat élesítés előtt: CrabTrap összehasonlítja a történeti audit bejegyzéseket a tervezett policy-vel, és részletes jelentést ad a szükséges módosításokról. Az adminisztrációs felületen a találatokat metódus, URL, eredeti döntés és egyezés státusza szerint lehet szeletelni. A visszajátszás és értékelés párhuzamos bíró-hívásokkal történik, így ezerszámra visszajátszott kérések feldolgozása percek alatt megoldható.
A teljes audit trail PostgreSQL-ben tárolódik és lekérdezhető az admin API-n és a dashboardon keresztül. Ha egy erőforrást tartósan elutasít a rendszer, értesíthet emberi döntéshozót vagy egy agentet, amely javaslatot tehet a policy módosítására — ezzel zárul a megfigyelés és a policy‑finomítás köre.
Műszaki kihívások
Két fő probléma jelentkezett: késleltetés és prompt-injection.
-
Késleltetés: elsőre úgy tűnhet, hogy egy LLM beszúrása minden kimenő kérés elé lassítaná a rendszert. A gyakorlatban a bíró csak kis arányú kéréseknél aktiválódik (a fent említett ~3%), a magas forgalmú, ismétlődő mintákra pedig statikus szabályok épülnek. Emellett a Brex kis, gyors modelleket (például Claude Haiku) használ; így amikor a bíró működik, a hozzáadott késleltetés elhanyagolható. A késleltetés tovább csökkenthető lokális modellekkel és prompt‑cache‑el.
-
Prompt-injection: mivel a bíró a teljes HTTP-kérést kapja meg, a felhasználó által befolyásolt URL, header vagy kérés-törzs próbálhatja manipulálni a modellt. A Brex ezt úgy kezelte, hogy a kérést JSON-objektummá strukturálja, és minden felhasználói tartalmat „escaped” formában küld a modellnek, ahelyett hogy nyers szövegként interpolálná.
Eredmények és hatás
A Brex néhány mérőszámot követ: agentek használata, hálózati forgalmi minták és Net Promoter Score (NPS). A legfontosabb hatás azonban a szervezeti bizalom növekedése volt: korábban a Brex óvatos volt az autonóm agentek széleskörű bevezetésével, mert a meglévő guardrailok nem nyújtottak elegendő biztosítékot. CrabTrap bevezetésével a vállalat rendelkezik egy megbízható érvényesítési réteggel, ami lehetővé tette az agentek alkalmazásának kiterjesztését a vállalaton belül és több felhasználóra ruházható delegálást.
A tapasztalat szerint a forgalomból bootstrappelt policy-k „meglepően erősek” voltak: a Brex arra számított, hogy a policy builder csupán egy kezdeti vázlatot ad majd, amit sok manuális szerkesztéssel kell pontosítani. Ehelyett néhány napnyi valós forgalom gyakran már a „nagy többség” esetében emberi megítéléssel egyező szabályokat eredményezett.
A proxy egyben felfedező eszközzé is vált: a naplózott elutasítások és forgalomelemzés láthatóvá tették az ügynökök zajos viselkedését. Ebből a csapat nemcsak a policy-kat hangolta, hanem magukat az ügynököket is egyszerűsítette, eszközöket távolított el és kéréskategóriákat iktatott ki, amelyek idő- és tokenpazarlást okoztak.
Nyílt forráskód, fejlesztési irányok és közösségi bevonás
CrabTrap nyílt forráskódúként jelent meg, és a Brex számít a közösség hozzájárulásaira. Fejlesztési tervek között szerepel mélyebb hitelesítési funkcionalitás (például single-sign on, SSO), finomabb szerepalapú hozzáférés‑kezelés (RBAC), kiemelési munkafolyamatok, amelyek lehetővé teszik az agent számára további jogosultságok kérését, valamint a denial-minták alapján javasolt policy‑ajánlások.
További irány a programozott konfiguráció: API‑végpontok készítése a policy‑k létrehozásához, fork‑olásához és alkalmazásához, hogy a policy-életciklus automatizálható legyen. Az eskalációs logika lehetővé tenné, hogy egy tartósan elutasított kérés emberhez vagy más AI‑ügynökhöz legyen irányítva, indoklással alátámasztva a kérést — ezzel a CrabTrap egy kemény érvényesítési határvonalból menedzselt jogosultságkezelő irányába mozoghat.
A policy jelenlegi bootstrappingje hálózati forgalomra épít; a Brex szerint lehetőség van további jelek bevonására (például agent trace‑ek, resource‑call contextusok, vagy szélesebb célkontextus), amelyek még árnyaltabb és pontosabb szabályokat eredményezhetnek. Végső soron filozófiai kérdés is, hogy a proxy teljesen átlátszatlan legyen az ügynök számára, vagy tudatos „jó szándékú menedzserként” működjön, akivel az ügynök kommunikálhat — a nyílt forráskód közösség segíthet ezen irányok formálásában.
Mire taníthat más fejlesztőket a CrabTrap?
A projekt meglepően nagy érdeklődést váltott ki: CrabTrap több mint 700 csillagot kapott a GitHubon, és a Brex visszajelzése szerint több iparági szereplőtől is érkezett érdeklődés a hasonló infrastruktúra bevezetésére. Franceschi összefoglaló tanácsa: ne várják az infrastruktúra‑hiányokra hivatkozva a fejlesztések elindítását. Aki komolyan szeretne ügynököket élesben alkalmazni, annak saját kezébe kell vennie a problémák megoldását — CrabTrap példája azt mutatja, hogy a hálózati réteg felhasználásával érdemi, vállalati szintű kontroll építhető ki.



