ezed9/mcp-bouncer 是一个本地 stdio 代理,位于 MCP 客户端与现有工具服务器之间。它以 1:1 的方式重新暴露工具并检查每次调用,在不经过 LLM 的前提下确定性地判定其值流向的目的地。判定依据不是工具能否使用,而是值流向哪里。它使用 Python 编写,许可证为 MIT。
判定所用的材料是已记录的 schema、策略和 taint(污染)日志。它以规则计算数据来源、参数约束和调用预算,将每次调用归类为 allow、deny、ask 之一,并把结果留在本地审计日志中。由于判定只经由不经过 LLM 或分类器的纯 Python 规则引擎得出,相同输入会得到相同判定,其可复现性与可审计性在结构上也不同于基于分类器的防护。在 AgentDojo v1 workspace 套件上实测的结果也按用例逐个公开。基线攻击成功率为 1/3,启用 Bouncer 后为 0/3。用户任务效用从 0.33 提升到 1.00,无害条件效用为 1.00。
不过,正如记录自身所指出的,样本量小确实是一个限制。当前处于 v1 早期阶段,策略 DSL 的可扩展性尚未得到验证。Star 数为 2 个,也还没有任何发布。在所给出的条件下,阻断与任务效用的保持同时出现,但仅凭这些数字就断定一般 MCP 环境中的结果还为时过早。