微软Azure DevOps MCP漏洞,隐藏的PR评论可劫持AI审阅Agent
2026年7月,安全厂商ManifoldSecurity披露微软AzureDevOps官方MCP服务器存在严重混淆代理漏洞,攻击者只需在拉取请求描述中植入肉眼不可见的HTML隐藏注释,即可发起间接提示注入攻击,劫持CopilotCLI、ClaudeCode等AI评审代理,借高权限评审者账号跨项目窃取源码、密钥、内部文档,给企业DevSecOps研发流程带来新型AI安全威胁。

一、漏洞核心成因:单一接口缺失输入隔离防护
本次漏洞根源在于微软MCP服务器安全校验逻辑遗漏,平台针对Wiki页面、构建日志等模块部署了防护,通过专用函数隔离不可信文本,防止提示注入,但读取PR内容的repo_get_pull_request_by_id接口未复用该安全方法,直接返回原始未过滤PR描述文本。
PR描述支持Markdown内嵌HTML注释<!--恶意指令-->,网页端渲染完全隐藏,人工代码审查无法察觉,但MCP服务调用API会完整读取全部文本并交付AI代理。攻击者利用人机视觉差异,将窃取跨项目Wiki、执行流水线、回传机密数据的恶意指令藏在隐形注释内,AI代理会将隐藏文本判定为执行指令,携带评审者高权限Token完成越权操作。
PoC测试验证完整攻击链路:普通开发者提交带隐藏载荷PR,评审者启动AI自动评审后,代理自动跨项目运行流水线、读取攻击者无访问权限的保密Wiki,最终将敏感内容以评论形式回写至PR,攻击者直接窃取数据,全程无需用户二次确认。
二、漏洞实际危害:自动化研发场景风险成倍放大
该漏洞属于典型AI致命三重风险:代理持有高权限、可读取不可信用户内容、具备数据外发能力,危害覆盖全行业研发团队。
1、权限横向泄露。代码评审者通常拥有全项目读写权限,攻击者无需高权限账号,仅靠隐形文本就能借用权限访问私有源码、数据库密钥、财务工单。
2、隐蔽性极强。隐藏注释无界面特征,常规代码扫描、人工审核均无法识别,自动化流水线、无人值守AI评审场景会自动触发攻击,长期泄露数据难以溯源。
3、攻击可批量复用。漏洞不绑定单一AI工具,Copilot、Claude等主流代码代理全部受影响,且攻击者可批量生成带恶意注释的PR,批量渗透企业研发平台。
微软暂未分配CVE编号,截至7月21日最新v2.8.0版本未推送修复补丁,本地PAT部署与云端托管MCP服务均存在同等风险,目前仅实验室完成漏洞复现,暂未出现野外攻击案例。
三、企业研发团队分层防御方案
临时应急管控措施
1、限制AI代理自动执行权限,关闭无确认自动调用工具功能,每次跨项目流水线、Wiki读取操作强制人工弹窗审批。
2、扫描全仓库所有PR描述,检索HTML注释标签<!---->,清理未知隐藏文本载荷。
3、遵循最小权限原则,为AI代理分配独立受限Token,仅开放当前评审项目访问权限,禁止跨项目资源调用。
长期DevSecOps加固策略
1、限定MCP工具集,移除代码评审无关的流水线执行、Wiki读写、评论发布等高风险工具。
2、开启AI代理全量操作审计,重点监控跨项目资源访问、批量读取机密文档、自动新增PR评论等异常行为。
3、优化代码评审流程,使用自动化工具过滤PR内隐形HTML注释、零宽度特殊字符,再交付AI工具处理。
四、事件总结
AzureDevOpsMCP漏洞再次印证间接提示注入已成为研发AI代理核心威胁,安全防护存在木桶效应,单一接口遗漏校验即可击穿整套防御体系。随着自动化AI评审普及,依托代码仓库、工单、PR文本的隐形投毒攻击将持续增多。企业不能单纯依赖平台内置防护,需在代码提交、AI调用、权限管控全链路增设独立校验规则,补齐DevOps场景下AI安全短板,避免研发核心资产遭无声窃取。


闽公网安备 35021102000564号