
PyTorch团队本周警告PyPI被上传了一个冒牌依赖性组件,呼吁去年最后一星期下载机器学习框架PyTorch-nightly版的开发人员应尽快移除。
PyTorch团队指出,如果在12月25日到12月30日之间通过pip管理员安装Linux版PyTorch-nightly测试组件,应立即移除该组件及相依组件torchtriton,并安装12月30日以后的nightly二进制档。
这是因为在假期间出现在PyPI程序库的相依组件torchtriton内有一个恶意二进制档,为冒牌货。这是名为“相依组件混淆(dependency confusion)”的软件供应链攻击手法,直接影响在公开PyPI上的组件相依组件。
PyTorch团队在12月30日发现到恶意的依赖性组件torchtriton被上传到PyPI,其组件名称和正牌torchtriton组件相同(冒牌者名称为torchtriton v3.0.0)。由于PyPI index具有优先性,使得冒牌torchtriton会比正牌先被开发人员的pip下载安装,这是因为其设计允许某人可以用早先存在第三方index的名称来注册组件名称,而pip会默认先安装PyPI的版本。
但PyPI团队指出,这个恶意二进制档需在用户导入triton组件,且需要明显下执行指令才会执行,这并非PyTorch的默认行为。
截至1月1日为止,冒牌torchtriton组件已被下载了2,300多次。
安装PyTorch稳定(stable)版的用户不受影响。PyTorch团队也公布指令以便开发人员或企业检查其Python环境是否受到恶意组件的影响: