千家信息网

如何攻入微软VS Code的Github仓库

发表于:2025-11-08 作者:千家信息网编辑
千家信息网最后更新 2025年11月08日,这篇文章将为大家详细讲解有关如何攻入微软VS Code的Github仓库,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。概述就在这个月,一位安全研究人员
千家信息网最后更新 2025年11月08日如何攻入微软VS Code的Github仓库

这篇文章将为大家详细讲解有关如何攻入微软VS Code的Github仓库,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。

概述

就在这个月,一位安全研究人员披露了他是如何渗透进微软Visual Studio Code的官方GitHub存储库的。

据了解,微软Visual Studio Code的问题管理功能中存在一个安全漏洞,并且缺少了相应的身份验证检测机制,这将允许研究人员以及网络攻击者能够获取到推送访问,并将其写入到代码库中。

由于这名研究人员负责任地将该漏洞的详细信息上报给了微软的开发团队,这名研究人员也获取到了一笔具体金额不详的漏洞奖金。

存在安全问题的正则表达式,没有身份验证,CI脚本中的代码注入!

据悉,安全研究人员RyotaK当时在乘坐火车的过程中意外发现了微软Visual Studio Code的持续集成(CI)脚本中存在一个漏洞,该漏洞导致他能够渗透进微软Visual Studio Code的官方GitHub存储库并向其提交文件。

RyotaK在接受BleepingComputer的采访时表示:"我当时在火车上实在是太无聊了,所以我打算读一下微软Visual Studio Code的源代码。过了一会儿,我发现VS Code中有一个单独的针对CI的脚本存储库,该代码库名为【vscode-github-triage-actions】。"

很快,这名安全研究人员就发现了该脚本中有一行非常有意思的代码,可以利用它来实现代码注入攻击:

exec(`git -C ./repo merge-base --is-ancestor ${commit} ${release}`, (err) => {

RyotaK还说到:"当然了,这是一个命令注入漏洞。但是该漏洞的利用要求我们获取到'commit'变量或'release'变量的控制权。"

研究人员RyotaK很快便意识到,由于以下两个原因,攻击者很可能能够控制commit变量:

  • closedWith命令中缺乏有效的身份验证机制;

  • 用于验证closedWith命令(在结束注释中指定)的正则表达式存在安全问题;

closedWith命令可以用来在commit关闭之前将commit哈希与问题进行关联。

但是,这里使用了存在安全问题的正则表达式来验证关闭的评论,而且CI脚本中没有任何的身份验证机制,任何用户都可以将commit与一个问题继续宁关联,并在closedWith值中注入代码。具体如下所示:

const closingHashComment = /(?:\\|\/)closedWith (\S*)/

由于Visual Studio Code存在安全问题的CI工作流每天会执行一次,那么在午夜时分,研究人员就可以预先植入一份PoC漏洞利用代码,这样也可以避免在夜间犯任何危险的错误。

为此,研究人员浏览了该项目的GitHub Actions代码文件,以了解持续集成和持续交付(CI/CD)工作流。

研究人员告诉BleepingComputer称:"幸运的是,GitHub Actions的工作流文件是在GitHub上发布的,因此我对GitHub Actions的内部情况还是能够有所了解的。由于actions/checkout是在使用易受攻击的工作流文件之前执行的,因此我们能够获取到对代码库具有写入权限的GitHub令牌,随后我们还将使用到这个令牌。"

通过将我们的PoC漏洞利用代码注入到Visual Studio Code的CI脚本中(该脚本在午夜前后运行),研究人员成功拿到了一个反向Shell。

除此之外,研究人员还拿到了Visual Studio Code代码库的GitHub授权令牌,这个令牌将允许研究人员获取到针对该代码库的写入权限。

最后,在拿到令牌之后,研究人员向代码库发布了一个PoC commit:

研究人员表示,虽然这个代码库的主分支具有基于帐户的分支保护,但GitHub Actions令牌无法绕过这些保护,不过可以使用该令牌将文件推送到发布分支。

值得注意的是,RyotaK在遵守了微软的漏洞奖励计划提交漏洞的同时,也按照微软的"Safe Harbor"准则执行了这一次的PoC攻击。

研究人员RyotaK在其发布的报告中写到:"Microsoft允许通过"Safe Harbor"来诊断和调测漏洞。

这个代码库中的安全问题将有可能被应用到软件供应链攻击中

这种类型的安全漏洞将允许攻击者入侵其他安全的软件代码库,从而为更加复杂的软件供应链攻击奠定基础。

毫无疑问,SolarWinds供应链攻击已经成为了安全界的新闻头条。在有针对性的供应链攻击中,针对源代码编辑器和IDE的攻击可能会对其用户、开发人员以及接收使用问题IDE构建的应用程序的客户端造成毁灭性的后果。

关于如何攻入微软VS Code的Github仓库就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。

人员 代码 研究人员 研究 漏洞 安全 攻击 微软 问题 令牌 脚本 验证 文件 供应链 命令 工作流 身份 供应 工作 分支 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 数据库读写冲突怎么解决 昆山优润软件开发有限公司 苏州工业软件开发价格 拨打电话号码显示服务器错误 中小企业内部信息共享平台数据库 信息网络安全的不足之处 vue移动端本地数据库 英语不会写网络技术有用吗 幼儿网络安全作品 软件开发周期的概要设计阶段 关于电信网络安全知识 连云港大容量服务器服务商 完整软件开发项目管理制度 立购网络技术有限公司 二年级的关于网络安全的演讲 有软件开发经验找什么工作 速成建站和买服务器 三样式数据库 欧盟关税数据库如何使用 服务器 i o 数据库技术发展阶段有哪些 大学生网上订餐系统软件开发计划 第一次开服务器视频教程 网络安全系统有几个 软件开发移民加拿大 农安网络技术咨询什么价格 创魔服务器维护完后要干嘛 maven镜像服务器地址 mc1 17怎么加服务器 进口服务器机箱价格
0