CrabTrap:Brex 开源的 LLM-as-a-Judge 代理安全网关
作为 OfoxAI(ofox.ai)的开发者,我每天都需要处理多个 AI Agent 的安全问题 — 从模型选择到权限控制,从输入过滤到输出审计。最近 Brex 开源的 CrabTrap 让我眼前一亮:这不是又一个理论上的安全框架,而是一个已经跑了 6 个月、处理了超过 1 亿次请求的实战级解决方案。
CrabTrap 是 Brex 开源的 LLM-as-a-Judge HTTP 代理,用于实时拦截和审计 AI Agent 请求
生产环境的安全痛点
把 AI Agent 部署到生产环境,最头疼的不是模型能力,而是不可预测性。
Agent 可以调用外部 API、可以访问数据库、可以读写文件。你给它的 prompt 是”帮用户查询订单”,但它可能理解成”帮用户查询并修改订单”,甚至更糟 — “帮用户查询其他用户的订单”。
传统的安全方案是静态规则:黑名单、权限检查、输入验证。但 LLM 的输入是自然语言,规则很难覆盖所有边界情况。更麻烦的是,Agent 的行为是动态的 — 它会根据上下文生成调用参数,静态规则几乎不可能预判所有风险路径。
CrabTrap 的核心设计
CrabTrap 解决这个问题的思路很直接:让另一个 LLM 来当裁判。
它的架构是一个 HTTP 代理,位于 Agent 和外部世界之间。每个 outgoing request 都要经过两轮检查:
- 静态规则匹配:快速过滤已知的危险模式
- LLM 动态判断:对于边界情况,交给 Judge LLM 做语义级决策
CrabTrap 实时监控 Agent 请求,显示拦截决策日志和判断依据
这个设计的巧妙之处在于延迟控制。静态规则在几毫秒内完成,LLM 判断可以异步进行。对于高吞吐场景,你可以配置成”先放行、后审计”模式;对于敏感操作,可以配置成”阻塞等待 Judge 决策”。
从实战中沉淀的策略
Brex 的工程师在博客中提到,他们花了 6 个月时间迭代安全策略。最开始的版本只有简单的关键词过滤,后来发现根本不够用。
举个例子:Agent 请求”GET /api/users/12345”。关键词过滤会放行,因为这个 URL 不包含敏感词。但 Judge LLM 会结合上下文判断 — 如果当前会话的用户 ID 不是 12345,这个请求可能是越权访问。
更复杂的场景是多轮推理。Agent 可能在第一步请求”获取用户列表”,第二步请求”获取订单详情”,第三步请求”取消订单”。每一步单独看都是合法的,但组合起来可能是违规操作。CrabTrap 的策略引擎支持跨请求的上下文追踪。
开源的意义
CrabTrap 已经在 GitHub 上开源(brexhq/CrabTrap),采用 MIT 协议。这不是一个 marketing stunt — Brex 的团队是真的在生产环境里用这个系统跑了半年。
开源的价值在于:
- 策略即代码:安全规则可以版本控制、可以代码审查、可以 CI/CD
- 社区贡献:不同行业的合规要求不同,社区可以贡献特定领域的策略模板
- 透明审计:Judge LLM 的决策逻辑是可见的,便于事后分析和调试
对开发者的启示
CrabTrap 代表了一种新的安全范式:从静态规则到语义判断。
在 AI Agent 时代,传统的 WAF、API Gateway 已经不够用了。你需要一个理解自然语言的中间层,一个能根据上下文做动态决策的安全屏障。
这并不意味着完全依赖 LLM。CrabTrap 的设计是”混合模式” — 静态规则处理 90% 的常见情况,LLM 处理剩下的 10% 边界情况。这样既保证了低延迟,又覆盖了长尾风险。
如果你正在构建生产级的 AI Agent,建议把 CrabTrap 加入技术栈评估。它可能不是唯一选择,但这个领域确实需要更多像 Brex 这样愿意分享实战经验的团队。
参考链接
- CrabTrap 官网:brex.com/crabtrap
- GitHub 仓库:github.com/brexhq/CrabTrap
- Brex 技术博客:building-crabtrap-open-source