JFrog分析师发现了一种新的攻击,他们将其命名为RevivalHijack。
攻击者使用之前删除的包名称在PyPI中注册新项目,从而对供应链发起攻击。
研究人员表示,这种技术“可能被用来劫持22,000个PyPI包,随后导致数十万次恶意包下载。”
此类攻击是可能的,因为PyPI删除的包名称可以再次用于注册。
也就是说,决定从PyPI中删除项目的开发人员只会收到有关可能后果的警告。
通知中写道:
删除这个项目将使任何其他PyPI用户都可以使用它的名称。
只要分发的文件名与之前分发的文件名不匹配,用户就可以使用此项目名称创建新版本。
请注意,PyPI有一个封闭的黑名单,其中包含无法注册新项目的包名称。
但是,大多数已删除的软件包并不包含在此列表中。
据JFrog称,超过22,000个容易受到RevivalHijack攻击的软件包已从PyPI中删除,其中一些非常受欢迎。
因此,平均每月有309个软件包从PyPI中删除,这意味着新的机会不断为攻击者提供。
研究人员以pingdomv3软件包为例,该软件包于2024年3月30日被PyPI删除。
该软件包名称在同一天被拦截,攻击者立即发布了一个更新,其中添加了Python木马。
package,使用Base64进行混淆并针对JenkinsCI/CD环境。
为了减轻RevivalHijack带来的风险,JFrog专家介入并创建了新的Python项目,使用名为security_holding的帐户“接管”最流行的远程软件包的名称。
研究人员还将版本号更改为0.0.0.1,以确保活跃用户无法收到更新。
三个月后,JFrog发现由于自动化脚本和用户错误,这些软件包已被下载了近200,000次。
为了防止此类攻击,专家建议用户和组织使用包锁定来保留某些已知且可信的版本,并验证包的完整性、验证其内容、监控所有权更改和非典型更新活动。
原文始发于微信公众号(网络研究观):利用丢失的 PyPI 数据包进行供应链攻击
- 左青龙
- 微信扫一扫
- 右白虎
- 微信扫一扫
评论