摘要 MCP Server 需要访问用户数据或执行系统操作,其安全性直接影响使用风险。本文介绍评估 MCP Server 安全性的方法,包括检查来源、审查权限、本地验证、社区反馈和代码审查五个维度。 四、MCP 协议层面的安全机制 除了对单个 MCP Server 进行评估之外,了解 MCP 协议本身的安全设计也有助于更全面地理解安全风险。 4.1 MCP 协议的安全特性 MCP 协议在设计时考虑了以下安全特性: 本地运行:MCP Server 通常运行在本地环境中,而非云端,减少了数据传输环节 显式配置:用户需要显式配置 MCP Server 不同 MCP 客户端的权限管控能力存在差异 缺乏统一的 MCP Server 安全评级或认证体系 Prompt 注入等新型攻击面的防御方案仍在探索中 五、持续关注 MCP 安全动态 MCP 生态仍处于快速发展阶段 建议关注以下信息渠道: MCP 官方规范的更新动态 安全社区对 MCP 相关漏洞的披露 所用 MCP Server 的更新日志 行业组织发布的安全最佳实践 保持对安全问题的持续关注,比一次性评估更为重要
MCPvsA2A?有人说这是下一代“协议之战”,但其实它俩根本不是对手,是队友。最近在技术群里,关于MCP和A2A的讨论又热了起来。 MCP解决的是“手”的问题——怎么拿工具、怎么干活。A2A解决的是“嘴”的问题——和谁说话、说什么、怎么交接。它们完全可以——而且应该——一起用。 沃达丰已经在生产环境里同时用MCP和A2A了。 Telenor的看法更直接:MCP会成为“决策接口”的基础,而A2A负责Agent之间的协调。怎么选? MCP和A2A都在Linux基金会底下,核心维护者之间沟通顺畅。2026年的MCPDevSummit上已经明确:MCP管连接,A2A管协作,各管各的,不做大一统。所以别再纠结“站哪边”了。
作者:HOS(安全风信子) 日期:2026-01-01 来源平台:GitHub 摘要: 本文深入探讨了 MCP v2.0 框架下的安全威胁模型,基于 STRIDE 模型构建了完整的 MCP 安全威胁矩阵 一、背景动机与当前热点 1.1 为什么 MCP 安全威胁模型至关重要 随着 AI 系统的快速发展,MCP v2.0 作为连接 LLM 与外部工具的标准化协议,其安全性直接影响着整个 AI 生态的安全。 1.2 MCP 安全威胁的特殊性 MCP v2.0 框架下的安全威胁具有以下特殊性: 跨系统威胁:MCP 连接 LLM、工具和资源,威胁可能来自多个系统。 :通过 MCP 威胁模型,显著降低 MCP 系统面临的安全风险。 2030 年:MCP 威胁模型将成为 AI 系统安全的基础标准,被广泛采用。 6.4 个人观点 MCP 威胁模型是构建安全、可靠 MCP 系统的基础。
本文继续上一篇介绍mcp client。首先还是实现一个mcp server,作为实验用。 Finally, I'll state that the result of adding 1 and 1 is 2. **Identify the numbers to add:** The numbers are \(1\) and \(1\). 2. **Perform the addition:** \[ 1 + 1 = 2 \] 3. **State the final answer:** \[ \boxed{2} \]]}] 至此一个完整的client使用例子介绍完毕。
2. 核心更新亮点与新要素 2.1 新要素 1:MCP 安全基线自动验证工具 首次提出了 MCP 安全基线自动验证工具,用于自动扫描和验证 MCP 系统配置是否符合安全基线要求。 2.2 新要素 2:动态权限最小化框架 设计了动态权限最小化框架,基于任务上下文动态分配 MCP 工具权限,确保工具仅拥有执行当前任务所需的最小权限。 2.3 新要素 3:MCP 安全事件响应模板 创建了 MCP 安全事件响应模板,用于指导 MCP 系统安全事件的响应和处理。 ✓ 身份认证已启用 ✓ 已配置 3 个角色,符合要求 ✓ 审计日志已启用 警告项 (2): ⚠️ 工具1: 沙箱未启用 ⚠️ 工具2: 未配置权限范围 失败项 (0): 整体评分: 71.4% 2级(高危) 可能影响系统功能或数据安全的安全事件 恶意工具注入、权限提升尝试 1小时内响应 3级(中危) 可能导致功能异常或性能下降的安全事件 异常工具调用模式、配置错误 4小时内响应 4级(低危)
在这个网络安全日益重要的时代,双向认证体系成为了保障通信安全的关键,是一个在安全通信领域有着广泛应用且极具研究价值的话题哦。 一、MCP 与 mTLS 的概述(一)MCP(Model Context Protocol)MCP,即模型上下文协议,它是一种用于在不同系统、组件或服务之间传递模型相关上下文信息的协议。 四、基于 MCP 的 mTLS 双向认证体系工作原理(一)证书签发阶段证书申请 :客户端和服务端分别向 CA 发起证书申请请求。 req_extensionsstring_mask = utf8onlydefault_md = sha256[req_distinguished_name]countryName = Country Name (2 只有当双方都成功验证对方的证书后,才会建立安全通信通道,数据传输过程就会被加密保护,从而实现了基于 MCP 的 mTLS 双向认证安全通信。
什么是A2A协议?什么是MCP协议?A2A和MCP协议哪个更好? 安全性:A2A协议内置安全措施,确保智能体之间的通信符合企业级的认证和授权标准,从而保障数据的隐私和安全性。 安全性与合规性:MCP协议确保数据传输和工具调用的安全性,防止潜在的数据泄露或误操作,确保在AI系统和外部环境之间的交互是可控的。 MCP协议使得AI模型不仅仅依赖预训练数据,还能够实时获取最新的信息,提升任务执行的智能化程度。 A2A协议与MCP协议的比较 1. 结语 随着人工智能的飞速发展,A2A协议和MCP协议为智能体和AI模型提供了标准化的框架,使得它们可以高效、安全地进行协作和与外部系统交互。
安全团队需要审查这个 tunnel 工具本身,运维团队也要把它纳入监控、故障排查和权限管理。还有一种是 VPN 或网络 peering。 这个模型对企业内部安全团队会更友好。它让“谁在连接谁”“连接从哪里发起”“请求最终落到哪里”的链路变得清晰。安全边界没有消失Secure MCP Tunnel 容易被误解成一种“内网穿透”。 图 2:MCP Server 仍然留在客户环境中;tunnel-client 通过出站 HTTPS 连接 OpenAI,客户环境不需要为 MCP Server 开放公网入口。 这里我们可以把安全边界拆成三部分:第一层是网络边界。MCP Server 仍然在客户环境里,访问它的是同一环境中的 tunnel-client。 Agent 安全接入私有工具MCP 让 Agent 更容易地连接工具和数据,但进入企业场景后,真正需要处理的已经不只是协议接入。
前面我们介绍了如何使用buf加上proto-gen-go-mcp工具实现mcp-server代码的生成,并且介绍了最基础的一种本地实现代码的方式。 example; option go_package="example.v1"; // 定义一个简单的消息 message Person { string name = 1; int32 id = 2; /mcp" "github.com/mark3labs/mcp-go/server" example "learn/langchain/protoc_gen_mcp/exp1/server mcp.Required(), mcp.Description("要执行的算术运算类型"), mcp.Enum("add", "subtract", "multiply mcp.Description("第一个数字"), ), mcp.WithNumber("y", mcp.Required(),
前言本系列前三篇聊了 MCP 怎么接入、协议长什么样、模型怎么决策工具调用。但有个话题一直没展开:安全。以前大模型只是"聊天",说错了最多改一下。 官方规范专门为 MCP 写了一整篇安全最佳实践,罗列了近十种攻击向量。这篇就把开发者最该关心的几类拆开讲,附上缓解措施。 所以客户端的 CSP(内容安全策略)不只是网页安全,它直接决定 MCP 体系会不会被"纵深击穿"。 七、总结MCP 把 AI 的能力边界从"对话框"推到了"整个数字世界",安全边界也必须跟着推过去。 系列文章到这篇覆盖了:接入(SDK)、协议(JSON-RPC)、决策(function calling)、传输(SSE)、安全(本篇)。MCP 这个话题,从入门到落地实践,链路已经完整。
02 — A2A介绍以及和MCP的关系 1、A2A协议简介 2025 年 4 月 9 日,Google 推出了Agent2Agent (A2A) 协议。 A2A 可让代理执行以下操作: 发现:使用标准化的智能体卡片查找其他智能体并了解其技能 (AgentSkill) 和功能 (AgentCapabilities)。 通信:安全地交换消息和数据。 3、 A2A 通信流:从发现到协作 4、A2A和MCP的比较 MCP(模型上下文协议)本质上是一个工具访问协议。它定义了大型语言模型与各种工具、数据和资源交互的标准方式。 在实际应用中,它们通常需要一起使用: MCP 为代理提供了访问工具的标准方式 A2A 为座席协作提供了标准方式 在实践中,完整的AI系统架构通常需要: 使用MCP将AI与各种工具和数据源连接起来 使用A2A 除了MCP以外,本周工作中也一直有在了解A2A协议,所以本文也对A2A做简单介绍,快够打车原CTO沈剑老师说的一句话印象特别深刻“任何脱离业务的架构设计都是耍流氓”,所以基于MCP也好,A2A也好,关键还是需要去实践
继续先前的MCP学习,实际企业级应用中,很多信息都是涉及商业敏感数据,需要考虑安全认证,不可能让MCP Server在网上裸奔。 最简单的思路,在Client连接到Server的sse时,拦截请求,检测http header头中,是否有必要的token信息(包括验证token是否合法) 这次,我们使用spring web mvc来创建mcp 一、调整pom.xml 1 <dependencyManagement> 2 <dependencies> 3 <dependency> 4 --目前只有snapshot版本的mcp webmvc功能正常--> 7 <version>1.1.0-SNAPSHOT</version> 8 Server了 tips: 实际企业级应用中,涉及敏感信息的系统,往往会要求用户先登录认证,登录成功后将token放到cookie里,后续请求MCP时,将该token在上下文中放到http header
MCP协议存在92%漏洞利用概率:10个插件如何成为企业安全最大盲点2025年10月8日Anthropic模型上下文协议(MCP)凭借其卓越的连接性成为2025年采用最快的AI集成标准,但这也造就了企业网络安全最危险的盲点 现实世界攻击案例证明MCP漏洞真实存在行业领先公司的安全研究团队持续识别MCP在野外遭遇的实际攻击,以及理论上的漏洞。 Postmark MCP后门:安全团队发现postmark-mcp npm包被木马化,授予攻击者在AI工作流中的隐式"上帝模式"访问权限。 安全领导者推荐行动计划建议拥有基于MCP集成的安全领导者采取以下五项预防措施来保护其基础设施:通过首先强制执行OAuth 2.1和OpenID Connect,同时集中MCP服务器注册,实施MCP网关定义基础设施如何支持包含语义层和知识图谱以及网关的分层安全架构通过威胁建模 、持续监控和红队测试进行定期MCP审计,使其成为安全团队的本能反应将MCP插件使用限制在必要插件——记住:3个插件=52%风险,10个插件=92%风险在网络安全战略中将AI特定安全作为独立风险类别进行投资
所以,如果你要对接外部带有验证权限的 MCP 服务,需要手动设置下 sseEndpoint 值。 2. 以上是关于带有权限校验的 MCP 服务配置的问题,接下来,我们要说下怎么自己开发一个带有权限校验 二、实现,带有权限校验的 MCP 服务 首先,Spring AI 是有意提供基于自家的 OAuth2 框架 2. 基于网关实现 其实我们到不非得依赖于 Spring OAuth2 往 MCP 服务里在添加一些其他的东西。倒不如直接走网关,让网关来管理权限,MCP 服务只做服务的事情就好。 2.1 配置工程 在 ai-agent-station 项目下,提供了 dev-ops-v2 配置 mcp 服务转发和验证能力。 服务是有2个步骤的,一个是 sse 访问,还有一个 mcp/message 的处理。
猫头虎推荐|用 AI 控制硬件设备的 MCP 工具:MCP2MQTT开源项目 MCP2MQTT 是一款将物联网设备接入 AI 大模型的框架,它通过 Model Context Protocol(MCP) 上下文更新:mcp2mqtt 将设备状态转换成 MCP 格式,通过 MCP 客户端返回给 AI,大模型据此调整后续指令。 ","/path/to/MCP2MQTT", "run","mcp2mqtt" ] } } } 若要指定配置文件,加上 --config Pico 等参数即可。 十二、运行服务器 激活虚拟环境后: uv run src/mcp2mqtt/server.py # 或 uv run mcp2mqtt # 指定配置 uv run src/mcp2mqtt/server.py 安全与容错 TLS 加密 MQTT 通信; 重试策略(指数退避); 心跳检测与自动重连。
窃取MCP服务器存储的长期凭证作为我们MCP安全系列第四篇文章,本文研究的漏洞不同于之前讨论的协议层缺陷:许多MCP环境将第三方服务的长期API密钥以明文形式存储在本地文件系统,且常配置不安全的全局可读权限 该漏洞影响所有连接到LLM应用的系统,MCP环境功能越强大,不安全存储凭证的风险就越高。这一现象在MCP生态中极为普遍。 /claude_desktop_config.json-rw-r--r-- 1 user staff 2048 Apr 12 10:45 claude_desktop_config.json路径2: 安全凭证管理方案改进凭证存储方式需要多方协作:第三方服务应增加OAuth支持,包括窄范围短期令牌MCP开发者应优先使用操作系统提供的凭证存储API(如Windows凭据管理API和macOS钥匙串)终端用户应审慎选择软件 ,或手动收紧AI软件遗留敏感文件的权限随着MCP逐渐成为强大AI系统的基础框架,我们必须扭转"安全后置"的开发模式,从设计之初就将安全凭证处理作为最高优先级。
这种简洁的设计确实很强大,但前提是安全机制足够稳固。 MCP 无法忽视的安全问题 MCP 存在一些关键的设计缺陷,这些缺陷带来了严重的安全风险。 示例 2:可变工具定义(Mutable Tool Definition) 再设想另一个场景:某个看似安全的 MCP 工具被系统长期信任,但缺乏持续验证。 2 — 工具调用:自动化,还是漏洞捷径? MCP 智能体可以调用工具、发起 API 请求、处理数据、并运行面向用户的工作流。 智能体安全框架:该敲响警钟了 MCP 潜力巨大,但我们不能忽视其真实存在的安全隐患。这些漏洞并非边角问题, 而是结构性缺陷,随着 MCP 的流行度提升,它们只会成为更大的攻击目标。 安全基础不是可选项,而是实现 MCP 潜力的唯一道路。
因此,企业真正面对的不是“MCP能不能调用接口”,而是另一个更完整的问题:从工具被选中,到真实业务后果被安全地形成,中间还需要哪些责任?这些责任分别应该由谁承担? 一、MCP调用成功,和业务操作安全完成,是两个事件MCP已经解决了工具发现、结构化参数、调用协议、结果返回等重要问题。 官方安全实践也覆盖了最小权限、会话绑定、凭证保护、沙箱和逐次授权等问题。所以这里讨论的缺口,并不是因为“MCP没有安全设计”。 2.当前Agent场景应该看见哪些能力? MCP让工具互操作变得现实。从“工具被选中”到“业务后果被安全形成”,仍然是一项必须沿整条链路共同构造的端到端属性。
也有用户认为,MCP 已经起飞了,A2A 才开始追赶。 甚至有人厌倦了谷歌,认为 A2A 不会成功。 在 A2A 协议引发热议的同时,MCP 已经在企业级市场悄然生根。 与 A2A 侧重智能体间通信不同,MCP 解决的是更基础的问题:如何让 AI 模型安全高效地调用现实世界中的工具和服务。 4 隐私数据不能通过 MCP 提供 InfoQ:一旦碰到数据,就会存在隐私和安全问题。当 MCP 客户端在访问数据时,是如何实现字段级别的控制,以确保数据的安全性和隐私性的呢? 企业可以在用户通过单点登录(SSO)后,利用现有的权限模型来约束用户对 MCP 服务的访问,确保数据的安全使用。 对于企业来说,现在可以更快速地将内部的 SaaS 能力通过 MCP 的方式释放出来。 从生态角度来看,这可能是一个更加快速且更容易的过程。其次,MCP 目前还有一个比较重要的特点是安全可信问题。
LsSf https://astral.sh/uv/install.sh | sh # 验证安装 uv --version # 预期输出: uv 0.2.0 (2025-07更新) 2. Windows: .\.venv\Scripts\activate source .venv/bin/activate # Linux/macOS 2. 初始化项目 npm init -y # 安装TypeScript(推荐) npm install -D typescript @types/node 2. Claude Tools AI辅助开发 anthropic.claude-tools 2. 确保安装TypeScript npm install -D typescript # 2.