RepoJacking攻击影响数百万GitHub库

admin 2023年6月26日13:11:38评论100 views字数 1227阅读4分5秒阅读模式

RepoJacking攻击影响数百万GitHub库

RepoJacking攻击影响数百万GitHub库。

数百万GitHub库受到依赖库劫持攻击"RepoJacking"的影响,可以帮助攻击者首先供应链攻击,影响数百万用户。

RepoJacking攻击影响数百万GitHub库

RepoJacking攻击

GitHub上用户名和库名是经常变化的。如果企业被受到或合并,名字就会发生变化。名字发生变化后,就会创建重定向来避免破坏项目依赖。但如果有用户注册了原来的用户名或库名,重定向就无效了。

RepoJacking攻击影响数百万GitHub库

RepoJacking攻击是指恶意用户注册一个GitHub用户名,并创建一个该组织过去使用的库,然后修改其名。通过RepoJacking攻击,攻击者可以依赖被攻击项目的依赖来从攻击者控制的库中取回依赖和代码,其中可能包含恶意软件。

RepoJacking攻击影响数百万GitHub库

攻击案例

AquaSec安全研究团队Nautilus分析了125万GitHub库,发现其中2.95%可能受到RepoJacking攻击的影响。GitHub库总数超过3亿,按照2.95%的比例,超过900万项目受到该攻击的影响。

在Google的库例子中,"Mathsteps"项目指向属于Socratic的GitHub库。Socratic是谷歌收购的一家公司。攻击者可以克隆库来破坏重定向,用户根据readme文件指示会从恶意库中下载恶意代码。由于readme文件中包含npm install 依赖命令,攻击者的代码可以在受害者设备上实现任意代码执行。

RepoJacking攻击影响数百万GitHub库

图 谷歌 readme文件中的命令

Lyft的例子中,攻击者可以自动执行。研究人员在该公司的库中发现一个安装脚本,可以从另一个库中取回一个zip压缩文件,因此也受到RepoJacking攻击的影响。

攻击者首先注册一个新的用户名和使用正确名的库(YesGraph和Dominus),然后可以注入代码到任意执行Lyft的"install.sh"脚本。

RepoJacking攻击影响数百万GitHub库

图 指向外部库的Lyft脚本

RepoJacking攻击影响数百万GitHub库

总结

GitHub已经意识到RepoJacking攻击的可能性并实现了一些防护措施。但AquaSec称这些防护措施还不够充分,易被绕过。比如,GitHub只对那些比较流行的项目进行保护。GitHub会对克隆数超过100的项目修改名时进行保护。

RepoJacking的风险是非常广泛的,也难以修复,会对企业和用户带来严重的风险。项目所有者应当尽可能最小化从外部库提取资源。

完整技术细节参见:https://blog.aquasec.com/github-dataset-research-reveals-millions-potentially-vulnerable-to-repojacking

参考及来源:https://www.bleepingcomputer.com/news/security/millions-of-github-repos-likely-vulnerable-to-repojacking-researchers-say/

RepoJacking攻击影响数百万GitHub库

RepoJacking攻击影响数百万GitHub库

原文始发于微信公众号(嘶吼专业版):RepoJacking攻击影响数百万GitHub库

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2023年6月26日13:11:38
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   RepoJacking攻击影响数百万GitHub库http://cn-sec.com/archives/1834939.html

发表评论

匿名网友 填写信息