Python 数据分析工具在工作半天后变成了恶意软件:它窃取了密钥和令牌。

Python 数据分析工具在工作半天后变成了恶意软件:它窃取了密钥和令牌。

29 hardware

网络犯罪分子在 PyPI 上发布了恶意版本的 elementary-data 包

一名陌生攻击者上传了已修改的 0.23.3 版 *elementary-data* 工具——用于监控数据的工具——到 PyPI 仓库。恶意包收集并发送到远程服务器机密信息:SSH 密钥、AWS 凭证、API 令牌,以及加密货币钱包文件(比特币、莱特币、多吉币、以太坊)。收集的数据被打包成 `trin.tar.gz` 并传送给攻击者。

如何获得仓库访问权限

攻击者利用 *elementary-data* 项目 GitHub Actions 工作流中的漏洞。获取到自动颁发的 `GITHUB_TOKEN` 后,他创建了一个 pull request,将原始包替换为恶意版本。由于工作流自动化,PR 被接受并发布了受感染的发行版。

恶意包存在时间

- 4 月 25 日,02:20(Moscow 时间)– 攻击者将恶意版本上传至 PyPI。
- 02:24 – 他还在 GitHub Container Registry 上发布了受感染的 Docker 镜像,进一步扩大攻击范围。
- 同日 13:45 – 项目管理员删除了所有被破坏的文件,并发布了干净的 0.23.4 版。

因此,恶意包对用户可用超过 11 小时,为数据泄露提供了机会。

受影响组件

开发者确认,生态系统的其他部分——*Elementary dbt*、Elementary Cloud 资源以及项目的其他版本——未受到此次事件影响。

用户应采取的措施
1. 删除受感染的 0.23.3 版,并安装安全的 0.23.4 版。
2. 清理包缓存(`pip cache purge` 或类似工具)。
3. 如果存在 `.trinny-security-update` 标记文件,请删除它——其存在表明恶意代码已被触发。

开发者采取的措施
- 更新了 PyPI 发布令牌。
- 审核并更新了 GitHub 和 GitHub Container Registry 的令牌。
- 删除了受漏洞影响的 GitHub Actions 工作流;其他工作流已检查安全性。

通过这些行动,*elementary-data* 团队恢复了对仓库的控制,并为用户提供了进一步威胁的防护。

评论 (0)

分享你的想法——请保持礼貌并围绕主题。

暂无评论。留下评论,分享你的观点!

要发表评论,请先登录。

登录后发表评论