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

相关推荐
80s77710 分钟前
独享住宅IP、长效代理ip是什么?有哪些作用?
网络·网络协议·tcp/ip
weixin_3831964717 分钟前
java基础面试题@Autowired和@Resource区别
java·开发语言
IPdodo_19 分钟前
静态 IP、住宅 IP 和固定出口有什么区别?开发场景选型指南
服务器·网络·网络协议·tcp/ip·代理ip
40岁资深老架构师尼恩1 小时前
工业级 AI问数 AST语法 + 知识图谱语义+ 质量规则 三层安全校验 架构设计与实现
人工智能·安全·知识图谱
_ZHOURUI_H_1 小时前
Unity TCP底层极限拆解:粘包、半包、CRC、序列号、双缓冲到底怎么一起工作的?
网络·网络协议·tcp/ip·游戏·unity·游戏引擎·游戏开发
言乐61 小时前
Python游戏水平测试辅助系统2
开发语言·windows·python·游戏·django
我不是疯子是傻子1 小时前
Qt 实时曲线卡顿优化:从QPainter到OpenGL的3级加速实战
开发语言·qt
zlinear数据采集卡1 小时前
D223 ADC数据处理流水线:从原始采样值到工程单位的完整转换链
开发语言·arm开发·嵌入式硬件·fpga开发·开源·c#
nnerddboy2 小时前
Rust教程04:引用、借用与切片
开发语言·后端·rust
数智大号2 小时前
从“芯“出发,筑牢文印安全防线——联想至像以全链路自主可控回应国家安全之问
arm开发·安全