微软宣布在Visual Studio中正式推出模型上下文协议(MCP)服务器功能。Visual Studio作为仅次于Visual Studio Code的第二大热门集成开发环境,在企业中得到广泛应用。

产品经理Allie Barrie表示,Visual Studio现在可以连接到本地或远程MCP服务器,通过名为.mcp.json的配置文件进行设置,该文件可以放在用户配置文件中供全局使用,也可以放在单个解决方案中。

开发者可以通过直接编辑配置文件或使用GitHub Copilot聊天窗口中的设置来添加MCP服务器。系统还提供了从网络一键安装的功能,并支持OAuth身份验证,例如允许MCP工具访问GitHub。

对MCP使用持谨慎态度的组织可以通过GitHub策略控制对MCP功能的访问权限。

MCP服务器扩展了智能体AI的功能,使开发者可以坐下来观看任务代替他们完成。Barrie提到了GitHub上的MCP服务器列表,其中包括MCP SDK、近400个官方服务器和近750个社区贡献的服务器。该协议的发明者Anthropic警告称,"社区服务器未经测试,使用风险自负。"

**安全风险评估**

API安全公司pynt对281个MCP服务器进行了研究,调查它们的功能以及是否可能处理来自不受信任来源的输入。不受信任的来源可能是网页、Slack消息、电子邮件或其他外部内容。

根据pynt的研究,"MCP正在成为软件工作流程的新执行层",其后果是多个智能体被组合使用,形成复合风险。研究表明,只有9%的MCP完全可被利用,既具有敏感功能又接受不受信任的输入,但拥有多个MCP的复合效应意味着使用3个服务器时出现高风险漏洞的概率达到52%。

**安全建议**

pynt提出了四项减少MCP可利用性的建议:

1. 确保用户批准对MCP服务器的每次调用,不要使用"始终允许"选项

2. 禁用不需要积极使用的MCP服务器

3. 将MCP服务器隔离在容器中或使用其他机制减少攻击影响

4. 避免复合风险,不允许接受不受信任内容的服务器与具有敏感功能访问权限的其他服务器并存

**GitHub MCP服务器的特殊风险**

微软特别强调了GitHub MCP服务器,该服务器现已开源并快速发展。但需要注意的是,其版本号为0.12.1,仍处于公开预览阶段。在某些情况下,该MCP服务器可能会接收不受信任的输入,例如公共存储库中的问题或拉取请求可能包含提示注入攻击。

Synk的InvariantLabs在5月份展示了这种风险。最令人担忧的是,研究人员报告称"这不是GitHub MCP服务器代码本身的缺陷,而是必须在智能体系统级别解决的根本架构问题。"

尽管存在这些安全担忧,Barrie在她的发布文章中选择不提及安全问题,但对于开发者来说,这将是首要考虑的问题。

Q&A

Q1:什么是MCP服务器?它在Visual Studio中有什么作用?

A:MCP(模型上下文协议)服务器是扩展智能体AI功能的工具,使开发者可以让AI代替他们完成任务。在Visual Studio中,开发者可以连接到本地或远程MCP服务器,通过配置文件进行设置,实现自动化开发工作流程。

Q2:使用MCP服务器存在哪些安全风险?

A:主要风险包括:社区MCP服务器未经测试可能存在漏洞;多个MCP服务器组合使用时风险会复合增长,使用3个服务器时高风险概率达52%;可能接收不受信任输入导致提示注入攻击;GitHub MCP服务器存在根本性架构安全问题。

Q3:如何安全地使用MCP服务器?

A:专家建议:确保用户批准每次MCP服务器调用,避免使用"始终允许"选项;禁用不需要的MCP服务器;将MCP服务器隔离在容器中;避免让接受不受信任内容的服务器与具有敏感功能的服务器并存。


Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐