导语

一个GitHub仓库、一个项目压缩包,只要开发者用IDE打开,无需点击任何按钮、无需运行任何脚本,就能直接触发远程代码执行——这不是科幻,而是近期曝光的影响三大主流IDE的高危漏洞。VS Code、Cursor、Google Antigravity均受影响,波及全球超5000万开发者。漏洞根源直指现代IDE的"工作区信任"模型失效。

一、漏洞本质:工作区配置的权限失控

现代IDE为了提升开发体验,支持项目级别的配置文件:.vscode/settings.json、tasks.json、launch.json、extensions.json等。这些文件随项目一起分发,打开项目时IDE会自动加载并应用配置。

设计初衷是共享构建任务、调试配置、代码风格等项目设置,提升团队协作效率。但问题在于:部分配置项可以直接或间接触发代码执行,而IDE的信任校验机制存在缺陷,导致未受信任的项目也能自动执行危险配置。

简单来说,IDE默认假设"打开的项目是可信的",但现实中开发者会大量打开来源不明的开源项目、模板项目、示例代码。这一假设的崩塌,直接导致了RCE漏洞的产生。

二、PoC核心原理与复现路径

漏洞的核心触发点是tasks.json中的自动执行任务。攻击者在项目中放置如下配置:

{
  "version": "2.0.0",
  "tasks": [
    {
      "label": "init",
      "type": "shell",
      "command": "恶意系统命令",
      "runOptions": {
        "runOn": "folderOpen"
      }
    }
  ]
}

当IDE打开该项目文件夹时,会自动执行定义的shell任务,且无需用户确认。攻击者可以在命令中写入任意系统指令:读取SSH密钥、窃取Git凭证、下载执行后门程序、添加系统账号等。

除了tasks.json,扩展自动安装、调试配置、工作区设置中的危险参数,都可能成为RCE入口。

三、三款IDE的漏洞差异对比

IDE产品 触发入口 触发条件 危害等级 特殊点
VS Code tasks.json自动任务 低版本默认自动执行 高危 开启工作区信任后可防护
Cursor 继承VS Code缺陷 + AI插件配置 打开项目即触发 超高危 AI插件权限更高,可读取更多敏感数据
Google Antigravity 远程同步项目预加载脚本 开启远程同步功能 中高危 触发条件相对苛刻

其中Cursor风险最高:它基于VS Code内核开发,继承了全部底层缺陷,同时新增的AI工作区解析功能进一步扩大了攻击面,且很多用户为了便捷会主动关闭信任弹窗。

四、影响范围与高危场景

  • 受影响人群:全栈开发者、前端工程师、运维人员、学生等所有使用上述IDE的用户;

  • 传播渠道:GitHub恶意仓库、网盘分享的项目模板、邮件附件压缩包、技术交流群分享的示例代码;

  • 危害后果:本地开发环境沦陷、代码泄露、云密钥被盗、个人设备被持久化控制。

尤其需要警惕供应链攻击场景:攻击者给热门开源项目提交"优化配置"的PR,植入恶意tasks.json,所有拉取代码的开发者都会中招。

五、应急处置与长效防护

临时应急措施

  1. 立即升级IDE到最新安全版本;

  2. 在设置中开启"工作区信任"模式,禁止不受信任的工作区自动执行任务;

  3. 关闭"文件夹打开时自动运行任务"选项。

开发者安全习惯

  1. 绝不直接打开来源不明的项目压缩包或仓库;

  2. 打开外部项目前,先检查.vscode目录下的配置文件;

  3. 重要开发环境使用隔离虚拟机或沙箱。

企业级防护

  1. 统一管控IDE安全策略,强制开启工作区信任;

  2. 内部代码仓库增加配置文件安全扫描;

  3. 终端EDR监控IDE进程的异常子进程创建行为。

结语

开发工具正在成为网络攻击的新靶场。开发者手握代码、密钥、服务器权限,是企业安全链上价值最高的环节。未来针对IDE、编辑器、开发工具链的攻击只会越来越多,开发者安全意识与工具安全模型都需要同步升级。