研究人员发现 30 余个 AI 编程工具漏洞,可导致数据窃取与远程代码执行
HackerNews 编译,转载请注明出处: 研究人员披露了多款 AI 驱动的集成开发环境中存在的 30 余个安全漏洞。这些漏洞通过将提示注入技术与工具合法功能相结合,可实现数据窃取与远程代码执行攻击。 安全研究员阿里・马尔祖克(化名 MaccariTA)将这些漏洞统称为 “IDEsaster”。受影响的主流 IDE 及插件包括 Cursor、Windsurf、Kiro.dev、GitHub Copilot、Zed.dev、Roo Code、Junie 和 Cline 等,其中 24 个漏洞已分配 CVE 编号。 马尔祖克表示表示:“所有接受测试的 AI IDE 都受到了多个通用攻击链的影响,这是本次研究中最令人意外的发现。” “所有 AI IDE(及集成的代码助手)在其威胁模型中都忽略了基础软件本身。它们认为这些长期存在的功能本质上是安全的,但一旦加入能够自主行动的 AI 代理,这些功能就可能被武器化,成为数据窃取和远程代码执行的攻击载体。” 这些漏洞的核心攻击链路包含 AI 驱动 IDE 共有的三个向量: 绕过大型语言模型(LLM)的安全防护机制,劫持上下文并执行攻击者指令(即提示注入); 通过 AI 代理的自动批准工具调用,在无需用户交互的情况下执行特定操作; 触发 IDE 的合法功能,突破安全边界以泄露敏感数据或执行任意命令。 此类漏洞与以往的攻击链不同,以往多是利用提示注入结合存在漏洞的工具(或滥用合法工具执行读写操作),修改 AI 代理配置以实现代码执行等非预期行为。 而 IDEsaster 的显著特点是,借助提示注入技术和代理工具,激活 IDE 的合法功能,最终达成信息泄露或命令执行目的。 上下文劫持的实现方式多样: 利用用户添加的上下文引用,比如包含隐藏字符的粘贴链接或文本,这些字符对人眼不可见,但可被 LLM 解析; 通过模型上下文协议(MCP)服务器,借助工具投毒、“地毯式攻击”(rug pulls)实施上下文污染; 当合法 MCP 服务器解析来自外部的攻击者可控输入时,也可能引发上下文污染。 该攻击链可实现的典型攻击场景如下: CVE-2025-49150(Cursor)、CVE-2025-53097(Roo Code)、CVE-2025-58335(JetBrains Junie)、GitHub Copilot(未分配 CVE)、Kiro.dev(未分配 CVE)及 Claude Code(已通过安全警告修复):通过提示注入,利用合法工具(“read_file”)或存在漏洞的工具(“search_files”“search_project”)读取敏感文件,再通过合法工具(“write_file”“edit_file”)写入包含远程 JSON 模式的 JSON 文件(该模式托管于攻击者控制的域名),当 IDE 发起 GET 请求时,数据会被泄露; CVE-2025-53773(GitHub Copilot)、CVE-2025-54130(Cursor)、CVE-2025-53536(Roo Code)、CVE-2025-55012(Zed.dev)及 Claude Code(已通过安全警告修复):通过提示注入编辑 IDE 配置文件(“.vscode/settings.json” 或 “.idea/workspace.xml”),将 “php.validate.executablePath” 或 “PATH_TO_GIT” 设置为包含恶意代码的可执行文件路径,实现代码执行; CVE-2025-64660(GitHub Copilot)、CVE-2025-61590(Cursor)及 CVE-2025-58372(Roo Code):通过提示注入编辑工作区配置文件(*.code-workspace),覆盖多根工作区设置,达成代码执行。 值得注意的是,后两种攻击场景依赖于 AI 代理的文件写入自动批准配置 —— 这使得攻击者能够通过操控提示,写入恶意工作区设置。而默认情况下,工作区内文件的写入操作会自动获批,因此无需用户交互或重新打开工作区,即可实现任意代码执行。 提示注入和 “越狱” 是该攻击链的第一步,马尔祖克对此提出以下建议: 仅在可信项目和文件中使用 AI IDE(及 AI 代理)。恶意规则文件、隐藏在源代码或其他文件(如 README)中的指令,甚至文件名,都可能成为提示注入载体; 仅连接可信的 MCP 服务器,并持续监控这些服务器的变化(即使是可信服务器也可能被入侵)。充分了解 MCP 工具的数据流(例如,合法 MCP 工具可能从攻击者控制的来源获取信息,如 GitHub 拉取请求); 手动审查添加的来源(如通过 URL),排查隐藏指令(HTML 注释、CSS 隐藏文本、不可见 Unicode 字符等); 建议 AI 代理和 AI IDE 开发者为 LLM 工具应用最小权限原则,减少提示注入载体,强化系统提示,使用沙箱环境运行命令,并针对路径遍历、信息泄露和命令注入进行安全测试。 此次漏洞披露之际,研究人员还发现了 AI 编程工具中的其他多个漏洞,影响广泛: OpenAI Codex CLI 存在命令注入漏洞(CVE-2025-61260):该程序默认信任通过 MCP 服务器条目配置的命令,并在启动时无需用户许可即可执行。攻击者若能篡改代码仓库的 “.env” 和 “./.codex/config.toml” 文件,可实现任意命令执行; Google Antigravity 存在间接提示注入漏洞:通过投毒网络来源操控 Gemini 模型,从用户 IDE 中窃取凭证和敏感代码,并利用浏览器子代理访问恶意网站以泄露信息; Google Antigravity 存在多个漏洞:可通过间接提示注入实现数据窃取和远程命令执行,还能利用恶意可信工作区植入持久化后门,使应用未来每次启动时都执行任意代码; 新型漏洞 “PromptPwnd”:针对连接到存在漏洞的 GitHub Actions(或 GitLab CI/CD 流水线)的 AI 代理,通过提示注入诱使其执行内置特权工具,导致信息泄露或代码执行。 随着智能代理 AI 工具在企业环境中日益普及,这些发现表明,AI 工具显著扩大了开发设备的攻击面 —— 核心原因在于 LLM 无法区分用户完成任务的指令与外部来源的输入,而这些外部输入可能包含嵌入的恶意提示。 Aikido 研究员赖因・戴尔曼表示:“任何使用 AI 进行问题分类、拉取请求标记、代码建议或自动回复的代码仓库,都面临提示注入、命令注入、密钥泄露、仓库被入侵及上游供应链受损的风险。” 马尔祖克还指出,这些发现凸显了 “AI 安全适配”原则的重要性。这一由他提出的新范式,旨在应对 AI 功能带来的安全挑战,确保产品不仅默认安全、设计安全,还能充分考虑 AI 组件可能被长期滥用的风险。 “这再次证明了‘AI 安全适配’原则的必要性,” 马尔祖克说,“将 AI 代理与现有应用相结合,会产生新的潜在风险。” 消息来源:thehackernews; 本文由 HackerNews.cc 翻译整理,封面来源于网络; 转载请注明“转自 HackerNews.cc”并附上原文