关于 MCP 的一个安全问题,你应该被告知/了解/理解。
立即停止通过 npx/uvx 运行你的 MCP 工具 - Bob Dickinson
问题核心是,通过使用 npx 或 uvx,你实际上是在告诉你的工具使用平台去获取所提供包名对应的任何代码并运行它(“x”代表“execute”),并在包更改时进行更新。然后,在你机器上运行的代码拥有 root 访问权限——它可以查看你的整个机器、环境变量、文件系统,它可以打开端口进行监听或窃取数据。这段刚刚从注册表中拉下来的代码可以为所欲为。
例如,在学习使用 MCP 时,从以下地址获取了 time MCP:
安装说明中提到了一个可能的选项:
例如:
uvx 实际上在几毫秒内将所有代码下载到一个临时目录中并按需运行。当 MCP 客户端完成时(例如 Claude Desktop 关闭时),临时文件会被删除。
是的,在代码执行之前你应该会收到一个警告,就像 Claude Desktop 的情况一样:
但有多少用户真的知道如何检查并只是点击一个“允许”选项。
这样的公告很常见:
NPM 仓库中的破坏性恶意软件已存在 2 年未被发现
通过 vibe coding 创建 MCP 服务器相对容易,但要确保安全则不然。


