事件概述
2026年7月23日至24日,Python包索引(PyPI)上的量子计算库mrmustard遭遇严重的供应链攻击。攻击者通过入侵项目维护者的GitHub账户,在PyPI上发布了被植入木马的0.7.4版本。该恶意版本在导入时会窃取开发者的SSH密钥、AWS凭证、Kubernetes配置等敏感信息,并通过cron任务、shell启动项和Python .pth文件建立多路径持久化机制。
该事件由GitHub用户Ilyas Makari率先在XanaduAI/MrMustard issue #656中报告,随后被SafeDep、OSV(Open Source Vulnerabilities)和Gridinsoft等安全机构确认并追踪为MAL-2026-11049。
技术细节
攻击路径
- 账户入侵:攻击者获取了mrmustard项目维护者的GitHub账户控制权
- 恶意发布:通过被入侵的账户直接发布0.7.4版本到PyPI,该版本在GitHub仓库中无对应标签、无发布记录、无匹配提交
- Import-time执行:恶意代码在
import mrmustard时即被触发,无需任何额外函数调用 - 凭证窃取:窃取SSH密钥、AWS访问密钥、Kubernetes配置文件、SLURM作业数据和GPU清单
- 持久化:建立cron任务、shell rc文件钩子和.pth文件确保长期驻留
- 数据外泄:将所有收集的数据回传至攻击者控制的服务器
持久化机制分析
根据SafeDep的详细分析,恶意载荷建立了以下持久化路径:
| 路径/文件 | 作用 |
|---|---|
~/.cache/.tf_cache/hw_probe.pyc |
编译后的持久化窃取器主程序 |
~/.cache/.tf_cache/ |
工作目录,存放.lock_*和.ts_*状态文件 |
mmcompat.pth |
位于site-packages目录,Python启动时自动加载 |
| cron任务(每15分钟) | */15 * * * * /usr/bin/env python3 .../hw_probe.pyc |
| shell rc钩子 | 在.bashrc/.zshrc中插入”tensorflow hardware compatibility check”标记代码块 |
目标环境
恶意代码特别针对研究和高性能计算(HPC)环境进行优化:
- 收集SLURM作业调度数据
- 枚举GPU清单和CUDA版本
- 窃取云计算凭据(AWS、Azure、GCP)
- 窃取SSH密钥用于横向移动
在共享HPC登录节点上,由于mmcompat.pth被放置在共享的site-packages目录中,任何启动Python的用户都会触发恶意代码,爆炸半径远超单一用户。
影响评估
mrmustard是Xanadu公司开发的可微分量子光学模拟器,广泛应用于量子计算研究和光子电路仿真领域。此次供应链攻击的影响包括:
- 云基础设施接管:窃取的AWS/Azure访问密钥可直接读写云端存储、修改云服务配置
- 横向渗透:SSH密钥泄露使攻击者可无密码登录开发者和研究人员的其他服务器
- Kubernetes集群入侵:K8s配置泄露可致整个容器集群被控制
- HPC资源滥用:攻击者可能利用窃取的凭证盗用高性能计算资源进行加密货币挖矿
- 学术研究数据泄露:量子计算研究中的敏感数据和知识产权面临泄露风险
修复建议
紧急处置(如曾安装0.7.4)
SafeDep明确指出:仅卸载mrmustard不足以清除威胁。如任何机器导入了mrmustard@0.7.4,或存在上述持久化文件,应按以下步骤清理:
- 立即轮换凭证:在干净主机上优先吊销或更换所有暴露的SSH密钥、AWS访问密钥、Azure PAT和Kubernetes凭据
- 删除目录:
rm -rf ~/.cache/.tf_cache/ - 删除所有site-packages目录中的
mmcompat.pth文件 - 检查并清理cron任务:
crontab -l,删除指向hw_probe.pyc的条目 - 检查shell配置文件(
~/.bashrc、~/.zshrc),删除”# tensorflow hardware compatibility check”标记的代码块 - 审查CloudTrail和Kubernetes审计日志,查找2026年7月23日后的异常凭证使用
预防性措施
- 将PyPI包版本与GitHub仓库的发布标签和提交记录进行交叉验证
- 使用SafeDep Package Manager Guard(pmg)等工具在安装前扫描恶意包
- 在CI/CD管道中启用软件成分分析(SCA)和依赖包签名校验
- 对PyPI_TOKEN和CODECOV_TOKEN等发布凭证实施定期轮换
- 为GitHub Actions自托管运行器实施网络隔离和最小权限