编译:代码卫士

研究员 Air Marzouk (MaccariTA) 在各种由人工智能 (AI) 驱动的集成开发环境 (IDE) 中发现了30多个漏洞,它们将提示注入攻击手法与合法功能相结合,造成数据被盗和远程代码执行后果。

这30多个漏洞被统称为“IDEsaster”,受影响的IDE及其扩展插件包括Cursor、Windsurf、Kiro.dev、GitHub Copilot、Zed.dev、Roo Code、Junie和Cline等,其中24个漏洞已分配了CVE编号。

Marzouk 表示,“最令人惊讶的是,每个受测的AI IDE都存在多种通用攻击链。所有AI IDE(及与之集成的编程助手)实际上都忽略了威胁模型中基础软件 (IDE) 的风险,认为这些功能已存在多年因此本身是安全的。然而,一旦加入能够自动操作的AI智能体,同样的功能就可能被武器化,成为数据窃取和远程代码执行的攻击手段。

这些漏洞利用了AI驱动的 IDE 中常见的三种不同的攻击向量:

  • 绕过大型语言模型 (LLM) 的防护措施,劫持上下文以执行攻击者的指令(即提示注入攻击);

  • 通过AI智能体的自动批准工具调用,无需用户交互即可执行某些操作;

  • 触发IDE的合法功能,使攻击者能够突破安全边界,泄露敏感数据或执行任意命令。

此前已有攻击链利用提示注入结合漏洞工具(或滥用合法工具进行读写操作)来修改AI智能体的配置,从而实现代码执行或其它非预期行为。但本次披露的问题有所不同。

IDEsaster之所以值得关注,在于它利用提示注入的基本手法和智能体的工具,来激活IDE的合法功能,最终导致信息泄露或命令执行后果。上下文劫持可以通过多种方式实现,包括通过用户添加的上下文引用(例如粘贴的URL或包含肉眼不可见但可被LLM解析的隐藏字符的文本)来实现。此外,也可以通过工具投毒或恶意抽离的方式,利用模型上下文协议服务器污染上下文,或者当合法的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智能体被配置为自动批准文件写入。如攻击者拥有影响提示的能力,则可导致恶意的工作区设置被写入文件。鉴于此行为对于工作区内的文件默认是自动批准的,因此导致了无需任何用户交互或重新打开工作区即可实现任意代码执行。

鉴于提示注入和越狱是攻击链的第一步,Marzouk提出以下建议:

  • 仅将AI IDE(和AI智能体)用于受信任的项目和文件。恶意规则文件、隐藏在源代码或其它文件(如README)中的指令,甚至文件名,都可能成为提示注入的媒介。

  • 仅连接受信任的MCP服务器,并持续监控这些服务器的变化(即使是受信任的服务器也可能被入侵)。审查并了解MCP工具的数据流(例如,一个合法的MCP工具可能从攻击者控制的源,如GitHub PR,拉取信息)。

  • 手动审查添加的源(例如通过URL),检查是否存在隐藏指令(HTML注释/CSS隐藏文本/不可见Unicode字符等)。

建议AI智能体和AI IDE开发者对LLM工具应用最小权限原则;最小化提示注入向量;强化系统提示;使用沙箱运行命令;进行针对路径遍历、信息泄露和命令注入的安全测试。

此前不久,多项AI编码工具被指存在漏洞,且可能产生广泛影响:

  • OpenAI Codex CLI中存在命令注入漏洞:利用该程序隐式信任通过MCP服务器条目配置的命令,并在启动时未经用户许可即执行它们这一事实。当攻击者能够篡改仓库的`.env`和`./.codex/config.toml`文件时,可能导致任意命令执行。

  • Google Antigravity中存在间接提示注入漏洞:通过投毒的网页源,操纵Gemini从用户的IDE中收集凭证和敏感代码,并使用浏览器子代理浏览到恶意网站来外泄信息。

  • Google Antigravity中存在多个漏洞:可能导致通过间接提示注入实现数据泄露和远程命令执行,以及利用受信任的恶意工作区嵌入持久后门,在以后每次启动应用程序时执行任意代码。

  • 针对连接到存在漏洞的GitHub Actions(或GitLab CI/CD流水线)的AI智能体的新型漏洞PromptPwnd:通过提示注入欺骗它们执行内置的、具有高权限的工具,从而导致信息泄露或代码执行。

随着智能体化AI工具在企业环境中日益普及,这些发现揭示了AI工具如何扩展开发机器的攻击面。 攻击者通常利用LLM无法区分用户为完成任务提供的指令和其可能从外部源摄取的内容(而后者可能包含嵌入的恶意提示)这一特性。

Aikido公司的研究员Rein Daelman表示"任何使用AI进行问题分类、PR标记、代码建议或自动回复的仓库,都面临提示注入、命令注入、密钥泄露、仓库泄露和上游供应链泄露的风险。"

Marzouk 也表示,这些发现凸显了"面向AI的安全"原则的重要性。这是该研究员首创的一个新范式,旨在应对AI功能引入的安全挑战,从而确保产品不仅默认安全、设计安全,而且在构思时就考虑到AI组件可能随时间推移被滥用的方式。

"这是为什么需要"面向AI的安全"原则的又一个例证,"Marzouk提到,"将AI智能体连接到现有应用程序(在我的案例中是IDE,在他们的案例中是GitHub Actions)会产生新兴风险。"

原文链接

https://thehackernews.com/2025/12/researchers-uncover-30-flaws-in-ai.html

声明:本文来自代码卫士,版权归作者所有。文章内容仅代表作者独立观点,不代表安全内参立场,转载目的在于传递更多信息。如有侵权,请联系 anquanneican@163.com。