Brex beskriver i journalposten sin hvordan de traff «samme vegg som resten av bransjen» da de skulle rulle ut OpenClaw-agenter med produksjonstilgang. Agentene trenger reelle credentials, men kan finne på ødeleggende kall eller bli manipulert via prompt-injeksjon. Eksisterende løsninger delte seg i to ytterligheter, ifølge Brex: enten så restriktive at agenten ikke får jobbet, eller så spesialtilpassede at de ikke skalerer.
CrabTrap løser dette med en HTTP-proxy som alle agentforespørsler må gjennom. Settes via HTTP_PROXY og HTTPS_PROXY i agentens miljø, og gjør TLS-interception med egen CA per vert. Ingen SDK eller integrasjon per verktøy. For HTTPS genererer den et sertifikat signert av sin egen CA, dekrypterer trafikken, vurderer, og kobler deretter til destinasjonen over en ny TLS-tunnel.
Vurderingen skjer i to lag. Først statiske regler med deterministiske URL-mønstre (prefix, exact, glob), scopet til HTTP-metoder. Disse kjøres som kompilerte regex på mikrosekundnivå. Treffer ingen regel, går forespørselen videre til en LLM som dommer. Dommen får full kontekst og en policy skrevet i naturlig språk, og returnerer et strukturert JSON-svar med ALLOW eller DENY pluss begrunnelse.
«I ett produksjonstilfelle så vi at LLM-dommeren bare aktiveres på under 3 prosent av forespørslene.» — Brex Engineering
Brex har også løst to kjente hodepiner. For det første: hvordan du skriver en god policy. CrabTrap har en policy-builder som analyserer historisk trafikk og foreslår regler basert på faktisk oppførsel, ikke ønsketenkning. For det andre: hvordan du unngår at selve forespørselen blir et angrep mot dommeren. CrabTrap sender requesten som strukturert JSON (ikke rå tekst), begrenser header-innhold til 4 KB, og trunkerer body til 16 KB for å unngå at headers eller body skyver policyen ut av kontekstvinduet.
En sentral detalj: CrabTrap ble også en oppdagelsesmotor. Loggene fra proxyen gjorde det synlig for Brex hvor mye «støytrafikk» agentene deres faktisk genererte, og hjalp teamet å fjerne verktøy og hele kategorier av unødvendige kall. Audit-loggene i PostgreSQL kan spørres via admin-API og et web-dashboard, og eval-systemet kan spille av tusenvis av historiske requests mot en ny policy parallelt.
Kritikken er også verdt å nevne. En kommentator på Hacker News påpekte at «vi skulle fikse LLM-sikkerhet ved å legge til et ikke-LLM-lag, ikke legge LLM-lag oppå alt for å gjøre det iboende mindre sikkert». Poenget har noe for seg: hvis dommeren kan lures, har du bare flyttet problemet ett hakk ned. Brex' mottiltak mot prompt-injeksjon er solide, men verktøyet er fortsatt eksperimentelt, og Brex selv kaller det et tidlig steg, ikke siste ord.
Hva bør du gjøre?
- Klon [github.com/brexhq/crabtrap](https://github.com/brexhq/crabtrap) og prøv den mot en av dine egne agenter i dev-miljø, ikke i produksjon første gang
- Vurder om du allerede har en MCP-gateway som dekker behovet. CrabTrap er bredere (all HTTP-trafikk), men en MCP-gateway kan være enklere hvis agenten kun snakker MCP
- Bruk CrabTrap først i shadow mode for å samle audit-logger før du skrur på DENY, slik at policyen gjenspeiler reell trafikk
Bakgrunn
Brex er fintech-selskapet som også står bak OpenClaw, et kjøremiljø for å kjøre Claude Code-lignende agenter autonomt. De har brukt OpenClaw i eget drift og står derfor i en uvanlig posisjon: de bygger både agentene og infrastrukturen som må sikre dem. CrabTrap ble laget fordi teamet ikke fant noe ferdig verktøy som dekket behovet.