我扫描了我的模型上下文协议(MCP)设置,得分是 0/100。以下是存在的问题。

发布日期:2026-06-28 10:01:26   浏览量 :8
发布日期:2026-06-28 10:01:26  
8

几个月来,我一直在向克劳德(Claude)和光标(Cursor)添加模型上下文协议(MCP)服务器——GitHub、一个文件系统服务器、几个搜索服务器,以及我自己编写的一个小型内部超文本传输协议(HTTP)服务器。效果很好。但有两件事让我感到困扰:

  1. 其中一些服务器完全没有身份验证。任何能访问该统一资源定位符(URL)的人都可以调用我的工具。
  2. 在我甚至还没输入提示词之前,我的上下文窗口就感觉已经了。

事实证明,这不仅仅是我一个人的问题。一项针对约 7,000 个公共 MCP 服务器的 2026 年分析发现,41% 不需要身份验证36.7% 存在服务器端请求伪造(SSRF)漏洞,而只有8.5% 使用开放授权(OAuth)。因此,我编写了一个小工具来检查我自己的配置——结果得分是100 分中的 0 分

该工具

mcp-audithttps://github.com/alih552/mcp-audit)是一个零依赖的命令行界面(CLI)工具,它读取你的 MCP 配置(克劳德桌面版、光标、视觉工作室代码(VS Code)、 Windsurf 或普通的 .mcp.json 文件),并告诉你哪里出了问题。它100% 在本地运行——它永远不会连接到你的服务器,也不会将你的配置发送到任何地方。

pipx install git+https://github.com/alih552/mcp-audit
mcp-audit

以下是它在我的(故意弄乱的)测试配置中标记出的问题示例:

MCP 审计 — ~/.cursor/mcp.json
  7 个服务器 - 约 13,160 个上下文令牌 - 得分 0/100 (F)

[高] 远程服务器无身份验证  (internal-api)
[高] 配置中存在明文密钥 (GitHub 令牌)  (github)
[中]  未固定版本的自动更新可执行文件 (npx -y)  (filesystem)
[中]  过于宽泛的文件系统根目录 '/Users'  (filesystem)
[低]  7 个服务器 ~ 每次请求加载 13,160 个上下文令牌

每个发现的实际含义

远程服务器上无身份验证。如果你的 MCP 服务器可以通过 HTTP 访问且不检查令牌,那么模型——或者任何找到该 URL 的人——都可以运行你的工具。随着提示词注入攻击在野外泛滥,服务器必须守住防线,而不是依赖模型。

配置中存在明文密钥。留在 .mcp.json 中的 GITHUB_TOKEN 会通过文件本身以及你的 Git 历史记录泄露。将其移动到环境变量或密钥管理器中。

npx -y / uvx 未固定版本。这会静默运行最近发布的任何内容。这是一种供应链风险——请固定版本并审查更新。

过于宽泛的文件系统根目录。指向 /Users 或 $HOME 的文件系统服务器允许模型读取和写入远超你项目范围的内容。将其作用域限制在项目目录内。

令牌膨胀。这是我没预料到的一点。每个服务器都会将其工具模式加载到每个请求中。五个服务器通常会在你输入一个字之前就消耗50,000-75,000 个上下文令牌——这是真金白银和实际的延迟。禁用那些你没有积极使用的服务器。

修复方法

针对配置问题:固定版本、将密钥移至环境变量、限制文件系统访问范围,并为任何远程服务前置身份验证。这里有一份完整的 MCP 服务器安全检查清单:https://alih552.github.io/mcp-forge/checklist.html

如果你正在构建一个 MCP 服务器,并希望它从第一次提交起就是安全的,我还整理了 MCP Forge 套件(https://alih552.github.io/mcp-forge/)——一个默认安全的启动模板(承载令牌 + JSON Web 令牌(JWT)身份验证、防 SSRF 的获取请求、速率限制、验证、测试、持续集成(CI))。但上述审计器

免责声明:本文内容来自互联网,该文观点不代表本站观点。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,请到页面底部单击反馈,一经查实,本站将立刻删除。

关于我们
热门推荐
合作伙伴
免责声明:本站部分资讯来源于网络,如有侵权请及时联系客服,我们将尽快处理
Copyright © 2025-2027 ToB产业网址导航 公安备案 浙公网安备33010602013138号 浙ICP备16025413号-9
支持 反馈 关注 数据