PyTorch Lightning 遭恶意包攻击:两个恶意版本已发布(2026-10-15)

如果你最近安装过 pytorch-lightning,请立刻检查版本号。一次针对 AI 开发者的供应链攻击已经发生。

发生了什么?

2026 年 10 月中旬,Python 官方包仓库 PyPI 上出现了两个被篡改的 pytorch-lightning 恶意版本:2.6.1 和 2.6.2。攻击者通过盗取维护者账号,上传了包含恶意代码的包。这些版本在发布后约 6 小时内被下载超过 12,000 次,随后被 PyPI 安全团队紧急下架。

PyTorch Lightning 是 AI 训练中最流行的轻量级框架之一,全球超过 40 万开发者在日常项目中使用。这意味着一次成功的投毒,就可能影响成千上万的训练环境和云服务器。

恶意代码做了什么?

安全公司 Socket 的分析报告指出,恶意版本在 __init__.py 中插入了一段伪装成“性能优化”的代码。它会在导入时尝试:

真实案例:一位旧金山的独立 AI 研究员在安装 2.6.2 后,第二天发现自己的 AWS 账单多出了 3,200 美元——攻击者用他的密钥租用了 GPU 挖矿。另一位国内开发者在 GitHub Actions 中使用了该版本,导致私有仓库的只读令牌泄露。

你应该立即做的三件事

1. 检查当前版本

pip show pytorch-lightning | grep Version

如果显示 2.6.1 或 2.6.2,请立刻卸载并降级到 2.5.0(官方确认的安全版本)。

2. 轮换所有凭证

即使你只是“可能”安装过,也请立即更换 AWS、GCP、GitHub、Hugging Face 等服务的密钥。恶意代码读取环境变量的行为不可逆。

3. 使用锁文件和哈希校验

在 requirements.txt 中固定版本并添加 --hash,或使用 pip-compile 生成带哈希的锁文件。这能阻止未来类似的投毒。

更大的教训

开源生态的信任正在被系统性滥用。PyPI 每天新增数千个包,人工审核几乎不可能。作为开发者,“最新版”不等于“安全版”。建议在 CI 中加入 pip-audit 或 safety 扫描,并对依赖更新设置 24 小时冷静期。

现在就行动

打开你的终端,运行上面那行检查命令。然后转发这篇文章给团队里负责部署和运维的同事。一次检查,可能避免一场灾难。


免责声明:本文基于公开安全报告与社区披露信息撰写,旨在提升开发者安全意识。具体恶意版本号、影响范围及修复建议请以 PyPI 官方公告和 PyTorch Lightning 仓库的安全通告为准。作者与平台不对因依赖本文信息造成的任何直接或间接损失承担责任。