PyPI仓库最近发生的两起事件暴露了软件供应链中的漏洞。攻击者成功发布了PyTorch Lightning和Intercom-client等合法软件包的修改版本。这些变体包含隐藏代码,旨在窃取用户系统中存储的访问凭证,表明依赖开源库的开发者和企业面临的风险日益增加。
攻击者如何操纵PyPI上的合法软件包 🔍
攻击者利用域名仿冒和依赖混淆技术分发恶意版本。在PyTorch Lightning案例中,恶意代码在安装过程中执行,收集包含凭证的环境变量和配置文件。对于Intercom-client,恶意软件在导入软件包时激活,通过向受控服务器发送HTTP请求窃取数据。这两个案例都利用了Python生态系统的信任机制,而手动审查依赖项仍然是一个挑战。
在PyPI上盲目安装的悖论 🤔
有趣的是,那些编写代码来自动化流程的开发人员,却常常在安装软件包时不检查其内容。这就像买二手车却不打开引擎盖,只因为卖家看起来面善。攻击者知道技术懒惰是一个有利可图的攻击向量。与此同时,我们继续像信仰行为一样执行pip install,希望没有人把键盘记录器塞进最新更新的列表排序库中。