一项为期六个月、针对人工智能辅助开发工具的调查发现了超过三十个安全漏洞,这些漏洞允许数据外泄,并在某些情况下允许远程代码执行。根据《IDE灾难》研究报告中的描述,这些发现揭示了嵌入在诸如 Visual Studio CodeJetBrains 系列产品、Zed 以及众多商业助手等集成开发环境中的智能体如何能被操控以泄露敏感信息或执行攻击者控制的代码。

Cover Image

研究显示,100% 受测试的人工智能集成开发环境和编码助手都存在漏洞。受影响的产品包括 GitHub CopilotCursorWindsurfKiro.devZed.devRoo CodeJunieClineGemini CLIClaude Code,目前已至少分配了二十四个通用漏洞披露,并且收到了来自 AWS 的额外安全建议。

核心问题源于人工智能智能体与长期存在的集成开发环境功能之间的交互方式。这些编辑器最初设计时并未考虑到能够自主读取、编辑和生成文件的自动化组件。当人工智能助手获得了这些能力后,原本良性的功能就变成了攻击面。

安全研究员 阿里·马尔祖克(Ari Marzouk) 在接受《黑客新闻》(The Hacker News)采访时表示:“所有人工智能集成开发环境……实际上都忽略了其底层软件……在其威胁模型中。它们认为自己的功能本质上是安全的,因为它们已经存在多年。然而,一旦你添加了能够自主行动的人工智能智能体,同样的功能就可能被武器化,用于数据外泄和远程代码执行攻击。”

根据研究报告,这是一种与具体集成开发环境无关的攻击链,始于通过提示注入进行的上下文劫持。隐藏的指令可以被植入规则文件、自述文件、文件名或来自恶意模型上下文协议服务器的输出中。一旦智能体处理了该上下文,其工具就可能被引导执行合法操作,从而触发底层集成开发环境中的不安全行为。最后阶段会滥用内置功能,在共享该底层软件层的任何人工智能集成开发环境中提取数据或执行攻击者代码。

一个记录在案的例子涉及编写一个引用远程模式的 JSON 文件。集成开发环境会自动获取该模式,从而泄露智能体嵌入的参数,包括攻击链中先前收集的敏感数据。Visual Studio CodeJetBrains 系列集成开发环境和 Zed 都表现出了这种行为。即使是差异预览等开发者安全措施也无法阻止外发请求。

另一个案例研究展示了通过操纵集成开发环境设置实现完整的远程代码执行。通过编辑工作区中已有的可执行文件,然后修改诸如 php.validate.executablePath 之类的配置字段,攻击者可以在打开或创建相关文件类型时,立即导致集成开发环境运行任意代码。JetBrains 工具也通过工作区元数据暴露了类似的漏洞。

报告总结称,短期内这类漏洞无法根除,因为当前的集成开发环境并非基于研究人员所称的“面向人工智能的安全”原则构建。对于开发者和工具供应商而言,存在一些缓解措施,但长期的解决方案需要从根本上重新设计集成开发环境允许人工智能智能体在项目内部读取、写入和行动的方式。


文章标签: #人工智能 #安全漏洞 #开发工具 #数据泄露 #远程代码执行

负责编辑

  菠萝老师先生 

  让你的每一个瞬间都充满意义地生活,因为在生命的尽头,衡量的不是你活了多少年,而是你如何度过这些年。