导语
一个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,所有拉取代码的开发者都会中招。
五、应急处置与长效防护
临时应急措施
-
立即升级IDE到最新安全版本;
-
在设置中开启"工作区信任"模式,禁止不受信任的工作区自动执行任务;
-
关闭"文件夹打开时自动运行任务"选项。
开发者安全习惯
-
绝不直接打开来源不明的项目压缩包或仓库;
-
打开外部项目前,先检查.vscode目录下的配置文件;
-
重要开发环境使用隔离虚拟机或沙箱。
企业级防护
-
统一管控IDE安全策略,强制开启工作区信任;
-
内部代码仓库增加配置文件安全扫描;
-
终端EDR监控IDE进程的异常子进程创建行为。
结语
开发工具正在成为网络攻击的新靶场。开发者手握代码、密钥、服务器权限,是企业安全链上价值最高的环节。未来针对IDE、编辑器、开发工具链的攻击只会越来越多,开发者安全意识与工具安全模型都需要同步升级。
浙公网安备 33010602011771号