研究人员统计了下载次数超过 10 万次或运行时间超过半年的软件包,发现这种冒充攻击方式共影响了 12 万个 PyPI 软件包。这种冒充攻击方式之所以“如此常见”,是因为“很多开发人员经常删除软件包”,据说“每月有超过 300 个软件包被删除”,给了黑客可乘之机。

为了阻止黑客使用这种攻击手段,研究人员尝试接管一些弃用的包名,并上传版本号为 0.0.0.1 的空包,以规避现有用户的 CI/CD 环境自动拉取更新。然而即使采取了这些措施,根据研究人员的统计,这些接管的空包在几天之内的下载量仍然达到了数千次,三个月后总下载量超过了 20 万次,可见影响范围之广。

IT之家了解到,安全公司已经向 PyPI 团队报告了该问题。不过 PyPI 团队回应称,他们早在 2022 年 7 月就已初步讨论过相关问题,但仍需进一步讨论解决方案。
研究人员强调这依然是一种极其有效的攻击手段,他们呼吁 PyPI 制定严格的政策,彻底禁止重复使用相同的包名,以防止黑客接管包名。


