一、事件简述
2022 年 06 月 23 日,OSCS 开源安全社区监测发现 PyPI 官方仓库被攻击者上传了agoric-sdk,datashare,datadog-agent等150+个恶意钓鱼包,OSCS官方提醒广大开发者关注。
PyPI 是 Python 的包管理工具,提供了对第三方 Python 包的查找、下载、安装、卸载等功能。攻击者mega707通过模仿agoric,datadog等知名软件包进行钓鱼,当用户安装攻击者的恶意包时,攻击者可窃取用户信息,环境地址等敏感信息上传至指定服务器。本次投毒的代码虽然没有执行恶意的逻辑,但大批量进行投毒测试是一种非常恶劣的行为。
二、 投毒分析
恶意包通过如下过程进行攻击:
datadog(云监控厂商)官方分别在 GitHub 上提供了仓库名称为datadog-agent
的开源代码,以及在 PyPI 上提供了名称为datadog
安装包。
当用户安装监控软件 datadog 时,容易不区分来源下载到攻击者上传的名为 datadog-agent 的Python包(官方 Python 包名称为 datadog )
(攻击者上传 datadog 相似名称包的截图)
恶意代码安装时会将用户名和安装路径,系统名称上传到远程服务器。
(恶意代码片段)
OSCS 开源安全社区查询 datadog-agent 包的下载数量,发现在上传后仅6小时就有 225次 的下载量,攻击者 mega707一共上传了 150+ 个钓鱼包(截止到6月27日)。
进行代码溯源发现钓鱼包使用的是如下地址的代码
OSCS 开源安全社区建议广大用户做好资产自查以及预防工作,以免遭受黑客攻击。
四、修复建议
OSCS 开源安全社区建议使用 Python 的用户时排查 Python 环境是否安装恶意钓鱼包,避免遭受损失,详细名单见附录
五、时间线
6月6日,攻击者注册 pip 账号 mega707
6月23日,攻击者上传 93 个恶意 Python 包
6月23日,OSCS 监测到本次恶意 Python 包投毒行为
6月27日,OSCS 检测发现这些恶意的Python包数量增加到了150+个。