Devotd Github
新发现安全

ezed9/mcp-bouncer — 阻断 MCP 调用目的地的确定性防火墙

介绍 ezed9/mcp-bouncer:这是一个本地 stdio 代理,无需 LLM 即可确定性地判定 MCP 客户端与工具服务器之间工具调用所流向的目的地。

仓库信息ezed9/mcp-bouncer ↗

介绍 ezed9/mcp-bouncer:这是一个本地 stdio 代理,无需 LLM 即可确定性地判定 MCP 客户端与工具服务器之间工具调用所流向的目的地。

GitHub 项目说明: A deterministic exfiltration firewall for MCP tool calls — gates the destination, not the tool. No LLM in the decision path.

星标
★ 2
复刻
0
语言
Python
许可证
MIT
查看原始来源 ↗在 GitHub 查看 ↗

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 环境中的结果还为时过早。