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。您不必担心您的专有数据会在其他用户中显示给其他用户。

相关推荐
Wenweno0o20 小时前
0基础Go语言Eino框架智能体实战-chatModel
开发语言·后端·golang
逛逛GitHub20 小时前
面壁智能开源了支持音色设计、克隆、30语言+9 种方言的语音大模型
github
chenjingming66621 小时前
jmeter线程组设置以及串行和并行设置
java·开发语言·jmeter
小领航21 小时前
用 Three.js + Vue 3 打造炫酷的 3D 行政地图可视化组件
前端·github
李同学Lino21 小时前
别再让Agent瞎写屎山代码了!带你用Superpowers重塑Vibe Coding体验(附保姆级教程)
github
cch891821 小时前
Python主流框架全解析
开发语言·python
不爱吃炸鸡柳21 小时前
C++ STL list 超详细解析:从接口使用到模拟实现
开发语言·c++·list
十五年专注C++开发21 小时前
RTTR: 一款MIT 协议开源的 C++ 运行时反射库
开发语言·c++·反射
Momentary_SixthSense21 小时前
设计模式之工厂模式
java·开发语言·设计模式
为何创造硅基生物21 小时前
ESP32S3的RGB屏幕漂移问题
网络