高危漏洞曝光!GitHub网页版VS Code易被窃取私有仓库Tokens
作者: CBISMB
责任编辑: 曹新玲
来源: CBISMB
时间: 2026-06-03 11:20
关键字: VS Code漏洞 ,github.dev ,Webview ,代码安全
浏览: 0
点赞: 0
收藏: 0
近日,安全研究人员公开披露了一则高危安全漏洞,波及 GitHub 网页版 VS Code(github.dev)。攻击者只需诱导用户点击恶意链接,即可利用漏洞窃取用户 GitHub 授权令牌,非法获取私有仓库访问权限,对开发者代码数据安全构成严重威胁。
据公开研究信息显示,该安全隐患核心源于网页版 VS Code 的 Webview 沙箱机制设计缺陷。Webview 模块原本用于隔离 Jupyter Notebook、Markdown 预览等第三方内容,通过沙箱机制规避恶意代码风险。为保障各类预览页面支持快捷键操作,VS Code 会将 Webview 内的键盘事件同步转发至主编辑器窗口处理。
安全研究员 Ammar Askar 发现,Webview 内的 JavaScript 代码可伪造合法键盘事件,且主编辑器窗口无法甄别事件真伪,会默认按照用户真实操作执行。基于这一缺陷,研究人员成功搭建了完整的攻击验证链路,实现全程无感的权限窃取攻击。
完整攻击流程依托恶意 Jupyter Notebook 文件与工作区扩展实现。当用户点击并打开恶意链接后,内嵌脚本将自动监听 VS Code 扩展安装弹窗,通过伪造键盘快捷键,静默确认安装恶意本地工作区扩展。
借助 VS Code 对本地工作区扩展的默认信任规则,恶意扩展可自主注册自定义快捷键,并触发第二款恶意扩展的静默安装。最终,恶意程序可读取当前会话的 GitHub OAuth 授权令牌,调用官方 API 遍历、获取用户所有私有仓库信息,全程自动化执行,耗时不足30秒,用户几乎无法察觉异常。
经测试,该漏洞同样影响桌面版 VS Code,但攻击门槛相对更高。桌面端需要提前诱导用户克隆恶意仓库并打开恶意 Notebook 文件才可触发攻击。同时研究人员警示,若桌面版 VS Code Webview 叠加其他跨站脚本漏洞,或将引发远程代码执行等更高风险的攻击行为。
值得关注的是,本次漏洞属于未经过厂商协调披露的公开漏洞。研究人员解释了直接公开细节的原因:此前多次向微软上报 VS Code 相关安全漏洞,均被厂商静默修复,未给予公开致谢与漏洞奖励,且被判定为无重大安全影响。除此之外,业内其他研究员上报的 VS Code 内置 Git 命令注入、Jupyter 扩展 XSS 等漏洞,也均未纳入官方漏洞奖励体系。
针对该高危漏洞,研究人员给出明确的用户防护方案。普通用户可手动清理浏览器中 github.dev 的本地站点缓存数据,清除后再次访问网页版 VS Code 将自动触发重新登录,可有效阻断残留令牌被窃取的风险。
若用户曾不慎打开、运行过相关恶意验证代码,需及时进入 github.dev 后台,手动卸载陌生的第三方自定义扩展,彻底消除安全隐患。
截至目前,微软官方尚未针对该漏洞发布安全公告、修复补丁及风险警示,广大开发者需提高警惕,谨慎点击陌生链接,规避私有代码数据泄露风险。