一出潜伏在正规开发流程中的攻击,让CI/CD管道变成了恶意软件的分发通道。Cato Networks披露,AsyncAPI项目的npm官方命名空间遭到入侵,攻击者利用其自身的自动化发布机制,推送了内含Miasma远控木马的多个软件包。
这些被污染的包总周下载量约为290万次。虽然下载量不等于实际感染数,但风险范围已覆盖大量开发工作站、文档任务以及保管着敏感凭证的CI/CD流水线。
![]()
事件的起点,是一套被破坏的GitHub Actions工作流配置。攻击者通过提交不可信拉取请求,接触到了本应受保护的高权限工作流上下文,进而获取或滥用AsyncAPI自动化身份,实施未经授权的仓库修改。
这些恶意改动藏在一个与项目发布流程绑定的分支里,刻意伪装成日常开发活动。随后,AsyncAPI自身的发布自动化将篡改的软件包推送到npm官方命名空间,令外界看来完全合法。
这种做法与在陌生账号下发布山寨包的操作截然不同。它呼应了GitHub Actions工作流攻击中反复出现的风险:一旦对不可信拉取请求处理不严,令牌和云凭证就可能暴露。
确认受影响的恶意发行版包括:@asyncapi/generator 3.3.1、@asyncapi/generator-helpers 1.1.1、@asyncapi/generator-components 0.7.1,以及@asyncapi/specs的6.11.2-alpha.1和6.11.2。在攻击窗口期自动还原依赖的团队,很可能已把有害代码拖进构建环境。
注入的JavaScript木马刻意绕过了常见的npm生命周期钩子,比如postinstall。它的触发点设在模块被导入的那一刻,而非安装完成时。这意味着恶意软件可在安装后长期静默,直到后续构建、应用运行、文档任务或CI/CD作业执行时才被唤醒。
首阶段代码会拉起一个分离的Node.js进程,并从一个IPFS节点下载经过加密的第二阶段载荷。研究人员指出,该载荷具备维持访问、执行远程命令、操控文件、自我更新以及与攻击者基础设施通信的能力。
这起事件给出了一条沉重的结论:有效的包名和官方发布流水线,已不足以构成信任的依据。当攻击者学会把自动化本身当作目标,那些正常开发流程中的每一步便利,都可能变成引入秘密和污染下游项目的暗门。
特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.