两个环境,两个攻击面
开发者AI的使用发生在两个不同的环境中,每个环境都有不同的数据流和不同的安全控制要求。
集成在IDE中的AI: Cursor IDE、GitHub Copilot、VS Code AI扩展和Claude Desktop提供的项目上下文直接在开发环境中提供AI辅助。代码、配置文件、环境变量和项目结构在此环境中对AI工具都是可访问的。AI模型接收并处理开发者粘贴的内容或AI客户端从项目上下文发送的内容。
基于浏览器的AI: Claude.ai、ChatGPT、Gemini和其他基于浏览器的AI接口通过网页浏览器访问。开发者通过浏览器文本输入粘贴代码片段、堆栈跟踪、错误消息和技术问题。提交直接发送到AI提供商的服务器,没有任何中间处理层。
这两个环境都将敏感的开发者数据暴露给AI提供商。这两个环境都需要安全控制。但每个环境的技术架构是不同的——只解决其中一个环境的组织仅保护了开发者工作流程的一部分。
IDE层:MCP服务器架构
对于使用Claude Desktop或Cursor IDE的开发者,模型上下文协议(MCP)提供了安全控制的架构层。
MCP在AI客户端(IDE或桌面应用程序)和AI模型API之间创建了一个结构化接口。MCP服务器位于此接口中,处理通过协议传输的所有数据,然后才到达AI模型。
出于安全目的,MCP服务器的位置允许:
凭证拦截: 在粘贴的代码或项目上下文中出现的API密钥、数据库连接字符串、身份验证令牌和内部服务URL会被检测并在传输前替换为令牌。AI模型接收到的是带有**[API_KEY_1]**的代码,而不是实际的密钥。
自定义实体检测: 组织可以配置专有标识符的检测模式——内部产品代码、客户账户号码格式、内部服务名称——这些是标准PII检测工具所不知道的。这些自定义模式在任何数据到达AI提供商之前应用于MCP服务器。
透明操作: 开发者使用Cursor或Claude Desktop的方式与之前完全相同。MCP服务器在AI客户端和API之间隐形操作。开发者获得相同的AI辅助;安全控制在不干扰工作流程的情况下运行。
GitHub Octoverse 2024记录了2024年3900万条秘密泄露——同比增长25%。导致GitHub凭证泄露的相同行为模式(意外将凭证包含在提交的代码中)也会导致IDE AI凭证泄露(意外将凭证包含在粘贴的上下文中)。MCP服务器凭证拦截解决了这一泄露的AI通道。
浏览器层:Chrome扩展架构
对于基于浏览器的AI使用——Claude.ai、ChatGPT、Gemini——Chrome扩展提供了浏览器级别的安全控制。
Chrome扩展在浏览器级别操作,在文本通过AI接口文本输入提交之前拦截文本。扩展检测开发者即将提交的文本中的敏感内容——名称、凭证、专有代码模式和其他配置的实体类型——并在内容到达AI提供商的服务器之前应用匿名化。
与在应用层操作的MCP服务器不同,Chrome扩展在浏览器层操作。这一区别对覆盖范围很重要:
MCP服务器覆盖: 通过Claude Desktop或Cursor IDE的所有AI交互——代码审查、调试、项目上下文查询和任何其他集成在IDE中的AI使用。
Chrome扩展覆盖: 所有基于浏览器的AI交互——Claude.ai、ChatGPT、Gemini、Perplexity以及通过浏览器访问的任何其他AI接口。这包括开发者使用基于浏览器的AI进行技术参考、文档草拟和他们不希望通过IDE路由的问题。
组合覆盖
部署这两个层的开发者团队实现了对完整开发者AI工作流程的覆盖:
- 开发者使用Cursor与Claude集成调试生产问题→MCP服务器在Claude处理之前拦截堆栈跟踪中的凭证
- 同一开发者在浏览器中切换到Claude.ai进行一般架构问题,意外包含内部服务URL→Chrome扩展在提交之前拦截该URL
- 开发者的同事在浏览器中使用ChatGPT进行文档帮助,粘贴包含API密钥的代码片段→Chrome扩展拦截API密钥
没有任何渠道将凭证或敏感代码暴露给AI提供商。两个开发者都可以合法地使用AI工具提高生产力。安全团队在两个渠道上都有技术控制,而不是依赖于政策合规。
CVE-2024-59944披露——通过错误配置的云存储在开发者AI工具中导致的关键PII外泄漏洞——代表了更广泛模式的一个记录实例:没有拦截层的开发者AI工具是一个系统性泄露向量。双层架构是系统性响应。
来源: