mcpField
M
MCP Shield

MCP Shield

本地服务
github.com/sophiacave安全020 周前更新

关于 MCP Shield

MCP Shield 是面向开发者的开源扫描器,用于检查 MCP 服务代码和项目中的安全问题。它应用 20 条规则,提供带 CWE 参考和修复建议的问题报告,并给出 A–F 评级。

主要功能

  1. 0120 条安全规则
  2. 02SSRF 与路径遍历检查
  3. 03注入与身份验证检查
  4. 04关联 CWE 的问题报告
  5. 05修复建议
  6. 06A–F 安全评级

适用场景

  1. 01扫描 MCP 服务源文件
  2. 02检查项目中的安全风险
  3. 03查看问题与修复步骤

MCP 相关

MCP Shield 提供用于扫描文件、目录和代码的 MCP 工具,也可作为命令行工具运行。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"sophiacave-mcp-shield": {
"command": "npx",
"args": [
"-y",
"@sophiacave/mcp-shield"
]
}
}
}
启动命令npx -y @sophiacave/mcp-shield

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
npm@sophiacave/mcp-shield1.0.7

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

MCP Shield

CI

License: MIT Python 3.10+ Tests: 28 passing MCP Compatible

**用于 MCP 服务的开源安全扫描器。**涵盖 6 个类别的 20 条规则。几秒内扫描任意服务,并获得 A 到 F 的评级。

36.7% 的 MCP 服务存在 SSRF 漏洞(BlueRock,2026)。82% 存在路径遍历缺陷。只有 17% 达到生产就绪状态。MCP Shield 能在攻击者发现漏洞前将其找出。

快速开始

git clone https://github.com/sophiacave/mcp-shield
cd mcp-shield

# Scan a file
python3 src/cli.py scan path/to/mcp_server.py

# Scan a project
python3 src/cli.py scan path/to/mcp-project/

检查内容(20 条规则)

规则严重程度检测内容
SSRF-01严重HTTP 请求 URL 中的用户输入
SSRF-02中未经验证的动态 URL
SSRF-03中DNS 重绑定(已验证 URL,但未固定 IP)
PATH-01高文件路径中的用户输入
PATH-02中缺少路径遍历防护
PATH-03中未检查便跟随符号链接
INJ-01严重对用户输入使用 eval/exec
INJ-02严重SQL 字符串插值
INJ-03高subprocess 使用 shell=True
INJ-04高通过 .format() 进行模板注入
INJ-05严重不安全的反序列化(pickle/yaml)
AUTH-01中工具处理程序未进行身份验证
AUTH-02严重硬编码的机密/API 密钥(OpenAI、Stripe、GitHub、AWS)
AUTH-03低工具端点未进行速率限制
SEC-01高禁用了 SSL 验证
SEC-02中通配符 CORS
SEC-03中向客户端暴露堆栈跟踪/错误详情
SEC-04低未验证输入长度(存在 DoS 风险)
LOG-01低未记录工具调用或建立审计跟踪

测试

python3 tests/test_integration.py
# 28 tests, 0 failures

MCP 服务集成

添加到 ~/.claude/mcp.json:

{
  "mcpServers": {
    "mcp-shield": {
      "command": "python3",
      "args": ["/path/to/mcp-shield/src/mcp_server.py"]
    }
  }
}

Claude Code 工具:shield_scan_file、shield_scan_directory、shield_scan_code

输出示例

MCP Shield: my-server/ — 3 finding(s)

  [CRIT] SSRF-01: Potential SSRF: Dynamic URL from user input
    requests call with dynamic URL that may include user input
    Location: server.py:45
    Fix: Validate URL against allowlist. Block internal IPs.
    CWE: CWE-918

  [HIGH] INJ-03: Command injection: subprocess with shell=True
    subprocess called with shell=True. User input in args = RCE.
    Location: tools.py:112
    Fix: Use subprocess with shell=False and pass args as list.
    CWE: CWE-78

  [MED] AUTH-01: No authentication detected on tool handlers
    MCP tool handlers found but no auth logic detected
    Fix: Add authentication middleware.
    CWE: CWE-306

Grade: F | 1 critical, 1 high, 1 medium

功能

  • 零依赖 — 纯 Python,无需使用 pip 安装
  • 20 条安全规则,涵盖 SSRF、路径遍历、注入、身份验证、配置和日志记录
  • CWE 引用 — 每项发现都对应一个常见弱点枚举 ID
  • 可操作的修复建议 — 每项发现都包含具体的修复步骤
  • A-F 评级 — 即时评估安全状况
  • 双模式 — 可作为命令行工具运行,也可作为 MCP 服务在 Claude Code 中运行
  • 快速 — 扫描典型 MCP 服务耗时不到 1 秒

存在的原因

MCP 生态系统拥有 9,400 多个服务和每月 9,700 万次 SDK 下载。安全工具的发展未能跟上。我们开发 MCP Shield,是因为每个未经过安全扫描就部署的 MCP 服务都是一项安全隐患。

由 Like One 开发,这是一家 501(c)(3) 非营利组织。安全工具应该免费。

许可证

MIT — Like One

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。