Yabbie Net — A Safety Net for AI Agents
Yabbie Net is an open-source MCP proxy that sits between your OpenClaw agent and its tools, catching unsafe actions before they execute.
Source code: github.com/Devlines/yabbie.net (MIT licensed, fully auditable)
What It Does
Three tiers of protection:
- 1. Deterministic rules (instant, free, no external calls) — file path deny lists, tool blocklists, rate limits
- AI intent judge (optional, opt-in only) — a small model checks if each action matches your stated goal
- Human escalation (rare) — you only see actions that are uncertain AND irreversible
Tier 1 requires no API keys, makes no network calls, and sends no data externally. It runs entirely locally using pattern matching.
Security and Privacy
Because this is a security tool, transparency matters. Here is exactly what Yabbie Net does and does not do:
What the proxy sees:
- - Tool names and arguments passing through the MCP stdio channel (same data the MCP server already receives)
What is sent externally (ONLY when tier2 is explicitly enabled):
- - Tool name
- Truncated argument summary (keys + types + short values; large content like file bodies is replaced with byte counts — never sent in full)
- Your
taskContext string from INLINECODE1 - Sent to: Anthropic API (if
provider: anthropic) or localhost Ollama (if provider: ollama)
What is NEVER sent externally:
- - Full file contents, full argument values, or raw MCP traffic
- Any data when tier2 is disabled (the default)
- Telemetry is opt-in only (
telemetry: true in config). Anonymous aggregates only (latency percentiles, verdict ratios). No tool names, no arguments, no file paths.
Credentials:
- -
ANTHROPIC_API_KEY — required ONLY if you enable tier2 with provider: anthropic. Set it in your shell environment. Not needed for tier1-only mode. - No other credentials are required.
Setup
Install as a project dependency (recommended over global install):
CODEBLOCK0
Or install globally:
CODEBLOCK1
In your openclaw.json, wrap any MCP server:
CODEBLOCK2
Note: This modifies how your MCP servers are invoked. Yabbie acts as a transparent proxy — all tool calls pass through it. Review the source code to understand the interception mechanism.
Configuration
Create yabbie.yaml in your project root:
CODEBLOCK3
Recommended first step: Start with tier1 only (the default). No API keys needed, no external calls. Add tier2 later once you've reviewed the audit logs and understand your agent's patterns.
How It Affects Other Skills
When you route an MCP server through Yabbie in openclaw.json, the proxy intercepts tools/call JSON-RPC messages for that server. This means:
- - Tool calls may be blocked if they match deny rules (the agent receives a clear error message)
- Tool calls may be delayed by ~1ms for tier1 checks, or ~300-800ms if tier2 is enabled
- All other MCP messages (initialize, tools/list, notifications) pass through unmodified
- The proxy does not modify tool arguments or responses — it only allows or blocks
Why This Exists
Cisco research found 36% of ClawHub skills contain prompt injection vulnerabilities. Agents have exfiltrated data, created unauthorized accounts, and deleted production databases. NVIDIA's NemoClaw addresses this but requires RTX/DGX hardware.
Yabbie Net is a lightweight, software-only safety layer that runs anywhere.
Audit and Verify
All actions are logged locally to .yabbie/audit.jsonl:
CODEBLOCK4
Links
技能名称: Yabbie Net
Yabbie Net — AI代理的安全网
Yabbie Net 是一个开源 MCP 代理,位于您的 OpenClaw 代理与其工具之间,在执行前拦截不安全操作。
源代码: github.com/Devlines/yabbie.net (MIT 许可,完全可审计)
功能概述
三层保护机制:
- 1. 确定性规则 (即时、免费、无外部调用) — 文件路径拒绝列表、工具黑名单、速率限制
- AI 意图判断 (可选,仅限主动启用) — 一个小型模型检查每个操作是否符合您设定的目标
- 人工升级 (罕见) — 您只会看到不确定且不可逆的操作
第一层无需 API 密钥,不进行网络调用,也不向外部发送数据。 它完全在本地使用模式匹配运行。
安全与隐私
由于这是一个安全工具,透明度至关重要。以下是 Yabbie Net 确切能做和不能做的事情:
代理能看到的内容:
- - 通过 MCP stdio 通道传递的工具名称和参数 (与 MCP 服务器已接收的数据相同)
外部发送的内容 (仅在明确启用第二层时):
- - 工具名称
- 截断的参数摘要 (键 + 类型 + 短值;文件正文等大内容替换为字节计数 — 从不完整发送)
- 来自 yabbie.yaml 的 taskContext 字符串
- 发送至: Anthropic API (如果 provider: anthropic) 或本地 Ollama (如果 provider: ollama)
绝不外部发送的内容:
- - 完整文件内容、完整参数值或原始 MCP 流量
- 禁用第二层时的任何数据 (默认状态)
- 遥测数据仅限主动启用 (配置中 telemetry: true)。仅匿名汇总 (延迟百分位数、判定比率)。不包含工具名称、参数或文件路径。
凭据:
- - ANTHROPICAPIKEY — 仅在启用第二层且 provider: anthropic 时需要。在 shell 环境中设置。纯第一层模式不需要。
- 无需其他凭据。
设置
作为项目依赖项安装 (推荐,优于全局安装):
bash
npm install yabbie-net@0.2.0
或全局安装:
bash
npm install -g yabbie-net@0.2.0
在您的 openclaw.json 中,包装任意 MCP 服务器:
json
{
mcpServers: {
filesystem: {
command: npx,
args: [yabbie-net@0.2.0, --verbose, --, npx, -y, @modelcontextprotocol/server-filesystem, /tmp]
}
}
}
注意: 这会修改 MCP 服务器的调用方式。Yabbie 充当透明代理 — 所有工具调用都通过它。请查看源代码了解拦截机制。
配置
在项目根目录创建 yabbie.yaml:
yaml
version: 1
第一层: 仅本地规则。无网络调用。无需 API 密钥。
tier1:
files:
deny: [
/.env, /secrets
, /.pem, /*.key]
tools:
deny: [shell_exec]
rateLimit:
maxCallsPerMinute: 30
第二层: 默认禁用。启用时需要 ANTHROPICAPIKEY。
向配置的提供商发送工具名称 + 截断参数。
tier2:
enabled: false
provider: anthropic # anthropic (需要 ANTHROPIC
APIKEY) 或 ollama (本地,无需密钥)
sensitivity: balanced
taskContext: 描述您的代理应该做什么
第三层: 对不确定且不可逆的操作进行人工审批。
tier3:
enabled: true
channel: stderr
log:
verbose: true
匿名遥测。默认关闭。绝不发送工具名称或参数。
telemetry: false
推荐第一步: 仅从第一层开始 (默认设置)。无需 API 密钥,无外部调用。在审查审计日志并了解代理模式后,再添加第二层。
对其他技能的影响
当您在 openclaw.json 中通过 Yabbie 路由 MCP 服务器时,代理会拦截该服务器的 tools/call JSON-RPC 消息。这意味着:
- - 如果工具调用匹配拒绝规则,则可能被阻止 (代理会收到明确的错误消息)
- 工具调用可能因第一层检查而延迟约 1 毫秒,如果启用第二层则延迟约 300-800 毫秒
- 所有其他 MCP 消息 (initialize、tools/list、notifications) 保持不变地通过
- 代理不会修改工具参数或响应 — 它仅允许或阻止
存在原因
Cisco 研究发现,36% 的 ClawHub 技能存在提示注入漏洞。代理曾泄露数据、创建未授权账户并删除生产数据库。NVIDIA 的 NemoClaw 解决了这个问题,但需要 RTX/DGX 硬件。
Yabbie Net 是一个轻量级、纯软件的安全层,可在任何地方运行。
审计与验证
所有操作都会本地记录到 .yabbie/audit.jsonl:
bash
npx yabbie-net log --tail 20 # 查看最近操作
npx yabbie-net stats # 查看性能指标
链接