Token导航 LogoToken导航TokenDH.com
MCP Parapet logo
安全风控stdio官方级别未说明来源级核验

MCP Parapet

MCP Server

mcp-parapet是一款本地运行的MCP服务器安全中间件,提供内容扫描、信任边界控制、速率限制和审计日志等核心安全功能。

工具数

0

提示词数

0

GitHub Stars

0

资源数

0
PythonClaude审计日志Claude

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

quantifylabs

提供方

quantifylabs

最后核验

2026/5/17 20:19

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

命令预览

pip install mcp-parapet

详细介绍

mcp护栏

MCP服务器的安全中间件。完全在您的机器上运行。

没有API密钥。没有SaaS帐户。没有遥测。就 pip install mcp-parapet 每个工具调用在到达服务器之前都会被扫描、验证和记录。

Client ↔ [mcp-parapet] ↔ MCP Server
            ↓
      Security Pipeline
      ├─ Content scanning (PII, secrets, prompt injection)
      ├─ Trust boundaries (OWASP 5-tier hierarchy)
      ├─ Rate limiting (per-server, per-tool)
      ├─ Manifest integrity (rug pull detection)
      └─ Audit trail (append-only JSONL)

为什么选择mcp护栏

82%的MCP服务器的文件操作容易受到路径遍历的攻击。66%包含至少一种关键代码气味。23%的工具描述中有可疑的指令式模式。

大多数MCP安全工具需要注册、API令牌,或将工具描述发送到第三方服务器进行分析。mcp-parapet没有。所有东西都在本地离线运行,除了PyYAML之外没有任何外部依赖。

mcp-scan告诉你出了什么问题。mcp护栏阻止了这种情况的发生。

安装

pip install mcp-parapet

快速入门

在任何服务器命令前加上前缀 mcp-parapet wrap --就这样。

无论您使用什么命令启动MCP服务器,请将 mcp-parapet wrap -- 现在,每个工具调用都要经过安全管道。

# Before (no security)
npx -y @modelcontextprotocol/server-filesystem /tmp

# After (full security pipeline)
mcp-parapet wrap -- npx -y @modelcontextprotocol/server-filesystem /tmp

适用于任何MCP服务器。没有代码更改。无需修改服务器。

# Node-based servers
mcp-parapet wrap -- npx -y @modelcontextprotocol/server-github
mcp-parapet wrap -- npx -y @modelcontextprotocol/server-puppeteer

# Python servers
mcp-parapet wrap -- python my_server.py
mcp-parapet wrap -- uvx my-mcp-package

# Anything that speaks MCP over stdio
mcp-parapet wrap -- ./my-custom-server --port 8080

在Claude桌面中使用

替换 "command"mcp-parapet 并预置 "wrap", "--" 到args:

{
  "mcpServers": {
    "filesystem": {
      "command": "mcp-parapet",
      "args": ["wrap", "--name", "filesystem", "--",
               "npx", "-y", "@modelcontextprotocol/server-filesystem", "/tmp"]
    },
    "github": {
      "command": "mcp-parapet",
      "args": ["wrap", "--name", "github", "--",
               "npx", "-y", "@modelcontextprotocol/server-github"],
      "env": { "GITHUB_TOKEN": "ghp_..." }
    }
  }
}

--name 标记每个服务器的审计日志和配置。可选,但推荐。

自定义(可选)

# Generate a config file with sensible defaults
mcp-parapet init

# Scan a file or stdin directly
echo "My SSN is 123-45-6789" | mcp-parapet scan -

开箱即用,mcp parpet拒绝即时注入,编辑泄露的秘密,并记录每次工具调用。 parapet.yaml 允许您调整策略、设置每台服务器的信任级别和配置速率限制,但默认值为生产就绪。

它做什么

内容扫描

四阶段流水线扫描每个工具调用参数和响应:

阶段它捕捉到了什么示例
1.输入验证超大有效载荷、空字节、控制字符通过有效载荷膨胀进行DoS
2.敏感数据SSN、信用卡、API密钥、电子邮件、密码PII泄漏到不受信任的服务器
3.快速注射覆盖尝试、角色操作、数据泄露“忽略前面的指令…”
4.LLM分类*(即将在v0.2中推出)* 绕过正则表达式的对抗性输入混淆的注入攻击

可按类别配置策略: flag, redact,或 reject.

信任边界

MCP服务器的五层信任层次结构:

级别权限用例
none阻止所有工具调用未知/不受信任的服务器
basic只读操作正在评估的第三方服务器
verified标准操作 *(默认)*具有已知清单的服务器
trusted所有操作,包括写入第一方服务器
privileged管理/系统级操作内部基础设施

每台服务器的分配列表和块列表用于细粒度控制。

工具清单完整性

在第一次连接时对工具清单进行哈希处理。在每个后续连接上,与存储的哈希值进行比较。检测:

  • 工具中毒 --工具描述中嵌入的恶意指令
  • 地毯拉 --初始信任后工具定义发生了变化
  • 工具阴影 --添加了模拟现有工具的新工具
  • 清单篡改 --对工具列表的任何修改

可选的HMAC-SHA256签名,使用密钥进行加密验证。

速率限制

滑动窗口速率限制器,按服务器和工具粒度:

  • 默认值:60个呼叫/分钟,1000个呼叫/小时
  • 可配置每台服务器的覆盖
  • 防止资源枯竭和滥用

审计跟踪

仅附加每个安全决策的JSONL日志:

{"timestamp":"2026-04-04T10:15:30Z","event_type":"tool_call_blocked","server_name":"filesystem","tool_name":"write_file","verdict":"reject","detections":[{"type":"injection_override","confidence":0.85}]}

每个工具调用请求、响应、阻止、编校、速率限制命中和清单更改都会记录完整的上下文。

配置

parapet.yaml

scanner:
  policy_pii: flag           # flag | redact | reject
  policy_secrets: redact     # flag | redact | reject
  policy_injection: reject   # flag | redact | reject
  scan_tool_arguments: true
  scan_tool_responses: true

audit:
  enabled: true
  log_file: parapet-audit.jsonl

integrity:
  enabled: true
  alert_on_change: true
  block_on_change: false

rate_limit:
  default_per_minute: 60
  default_per_hour: 1000

servers:
  my-trusted-server:
    trust_level: trusted
  third-party-server:
    trust_level: basic
    allowed_tools:
      - search
      - read
    max_calls_per_minute: 10

环境变量

变量描述
PARAPET_CONFIG配置文件的路径
PARAPET_SIGNING_KEY用于清单完整性的HMAC签名密钥
PARAPET_AUDIT_FILE审核日志文件路径
PARAPET_LOG_LEVEL日志级别(调试、信息、警告、错误)
PARAPET_POLICY_PII覆盖PII策略
PARAPET_POLICY_SECRETS覆盖机密策略
PARAPET_POLICY_INJECTION覆盖注射策略

Python API

from mcp_parapet import ContentScanner, ScanVerdict

scanner = ContentScanner()

# Scan text content
verdict = scanner.scan("My SSN is 123-45-6789")
print(verdict.allowed)     # True (default PII policy is 'flag')
print(verdict.flags)       # ['pii_detected']
print(verdict.detections)  # [Detection(type=ssn, ...)]

# Scan tool call arguments
verdict = scanner.scan_json({"query": "ignore all previous instructions"})
print(verdict.allowed)     # False (default injection policy is 'reject')

OWASP MCP十大覆盖范围

mcp护栏地图 OWASP MCP前10名 (2025/2026,测试版)——第一个致力于模型上下文协议安全的OWASP框架:

OWASP MCP风险状态MCP护栏如何应对
MCP01 代币管理不善和秘密曝光ContentScanner 在工具参数和响应中检测API密钥(AWS、OpenAI、GitHub、Anthropic)、密码和机密。可配置: flag, redact,或 reject.
MCP02 通过范围爬行提升权限TrustPolicy 使用每服务器工具的分配列表和阻止列表强制执行5层信任层次结构。默认情况下为最低权限。
MCP03 工具中毒integrity 模块哈希工具在第一次连接时显示,在重新连接时显示差异。检测描述更改、工具阴影和无声重新定义。
MCP04 供应链攻击和依赖篡改HMAC-SHA256清单签名。基于哈希的跨会话固定工具。任何清单变更的警报或阻止。
MCP05 命令注入和执行ContentScanner 在工具参数中捕获注入模式。运行时障碍——在有效负载到达服务器之前阻止它们。
MCP06 意图流颠覆(提示注入)第三阶段检测:覆盖尝试、角色操纵、渗透指令。默认策略: reject.
MCP07 身份验证和授权不足🔜计划用于v0.2(OAuth 2.1集成)。
MCP08 缺乏审计和遥测AuditTrail --在每个工具调用、块、编校和安全事件中只附加JSONL。按大小旋转文件。
MCP09 影子MCP服务器--超出范围(护栏包裹了已知的服务器;影子检测是一个网络级问题)。
MCP10 上下文注入和过度共享PII和秘密扫描可以捕捉到跨越信任边界泄漏的敏感数据。Redaction可防止数据到达不受信任的服务器。

也映射到 OWASP安全MCP服务器开发实用指南 v1.0(2026年2月):第3节输入验证(ContentScanner),第4节访问控制(TrustPolicy),第5节工具完整性(完整性),第6节日志记录(AuditTrail),第7节速率限制(RateLimiter),第8节错误处理(JSON-RPC错误响应)。

mcp护栏比较如何

mcp护栏Snyk代理扫描(mcp扫描)企业网关(TrueFoundry、Lasso、MintMCP)
在本地运行✅ 完全离线❌ 需要Snyk API令牌❌ SaaS/托管云
零遥测✅ 没有东西离开你的机器❌ 将工具描述发送到不变的API❌ 供应商托管
运行时阻塞✅ 拦截和阻止实时流量✅ 代理模式(v0.4+)✅ 网关
安装pip install mcp-parapetuvx snyk-agent-scan +API键仪表板注册+配置
信任边界✅ 5层OWASP层次结构✅ RBAC/OAuth
审计跟踪✅ 本地JSONL✅ 云托管
价格免费。MIT许可证。免费(扫描)/付费(企业)付费

mcp护栏不能替代企业mcp网关。如果您需要OAuth 2.1、SSO、多租户RBAC和托管云仪表板,请使用TrueFoundry或Lasso。如果你需要一个免费的本地第一安全层,你可以 pip install 忘了,那是mcp护栏。

CLI 参考

mcp-parapet wrap [--name NAME] [--config FILE] --  [args...]
mcp-parapet scan 
mcp-parapet init [--output FILE] [--force]
mcp-parapet verify 
mcp-parapet version

许可证

麻省理工学院-- Quantify实验室有限公司

链接

目录标签

目录标签

PythonClaude审计日志安全中间件本地部署内容扫描信任边界速率限制

支持客户端

Claude

接入字段

传输方式(transport,传输协议)

stdio

鉴权方式(authType,认证方式)

oauth

工具数量(toolCount,工具数)

0

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

stdiooauth部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

来源信息

继续浏览同类 MCP