GitHub上的15000个Go模块存储库易受劫持攻击

内容概要:

目前研究发现,GitHub上超过15000个Go模块存储库容易受到一种名为"重新劫持"的攻击。

由于GitHub用户名的更改会造成9000多个存储库容易被重新劫持,同时因为帐户删除,会对6000多个存储库造成重新劫持的危机。目前统计而言,这些存储库的Go模块版本不少于800000个。

重复劫持是"存储库"和"劫持"的组合,是一种攻击技术,它允许不良行为者利用帐户用户名的更改和删除来创建具有相同名称和预先存在的用户名的存储库,从而发动开源软件供应链攻击。

用Go编程语言编写的模块特别容易被重新封装,因为与npm或PyPI等其他包管理器解决方案不同,它们是去中心化的,因为它们被发布到GitHub或Bitbucket等版本控制平台。

任何人都可以指示Go模块镜像和pkg.Go.dev缓存模块的详细信息。攻击者可以注册新使用的用户名,复制模块存储库,并将新模块发布到proxy.golang.org和go.pkg.dev。

为了防止开发人员撤下潜在的不安全包,GitHub制定了一种称为流行存储库命名空间退役的对策,该对策阻止使用退役命名空间的名称创建存储库的尝试,这些名称在所有者的帐户被重命名或删除之前已被克隆了100多次。

但这种保护对Go模块没有帮助,因为它们是由模块镜像缓存的,因此无需与存储库交互或克隆存储库。换句话说,可能有一些流行的基于Go的模块被克隆了不到100次,导致了某种程度的绕过。

研判认为:

我方应高度重视,我国使用github网站用户高达755万人,位居全球第二。那么面对此类危害我方建议相关组织通过以下方式进行减少可能出现的危害:

一、用户隔离。Copilot仅使用当前用户的M365用户的数据。人工智能工具不会显示用户可能是访客的其他用户的数据,也不会显示任何可能设置跨用户同步的用户的数据。

二、训练界限。Copilot不使用您的任何业务数据来训练Copilot为所有用户使用的基础LLM。您不必担心您的专有数据会在其他用户中显示给其他用户。

相关推荐
苏格拉真没有底1 分钟前
python实现mqtt消息转Tcp消息
网络·python·tcp/ip
dxaiofcu5 分钟前
双网卡电脑,IP地址漂移
linux·服务器·网络
-凌凌漆-5 分钟前
【C#】async与await介绍
开发语言·c#
小猿_0016 分钟前
C语言单链表头插法
c语言·开发语言
Hello.Reader25 分钟前
在 Rust 中实现面向对象的状态模式
开发语言·rust·状态模式
JouJz28 分钟前
Java虚拟机之垃圾收集(一)
java·开发语言·jvm
uhakadotcom32 分钟前
OpenHands:AI 驱动的软件开发框架
后端·面试·github
uhakadotcom1 小时前
FinGPT:金融领域的开源语言模型框架
后端·面试·github
Codingwiz_Joy1 小时前
Day04 模拟原生开发app过程 Androidstudio+逍遥模拟器
android·安全·web安全·安全性测试
五行星辰1 小时前
Java链接redis
java·开发语言·redis