PyPI 仓库被曝多个 typosquatting 库,可触发供应链攻击

2024-01-12 06:58

本文主要是介绍PyPI 仓库被曝多个 typosquatting 库,可触发供应链攻击,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

 聚焦源代码安全,网罗国内外最新资讯!

编译:奇安信代码卫士

八款下载量超过8万次的 Python 程序包因包含恶意代码而被 PyPI 门户删除,再次说明了软件包仓库如何成为供应链攻击的流行目标。

上周四,JFrog 公司的研究员 Andrey Polkovnichenko、Omer Kaspi 和 Shachar Menashe 指出,“公共软件仓库中缺少审核和自动化安全控制,使得即使是经验不足的攻击者也能够借它传播恶意软件,或者通过 typosquatting (通过输入错误触发攻击,如误植域名等)、依赖混淆或简单的社工攻击传播恶意软件。“

PyPI 是Python 的官方第三方软件仓库,包管理器如pip 将其作为软件包及其依赖关系的默认来源。

这些恶意Python 程序包被指使用 Base64 编码进行混淆,它们是:

  • pytagora(由eonora123上传)

  • pytagora2(由eonora123上传)

  • noblesse(由xin1111上传)

  • genesisbot(由xin1111上传)

  • are(由xin1111上传)

  • suffer(由suffer上传)

  • noblesse2(由suffer上传)

  • noblessev2(由suffer上传)

这些程序包可被滥用于成为更复杂威胁的入口点,使得攻击者能够在目标机器上执行远程代码、收集系统信息、窃取信用卡信息和自动存储在 Chrome 和Edge 浏览器中的密码,甚至窃取 Discord 认证令牌假冒受害者。

PyPI 并非演变为潜在攻击面的唯一软件包仓库,npm 和 RubyGems 中也曾被发现存在恶意程序包,它们可能破坏整个系统或称为进入受害者网络的有价值跳转点。

上个月,Sonatype 和 Vdoo 公司披露了 PyPI 中的 typosquatting程序包,它们下载并执行 pyload shell 脚本,检索第三方密币挖掘器如 T-Rex、ubqminer或 PhoenixMiner,在受害者系统上挖掘以太坊和 Ubiq 密币。

JFrog 公司的首席技术官 Asaf Karas 流行仓库认为,如 PyPI 中不断出现恶意软件包的趋势警醒我们,它们可能导致广泛的供应链攻击。攻击者使用简单的混淆技术就引入恶意软件的情况说明,开发人员必须时刻保持警惕。这是一种系统性威胁,需要在多个层面解决,软件程序包的维护人员和开发人员都涵盖在内。开发人员可采取预防措施如验证库签名等。


推荐阅读

Python 官方软件库 PyPI 遭垃圾软件包洪水攻击

为增强软件供应链安全,NIST 发布《开发者软件验证最低标准指南》

CloudFlare CDNJS 漏洞差点造成大规模的供应链攻击

详细分析PHP源代码后门事件及其供应链安全启示

原文链接

https://thehackernews.com/2021/07/several-malicious-typosquatted-python.html

题图:Pixabay License

本文由奇安信编译,不代表奇安信观点。转载请注明“转自奇安信代码卫士 https://codesafe.qianxin.com”。

奇安信代码卫士 (codesafe)

国内首个专注于软件开发安全的产品线。

    觉得不错,就点个 “在看” 或 "赞” 吧~

这篇关于PyPI 仓库被曝多个 typosquatting 库,可触发供应链攻击的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/597119

相关文章

使用jenv工具管理多个JDK版本的方法步骤

《使用jenv工具管理多个JDK版本的方法步骤》jenv是一个开源的Java环境管理工具,旨在帮助开发者在同一台机器上轻松管理和切换多个Java版本,:本文主要介绍使用jenv工具管理多个JD... 目录一、jenv到底是干啥的?二、jenv的核心功能(一)管理多个Java版本(二)支持插件扩展(三)环境隔

安装centos8设置基础软件仓库时出错的解决方案

《安装centos8设置基础软件仓库时出错的解决方案》:本文主要介绍安装centos8设置基础软件仓库时出错的解决方案,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐... 目录安装Centos8设置基础软件仓库时出错版本 8版本 8.2.200android4版本 javas

Python函数返回多个值的多种方法小结

《Python函数返回多个值的多种方法小结》在Python中,函数通常用于封装一段代码,使其可以重复调用,有时,我们希望一个函数能够返回多个值,Python提供了几种不同的方法来实现这一点,需要的朋友... 目录一、使用元组(Tuple):二、使用列表(list)三、使用字典(Dictionary)四、 使

Maven 依赖发布与仓库治理的过程解析

《Maven依赖发布与仓库治理的过程解析》:本文主要介绍Maven依赖发布与仓库治理的过程解析,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下... 目录Maven 依赖发布与仓库治理引言第一章:distributionManagement配置的工程化实践1

解决Maven项目idea找不到本地仓库jar包问题以及使用mvn install:install-file

《解决Maven项目idea找不到本地仓库jar包问题以及使用mvninstall:install-file》:本文主要介绍解决Maven项目idea找不到本地仓库jar包问题以及使用mvnin... 目录Maven项目idea找不到本地仓库jar包以及使用mvn install:install-file基

Maven如何手动安装依赖到本地仓库

《Maven如何手动安装依赖到本地仓库》:本文主要介绍Maven如何手动安装依赖到本地仓库问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、下载依赖二、安装 JAR 文件到本地仓库三、验证安装四、在项目中使用该依赖1、注意事项2、额外提示总结一、下载依赖登

Java中Switch Case多个条件处理方法举例

《Java中SwitchCase多个条件处理方法举例》Java中switch语句用于根据变量值执行不同代码块,适用于多个条件的处理,:本文主要介绍Java中SwitchCase多个条件处理的相... 目录前言基本语法处理多个条件示例1:合并相同代码的多个case示例2:通过字符串合并多个case进阶用法使用

Java编译生成多个.class文件的原理和作用

《Java编译生成多个.class文件的原理和作用》作为一名经验丰富的开发者,在Java项目中执行编译后,可能会发现一个.java源文件有时会产生多个.class文件,从技术实现层面详细剖析这一现象... 目录一、内部类机制与.class文件生成成员内部类(常规内部类)局部内部类(方法内部类)匿名内部类二、

基于Flask框架添加多个AI模型的API并进行交互

《基于Flask框架添加多个AI模型的API并进行交互》:本文主要介绍如何基于Flask框架开发AI模型API管理系统,允许用户添加、删除不同AI模型的API密钥,感兴趣的可以了解下... 目录1. 概述2. 后端代码说明2.1 依赖库导入2.2 应用初始化2.3 API 存储字典2.4 路由函数2.5 应

Python实现合并与拆分多个PDF文档中的指定页

《Python实现合并与拆分多个PDF文档中的指定页》这篇文章主要为大家详细介绍了如何使用Python实现将多个PDF文档中的指定页合并生成新的PDF以及拆分PDF,感兴趣的小伙伴可以参考一下... 安装所需要的库pip install PyPDF2 -i https://pypi.tuna.tsingh