黑客入侵了Aqua Security旗下被广泛使用的Trivy漏洞扫描器,几乎所有版本均受到波及。这场持续进行的供应链攻击,可能对开发者及使用相关工具的企业造成严重影响。

Trivy维护者Itay Shakury于上周五正式确认了此次入侵事件。此前,网络上已出现相关讨论帖子,但随后被攻击者删除。攻击于周四凌晨展开,攻击者利用窃取的凭证,通过强制推送方式,将除一个以外的所有trivy-action标签及七个setup-trivy标签篡改为指向恶意依赖项。
强制推送是一种Git命令,可绕过默认的安全保护机制,覆盖已有的提交记录。Trivy是一款漏洞扫描工具,广泛用于软件开发与部署流水线中,帮助开发者检测安全漏洞及意外硬编码的认证密钥。该项目在GitHub上拥有33200颗星,显示出其极高的使用普及程度。
Shakury提醒称:"如果你怀疑自己曾运行过被攻陷的版本,请立即将所有流水线密钥视为已泄露并进行轮换更新。"
安全公司Socket和Wiz指出,此次被植入的恶意代码已触发75个受攻击的trivy-action标签。恶意软件会全面扫描开发流水线及开发者本地环境,窃取GitHub Token、云平台凭证、SSH密钥、Kubernetes Token等各类敏感信息。收集完毕后,数据将被加密并发送至攻击者控制的服务器。
Socket表示,最终结果是,任何CI/CD流水线只要引用了被篡改的版本标签,在运行Trivy扫描时就会自动执行恶意代码。被伪造的版本标签包括被广泛使用的@0.34.2、@0.33和@0.18.0,目前仅@0.35.0版本未受影响。
Wiz研究人员表示:"恶意二进制文件执行后,会同时启动正常的Trivy服务与恶意代码。初步分析显示,恶意代码通过主备两套机制进行数据窃取。若检测到当前运行环境为开发者本地机器,还会额外写入一个经Base64编码的Python脚本,以实现持久化驻留。"
Wiz进一步指出,恶意进程会收集环境变量,扫描文件系统中存储的凭证,并枚举网络接口信息,随后将数据压缩加密,通过POST请求尝试发送至https://scan.aquasecurtiy[.]org。若该请求失败(返回非2xx状态码),恶意软件则会尝试利用窃取的GITHUB_TOKEN创建名为tpcp-docs的仓库,将数据上传至此。
Shakury透露,尽管大规模入侵始于上周四,但根源可追溯至上月一起独立事件——Trivy的VS Code扩展插件遭到入侵,攻击者由此获得了对Trivy GitHub账户具有写权限的凭证。事后维护团队虽进行了Token及密钥的轮换,但整个处理过程并不彻底,导致部分API密钥、证书和密码等凭证残留未被完全清除,仍可被恶意利用。
Socket研究人员指出:"正是这一漏洞,使攻击者得以在无需直接攻破GitHub本身的情况下,执行包括强制更新标签在内的各类认证操作。目前尚未公开披露此阶段所用的具体凭证,但根本原因已确认为早期凭证泄露遗留的残余访问权限。"
此次攻击手法有别于典型的供应链攻击方式。传统供应链攻击通常是利用窃取的凭证向代码仓库注入恶意提交,而此次采用的强制推送标签方式,成功绕过了许多常见的安全防护手段,使攻击在很长时间内未被察觉。
Q&A
Q1:Trivy漏洞扫描器供应链攻击是怎么发生的?
A:攻击者利用此前入侵Trivy VS Code扩展时窃取的凭证,通过Git强制推送命令,将大量trivy-action和setup-trivy版本标签篡改为指向恶意依赖项。由于凭证轮换不彻底,残留的访问权限让攻击者得以在不直接攻破GitHub的情况下完成整个操作。攻击于周四凌晨展开,75个版本标签受到波及。
Q2:Trivy被攻击后,恶意代码会窃取哪些数据?
A:恶意代码会扫描开发流水线及开发者本地机器,收集GitHub Token、云平台凭证、SSH密钥、Kubernetes Token等各类敏感信息,同时抓取环境变量和文件系统中存储的凭证。收集完成后,数据会被压缩加密并发送至攻击者控制的服务器。若主要传输渠道失败,还会通过创建GitHub仓库作为备用上传途径。
Q3:哪些Trivy版本不受此次供应链攻击影响?
A:根据目前的分析,仅@0.35.0版本未受此次攻击影响。被伪造的版本标签包括@0.34.2、@0.33和@0.18.0等常用版本。官方建议,凡是怀疑运行过受攻陷版本的用户,应立即将所有流水线密钥视为已泄露并进行轮换更新。
更新时间:2026-05-11
本站资料均由网友自行发布提供,仅用于学习交流。如有版权问题,请与我联系,QQ:4156828
© CopyRight All Rights Reserved.
Powered By 61893.com 闽ICP备11008920号
闽公网安备35020302034903号