Trivy供应链攻击扩散,引发47个npm包感染的CanisterWorm蠕虫传播
2026年3月19日,开源安全扫描工具Trivy遭遇大规模供应链攻击,攻击者利用被盗凭证篡改75个trivy-action标签及7个setup-trivy标签,植入恶意依赖,导致全球多个开发流水线受到威胁。
Trivy维护者Itay Shakury于3月20日发布公告,确认攻击始于3月19日凌晨,攻击者通过强制推送恶意提交,将多个版本标签指向包含恶意代码的仓库。该恶意代码在CI/CD管道中运行时,会扫描并窃取GitHub令牌、云凭证、SSH密钥、Kubernetes令牌等敏感信息,并加密后发送至攻击者控制的服务器。
安全公司Socket与Wiz指出,恶意软件包含主备机制,若检测到运行于开发者机器,还会部署Base64编码的Python后门以实现持久化。该后门通过伪装成PostgreSQL工具("pgmon"),以systemd用户服务形式运行,并配置"Restart=always"指令,确保在被终止后自动重启。
更严重的是,攻击者利用被盗npm令牌,通过名为CanisterWorm的蠕虫工具,自动感染47个npm包。该蠕虫由AI工具生成,具备自传播能力。在@teale.io/eslint-config 1.8.11和1.8.12版本中,攻击者成功实现无手动干预的自主传播。任何安装该包并拥有npm令牌的开发者或CI/CD流水线,均可能成为传播节点,形成“感染-传播-再感染”的循环。
此次攻击根源可追溯至上月Aqua Trivy VS Code扩展的凭证泄露事件。由于清理过程非原子化,部分API密钥、证书和密码未被彻底移除,攻击者得以在无需直接入侵GitHub的情况下,完成恶意操作。Trivy团队已移除所有恶意构件,最新版本指向安全版本,并启用不可变发布机制以防止未来类似攻击。
Trivy项目在GitHub上拥有33,200颗星,此次事件可能对全球软件开发生态造成深远影响,尤其对依赖CI/CD流水线的开发团队构成重大安全风险。
编辑点评
此次Trivy供应链攻击事件标志着软件供应链安全威胁进入新阶段,其影响远超单一工具漏洞,而是演变为系统性、自动化、自传播的攻击模式。攻击者利用被盗凭证篡改广泛使用的开源工具版本标签,结合AI生成的蠕虫代码(CanisterWorm)和ICP canister作为C2通道,实现了跨平台、跨生态的横向渗透。尤其值得注意的是,攻击已从‘被动感染’升级为‘主动传播’,任何拥有npm令牌的开发者或CI/CD系统都可能成为传播节点,形成指数级扩散风险。这不仅暴露了开源项目在凭证管理、发布流程上的脆弱性,也凸显了现代软件供应链中‘信任最小化’原则的缺失。未来,安全厂商和开发团队必须重新审视开发流程中的自动化工具可信度,加强静态分析、动态监控和凭证生命周期管理。同时,此次事件可能促使各国监管机构加强对开源生态安全的审查,推动建立更严格的软件物料清单(SBOM)和供应链安全标准,从而重塑全球软件开发安全范式。