2 [GitHub遭遇严重供应链投毒攻击]

news2025/2/4 2:52:28

近日,有黑客针对 Discord Top.gg 的GitHub 账户发起了供应链攻击,此次攻击导致账户密码、凭证和其他敏感信息被盗,同时也影响到了大量开发人员。

Checkmarx 在一份技术报告中提到,黑客在这次攻击中使用了多种TTP,其中包括窃取浏览器cookie接管账户、通过验证提交恶意代码、建立自定义Python镜像,以及向PyPI注册表发布恶意软件包等。

Checkmarx 指出,黑客对该平台频繁发起攻击的主要目的很可能是窃取数据并通过出售窃取的信息实现盈利。

劫持 top.gg 账户

事实上,这些年黑客一直在使用各种战术发起攻击,包括劫持 GitHub 账户、分发恶意 Python 软件包、使用伪造的 Python 基础架构和社交工程等等。

根据研究人员的调查,黑客的攻击活动最早被发现于 2022 年 11 月,当时他们在 Python 软件包索引(PyPI)上首次上传了恶意软件包。随后的几年时间里,有越来越多的携带恶意软件的软件包被上传到了 PyPI。

这些软件包类似于流行的开源工具,其包装的十分“诱人”的描述使它们更有可能在搜索引擎结果中排名靠前。最近的一次上传是今年 3 月名为 "yocolor "的软件包。

1711419644_660230fc7fd020f5c5544.png!small

活动中使用的软件包(图源:Checkmarx)

2024 年初,攻击者在 "files[.]pypihosted[.]org "建立了一个虚假的 Python 软件包,PyPI 软件包的原型文件就存放在 "files.pythonhosted.org"。

这个虚假软件包被用来托管中毒版本的合法软件包,例如流行的 "colorama "软件包的篡改版本,目的是诱骗用户和开发系统使用这个恶意源。

上传到 PyPI 的恶意软件包是入侵系统的初始载体,一旦用户系统被入侵,或者攻击者劫持了有权限的 GitHub 账户,他们就会修改项目文件以指向虚假软件包托管的依赖项。

Checkmarx 提到,近日攻击者入侵了 top.gg 维护者 "editor-syntax "的账户,该账户在平台的 GitHub 资源库中拥有大量写入访问权限。

hacked.png

Discord 上关于被黑账户的讨论 (图源:Checkmarx)

攻击者使用该账户对 Top.gg 的 python-sdk 版本库进行恶意提交,如添加对中毒版本 "colorama "的依赖,并存储其他恶意版本库,以提高其知名度和可信度。

commit.png

恶意提交修改 requirements.txt 文件 (图源:Checkmarx)

一旦恶意 Python 代码被执行,它就会启动下一阶段,从远程服务器下载一个小型加载器或滴注脚本,以加密形式获取最终有效载荷。

恶意软件通过修改 Windows 注册表,在重启之间在被入侵机器上建立持久性。

registry.png

修改注册表以获得持久性(图源:Checkmarx)

该恶意软件的数据窃取功能可归纳为以下几点:

  • 针对 Opera、Chrome、Brave、Vivaldi、Yandex 和 Edge 中的浏览器数据,以窃取 cookie、自动填充、浏览历史记录、书签、信用卡详细信息和登录凭据。
  • 搜索与 Discord 相关的目录以解密和窃取 Discord 令牌,从而可能获得对帐户的未经授权的访问。
  • 通过搜索 ZIP 格式的钱包文件并将其上传到攻击者的服务器,从各种加密货币钱包中窃取。
  • 试图窃取 Telegram 会话数据以未经授权访问帐户和通信。
  • 包括一个文件窃取程序组件,根据特定关键字针对桌面、下载、文档和最近打开的文件上的文件。
  • 利用被盗的 Instagram 会话令牌通过 Instagram API 检索帐户详细信息。
  • 捕获击键并保存它们,可能会暴露密码和敏感信息。此数据将上传到攻击者的服务器。
  • 利用匿名文件共享服务(例如 GoFile、Anonfiles)和具有唯一标识符(硬件 ID、IP 地址)的 HTTP 请求等方法来跟踪被盗数据并将其上传到攻击者的服务器。

diagram.png

攻击概述(图源:Checkmarx)

据 Checkmarx 研究人员称,尽管有这些复杂的策略,但一些警惕的 Top.gg 社区成员注意到了恶意活动并报告了它,这导致 Cloudflare 删除了滥用的域名。

虽然受此影响的用户数量目前尚不清楚,但 Checkmarx 的报告强调了开源供应链的风险以及开发人员检查其构建模块安全性的重要性。

研究人员认为,IT 安全专业人员应定期监控和审核新代码项目,企业应定期对开发人员开展供应链攻击风险的教育和意识培训。

除了此次“投毒”事件外,最近还出现了其他软件供应链安全问题,比如 3 月早些时候有供应商对以色列大学发起了供应链攻击,以及 JetBrains TeamCity 软件开发平台管理器云版本受到攻击,还有去年 9 月份数百个 GitHub 存储库被黑客入侵。 可见机器学习模型的存储库(如 Hugging Face)为威胁行为者提供了将恶意代码注入开发环境的机会,类似于开源存储库 npm 和 PyPI。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2291566.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

C++游戏开发实战:从引擎架构到物理碰撞

📝个人主页🌹:一ge科研小菜鸡-CSDN博客 🌹🌹期待您的关注 🌹🌹 1. 引言 C 是游戏开发中最受欢迎的编程语言之一,因其高性能、低延迟和强大的底层控制能力,被广泛用于游戏…

代码讲解系列-CV(一)——CV基础框架

文章目录 一、环境配置IDE选择一套完整复现安装自定义cuda算子 二、Linux基础文件和目录操作查看显卡状态压缩和解压 三、常用工具和pipeline远程文件工具版本管理代码辅助工具 随手记录下一个晚课 一、环境配置 pytorch是AI框架用的很多,或者 其他是国内的框架 an…

P_all: 投影矩阵(Projection Matrix)

P_all 是所有摄像头的投影矩阵(Projection Matrix)的集合。每个摄像头的投影矩阵 Pi 是一个 34 的矩阵,用于将世界坐标系中的 3D 点 X[X,Y,Z,1]T 投影到该摄像头的 2D 图像平面上的点 u[u,v,1]T。投影关系可以表示为: uPiX 其中…

机器学习--概览

一、机器学习基础概念 1. 定义 机器学习(Machine Learning, ML):通过算法让计算机从数据中自动学习规律,并利用学习到的模型进行预测或决策,而无需显式编程。 2. 与编程的区别 传统编程机器学习输入:规…

gesp(C++六级)(10)洛谷:P10722:[GESP202406 六级] 二叉树

gesp(C六级)(10)洛谷:P10722:[GESP202406 六级] 二叉树 题目描述 小杨有⼀棵包含 n n n 个节点的二叉树,且根节点的编号为 1 1 1。这棵二叉树任意⼀个节点要么是白色,要么是黑色。之后小杨会对这棵二叉树…

w186格障碍诊断系统spring boot设计与实现

🙊作者简介:多年一线开发工作经验,原创团队,分享技术代码帮助学生学习,独立完成自己的网站项目。 代码可以查看文章末尾⬇️联系方式获取,记得注明来意哦~🌹赠送计算机毕业设计600个选题excel文…

Android Studio 正式版 10 周年回顾,承载 Androider 的峥嵘十年

Android Studio 1.0 宣发于 2014 年 12 月,而现在时间来到 2025 ,不知不觉间 Android Studio 已经陪伴 Androider 走过十年历程。 Android Studio 10 周年,也代表着了我的职业生涯也超十年,现在回想起来依然觉得「唏嘘」&#xff…

4 Hadoop 面试真题

4 Hadoop 面试真题 1. Apache Hadoop 3.0.02. HDFS 3.x 数据存储新特性-纠删码Hadoop面试真题 1. Apache Hadoop 3.0.0 Apache Hadoop 3.0.0在以前的主要发行版本(hadoop-2.x)上进行了许多重大改进。 最低要求的Java版本从Java 7增加到Java 8 现在&…

25寒假算法刷题 | Day1 | LeetCode 240. 搜索二维矩阵 II,148. 排序链表

目录 240. 搜索二维矩阵 II题目描述题解 148. 排序链表题目描述题解 240. 搜索二维矩阵 II 点此跳转题目链接 题目描述 编写一个高效的算法来搜索 m x n 矩阵 matrix 中的一个目标值 target 。该矩阵具有以下特性: 每行的元素从左到右升序排列。每列的元素从上到…

何谓共赢?

A和B是人或组织,他们怎样的合作才是共赢呢? 形态1:A提供自己的身份证等个人信息,B用来作贷款等一些事务,A每月得到一笔钱。 A的风险远大于收益,或者B从事的是非法行为; 形态2:A单方面提前终止了与B的合作…

Kanass基础教程-创建项目

Kanass是一款国产开源免费的项目管理工具,工具简洁易用,开源免费,之前介绍过kanass的一些产品简介及安装配置方法,本文就从如何创建第一个项目来开始kanass上手之旅吧。 1. 创建项目 点击项目->项目添加 按钮进入项目添加页面…

实验9 JSP访问数据库(二)

实验9 JSP访问数据库(二) 目的: 1、熟悉JDBC的数据库访问模式。 2、掌握预处理语句的使用 实验要求: 1、使用Tomcat作为Web服务器 2、通过JDBC访问数据库,实现增删改查功能的实现 3、要求提交实验报告,将代…

单片机基础模块学习——DS1302时钟芯片

一、DS1302时钟简介 1.与定时器对比 DS1302时钟也称为RTC时钟(Real Time Clock,实时时钟),说到时钟,可能会想到定时器,下表来简单说明一下两者的区别。 定时器(Timer)实时时钟(RTC)精度高,可达微秒级精度较低,多为秒级计时范围短计时范围长2.开发板所在位置 下面方框里…

Vue+Echarts 实现青岛自定义样式地图

一、效果 二、代码 <template><div class"chart-box"><chart ref"chartQingdao" style"width: 100%; height: 100%;" :options"options" autoresize></chart></div> </template> <script> …

FIR滤波器:窗函数法

一、FIR滤波器基础 FIR&#xff08;有限脉冲响应&#xff09;滤波器的三大特点&#xff1a; 绝对稳定&#xff1a;没有反馈回路&#xff0c;不会出现失控振荡 线性相位&#xff1a;信号通过后波形不失真 直观设计&#xff1a;通过窗函数法、频率采样法等方法实现 二、窗函…

【AI】探索自然语言处理(NLP):从基础到前沿技术及代码实践

Hi &#xff01; 云边有个稻草人-CSDN博客 必须有为成功付出代价的决心&#xff0c;然后想办法付出这个代价。 目录 引言 1. 什么是自然语言处理&#xff08;NLP&#xff09;&#xff1f; 2. NLP的基础技术 2.1 词袋模型&#xff08;Bag-of-Words&#xff0c;BoW&#xff…

力扣动态规划-18【算法学习day.112】

前言 ###我做这类文章一个重要的目的还是记录自己的学习过程&#xff0c;我的解析也不会做的非常详细&#xff0c;只会提供思路和一些关键点&#xff0c;力扣上的大佬们的题解质量是非常非常高滴&#xff01;&#xff01;&#xff01; 习题 1.下降路径最小和 题目链接:931. …

DBASE DBF数据库文件解析

基于Java实现DBase DBF文件的解析和显示 JDK19编译运行&#xff0c;实现了数据库字段和数据解析显示。 首先解析数据库文件头代码 byte bytes[] Files.readAllBytes(Paths.get(file));BinaryBufferArray bis new BinaryBufferArray(bytes);DBF dbf new DBF();dbf.VersionN…

【ESP32】ESP-IDF开发 | WiFi开发 | UDP用户数据报协议 + UDP客户端和服务器例程

1. 简介 UDP协议&#xff08;User Datagram Protocol&#xff09;&#xff0c;全称用户数据报协议&#xff0c;它是一种面向非连接的协议&#xff0c;面向非连接指的是在正式通信前不必与对方先建立连接&#xff0c; 不管对方状态就直接发送。至于对方是否可以接收到这些数据内…

tiktok 国际版抖抖♬♬ X-Bogus参数算法逆向分析

加密请求参数得到乱码&#xff0c;最终得到X-Bogus