昨天夜里多家网络安全公司先后检测到红帽公司在NPM平台发布多个带有恶意载荷的软件包,这些恶意载荷采用的是MiniShai-Hulud开源蠕虫病毒的变种版本,进入开发环境后会收集并将各种敏感凭证加密上传到黑客控制的服务器,同时蠕虫还会利用这些凭证继续横向传播感染更多开发环境并窃取更多凭证。
安全研究人员经过初步调查后认为此次供应链攻击源头在于红帽工程师的GitHub账号被劫持,随后黑客利用NPM可信发布机制从GitHubActions里签发的短期OIDC令牌推送恶意软件包,目前尚不清楚有多少下游开发者受到实际影响,但红帽发布的这些软件包主要都是企业用途,所以被感染的下游开发者多半也是企业级开发者。
可信发布机制也被绕过:
NPM的可信发布机制旨在从CI/CD流水线中移除长期有效的发布令牌,转而利用GitHubActions签发的短期OIDC令牌取代这种长期令牌,该机制的设计初衷是提高安全性避免长期有效的凭证泄露后造成安全问题,但近期的供应链攻击案例表明,如果攻击者通过漏洞或者被盗的令牌获得对CI/CD流水线的访问权限,则可信发布机制可以完全被绕过。
在本次攻击案例中,红帽工程师的GitHub账号被盗用随后被黑客用来将恶意孤立提交直接推送到多个代码仓库中,整个过程也绕过代码审查,这些孤立提交包含工作流文件CI.YAML和脚本_INDEX.JS,工作流在运行时会安装Bun并执行_INDEX.JS,随后通过环境变量向其传递目标包列表,脚本还会利用权限从GitHub请求短期有效的OIDC令牌,接着使用令牌直接向NPM推送包含恶意载荷的软件包。
迷你沙虫的变种版本:
此前致力于供应链攻击的TeamPCP团队开源发布Shai-Hulud蠕虫病毒,现在越来越多的黑客利用这个蠕虫病毒展开攻击,本次攻击案例中黑客使用的蠕虫病毒就是基于沙虫修改而来,但本质上还是用来窃取开发环境中的各种凭证并尝试进行横向传播。
窃取的各类凭证包括:GitHubActions密钥、AWS访问密钥和会话令牌、GCP默认凭证和账户服务密钥文件、Azure服务主体凭证和托管身份令牌、NPM和PYPI发布令牌、SSH密钥、Docker镜像仓库凭证、GPG密钥以及整个开发环境中能够找到的任何.env文件。

相关文章



头条焦点
精彩导读
关注我们
【查看完整讨论话题】 | 【用户登录】 | 【用户注册】