PyTorch 机器学习框架被恶意依赖破坏

PyTorch 软件包的维护者警告在 2022 年 12 月 25 日至 2022 年 12 月 30 日期间安装了该库的夜间构建的用户,在发生依赖性混淆攻击后卸载并下载最新版本。
“在此期间通过 pip 安装的 PyTorch-nightly Linux 包安装了一个依赖项 torchtriton,它在 Python 包索引 (PyPI) 代码存储库中遭到破坏并运行了一个恶意二进制文件,”PyTorch 团队在周末的警报中说。
PyTorch 类似于 Keras 和 TensorFlow,是一个开源的基于 Python 的机器学习框架,最初由 Meta Platforms 开发。
PyTorch 团队表示,他们是在格林威治标准时间 12 月 30 日下午 4 点 40 分发现恶意依赖项的。供应链攻击需要将名为 torchtriton 的合法依赖项的恶意软件副本上传到 Python 包索引 (PyPI) 代码存储库。
由于像 pip 这样的软件包管理器会先检查 PyPI 等公共代码注册表,然后再检查私有注册表,因此它允许将欺诈模块安装在用户系统上,而不是从第三方索引中提取的实际版本。
就流氓版本而言,除了访问以下文件外,还设计用于泄露系统信息,包括环境变量、当前工作目录和主机名 -
- /etc/主机
- /etc/密码
- $HOME/* 中的前 1,000 个文件
- $HOME/.gitconfig
- $HOME/.ssh/*
在与 Bleeping Computer 分享的一份声明中,被盗数据传输到的域的所有者声称这是道德研究活动的一部分,所有数据已被删除。
作为缓解措施,torchtriton 已作为依赖项被删除并替换为 pytorch-triton。虚拟包也已在 PyPI 上注册为占位符,以防止进一步滥用。
“这不是真正的 torchtriton 包,但上传到这里是为了发现依赖性混淆漏洞,”在 torchtriton 的 PyPI 页面上读到一条消息。“你可以从 https://download.pytorch[.]org/whl/nightly/torchtriton/ 获得真正的 torchtriton。”
随着 JFrog 披露了另一个名为cookiezlog的包的详细信息,该包的开发也出现了,该包被观察到利用反调试技术来抵抗分析,这标志着此类机制首次被纳入 PyPI 恶意软件。
您对本文的看法






