攻击者近期发起大规模攻击活动,通过向GitHub Actions工作流注入恶意代码窃取Python软件包索引(PyPI)发布令牌。虽然部分存储在GitHub secrets中的令牌确实遭到窃取,但PyPI管理团队确认平台本身未被入侵,且被盗令牌尚未发现使用痕迹。
此次攻击涉及对大量代码仓库的GitHub Actions工作流进行篡改。植入的恶意代码专门用于窃取存储为secrets的PyPI发布令牌,并将其发送至攻击者控制的外部服务器。
GitHub Actions遭恶意代码注入
GitGuardian安全研究人员于9月5日首次发现该攻击活动,当时他们在名为fastuuid
的项目中检测到可疑的GitHub Actions工作流。通过PyPI恶意软件报告工具提交的警报,使PyPI安全团队意识到可能存在数据窃取企图。
尽管攻击者成功窃取部分令牌,PyPI调查显示这些令牌未被用于发布恶意软件包或入侵平台账户。在初次报告后,GitGuardian研究人员向PyPI安全团队发送了更详细的邮件,但因误判为垃圾邮件导致响应延迟至9月10日。
掌握完整情况后,PyPI管理团队启动应急响应流程,与GitGuardian合作共享了包含URL形式的额外入侵指标(IoC)以协助调查。期间,多数受影响项目的维护者已通过公共问题追踪系统收到研究人员通知。
项目维护者采取回滚恶意修改、强制推送清除仓库历史中受感染工作流等措施,许多开发者还主动轮换了PyPI令牌。9月15日,在确认没有PyPI账户遭入侵后,平台安全团队宣布所有受影响令牌失效,并向项目维护者发出正式通知。
防护措施建议
针对此次事件,PyPI强烈建议开发者停止使用长期有效的API令牌发布软件包。最有效的防御措施是采用"可信发布者"(Trusted Publishers)功能——该功能会为每次工作流运行自动生成短期有效的令牌,且令牌权限限定于特定代码仓库,即使令牌遭窃取,攻击者的可利用时间窗口也将大幅缩短。
PyPI管理团队敦促所有通过GitHub Actions发布软件包的用户立即启用可信发布者功能。同时建议开发者在PyPI官网检查账户安全历史记录,排查可疑活动。此次事件的成功处置得益于PyPI与GitGuardian安全研究人员的高效协作。
参考来源:
Hackers Injecting Malicious Code into GitHub Actions Workflows to Steal PyPI Publishing Tokens
免责声明
1.一般免责声明:本文所提供的技术信息仅供参考,不构成任何专业建议。读者应根据自身情况谨慎使用且应遵守《中华人民共和国网络安全法》,作者及发布平台不对因使用本文信息而导致的任何直接或间接责任或损失负责。
2. 适用性声明:文中技术内容可能不适用于所有情况或系统,在实际应用前请充分测试和评估。若因使用不当造成的任何问题,相关方不承担责任。
3. 更新声明:技术发展迅速,文章内容可能存在滞后性。读者需自行判断信息的时效性,因依据过时内容产生的后果,作者及发布平台不承担责任。
本文为 独立观点,未经授权禁止转载。
如需授权、对文章有疑问或需删除稿件,请联系 FreeBuf
客服小蜜蜂(微信:freebee1024)