找回密码
立即注册
搜索
热搜: Java Python Linux Go
发回帖 发新帖

4615

积分

0

好友

645

主题
发表于 3 小时前 | 查看: 1| 回复: 0

FREEBUF 网络安全行业门户

Aqua Trivy 项目 Logo

近期,一个值得开发者高度警惕的安全事件发生了。广受欢迎的开源漏洞扫描工具 Trivy 遭受到供应链攻击,攻击者在其官方版本以及数千个 CI/CD 工作流中广泛使用的 GitHub Actions 里植入了专门窃取凭证的恶意软件。如果受影响的组织和项目没有立即采取措施轮换密钥,这次入侵很可能引发连锁式的次级攻击,影响范围将进一步扩大。

根据 Trivy 维护团队的披露,此次攻击的根源可以追溯到上月末公布的一起早期入侵事件。攻击者利用了相同的攻击媒介——不安全的 GitHub Actions,并波及了多个项目。安全公司 Socket 和 Wiz 的溯源分析指出,在首次入侵后,凭证轮换工作不彻底,导致攻击者能够再次进入 Trivy 的代码环境并提交恶意代码。

多组件遭植入后门

由 Aqua Security 开发的 Trivy 是目前最主流的开源漏洞扫描器之一,在 GitHub 上拥有超过 32,000 个星标,在 Docker Hub 的下载量更是超过了 1 亿次。开发者们广泛地将其用于 CI/CD 流水线,以及在容器镜像中检测安全漏洞和暴露的敏感密钥。

攻击者成功侵入了 Trivy 项目的三个关键组件:

  1. 用于 CI/CD 工作流的官方 GitHub Action 组件 trivy-action
  2. 安装辅助工具 setup-trivy
  3. Trivy 二进制文件本身

被篡改的构件已经发布到了多个主流的软件分发平台,包括 GitHub releases、Docker Hub、GitHub 容器注册表以及亚马逊弹性容器注册表。这意味着依赖这些渠道自动获取更新的用户和系统已经暴露在风险之下。

根据 Socket 的分析,trivy-action 的 76 个版本标签中,有 75 个都被恶意代码覆盖了。同样,setup-trivy 的 7 个标签也遭到了篡改。目前已知唯一未受影响的 trivy-action 标签是 0.35.0 版本。而被入侵的标签中包括了 0.34.20.33.00.18.0 等开发者常用的版本。

窃取开发环境密钥

恶意程序被设计得极具针对性。当它在 GitHub Actions 的运行器上被执行时,会执行以下操作:

  • 内存扫描:读取进程内存,尝试提取其中暂存的密钥信息。
  • 文件系统扫描:遍历文件系统,窃取 SSH 私钥、各大云服务商的访问凭证、Kubernetes 集群令牌、Docker 注册表配置文件,甚至包括加密货币钱包文件。

这些被窃取的敏感数据会经过加密,然后发送到攻击者控制的、仿冒 Aqua Security 官网的域名。如果外泄尝试失败,恶意软件则会转换策略,尝试在受害者的 GitHub 账户下创建一个名为 tpcp-docs 的公开仓库,并将数据上传至此。

据 Wiz 披露,攻击链更为深入。它不仅试图在 CI/CD 环境中窃密,还会尝试在开发者的本地机器上植入一个持久化的 Python 投放器。这个后门会每五分钟连接一次攻击者的服务器,检查并获取新的攻击载荷,这构成了典型的 供应链攻击 模式。

隐蔽标签篡改手法规避检测

这次攻击的一个狡猾之处在于其规避检测的手法。攻击者没有创建新的版本(这通常会触发订阅者的通知),而是采用了“强制推送”的方式,将现有的版本标签指针指向了他们准备好的恶意代码提交。

Git 的标签本质上就是一个指向特定提交的指针。攻击者篡改了这个指针的目标,使得所有引用该标签的 CI/CD 工作流 在下次执行时,都会自动拉取到攻击者的代码。

为了进一步增强隐蔽性,攻击者克隆了原始合法提交的元数据,包括作者名、邮箱、提交时间戳以及提交消息。这使得恶意提交在查看历史记录时,看起来与合法提交几乎没有区别。伪造的痕迹仅体现在缺失加密签名以及时间戳上可能存在细微的逻辑矛盾。这种手法与一年前影响超过 23,000 个仓库的 tj-actions/changed-files 入侵事件如出一辙。

安全防护启示录

回顾整个事件,Trivy 项目的首次入侵实际上发生在今年 2 月下旬。攻击者利用了一个自 2025 年 10 月就存在于项目仓库中的错误配置的 GitHub Actions 工作流。这个工作流可以由外部贡献者的拉取请求触发,却被赋予了访问仓库敏感密钥的过高权限——GitHub 官方文档早已警示过这种危险模式。

攻击者利用这个漏洞,窃取了具备写入权限的个人访问令牌(PAT),并利用它删除了版本、重命名了仓库,甚至发布了恶意的 VS Code 扩展。尽管维护团队在当时进行了应急响应和凭证轮换,但显然存在遗漏,给了攻击者卷土重来的机会。

对于一家专注于 CI/CD 安全的公司旗下的核心产品发生此类事件,尤其值得所有受影响的组织警惕。讽刺的是,这次植入的恶意软件专门窃取的,正是可能引发自身被用作跳板进行下一轮供应链攻击的同类型凭证。

重复上演的攻击模式

Trivy 事件只是近期针对 GitHub Actions 及开发者生态的攻击趋势中的最新案例。去年 tj-actions/changed-files 的入侵采用了完全相同的标签篡改手法,并且最终溯源至 reviewdog/action-setup 的上游入侵。2025 年还发生了其他多起类似事件,例如窃取了 327 名 GitHub 用户超过 3000 个密钥的 GhostAction 行动,以及利用脆弱的 pull_request_target 工作流攻击 nx npm 包的事件。

尽管 GitHub 平台已经在 2025 年 12 月修改了 pull_request_target 工作流的默认行为以降低风险,但 Trivy 仓库中存在漏洞的工作流配置早于该安全变更。因此,依赖外部工具和自动化流程的开发者不能完全寄希望于平台的默认防护。

对于使用 Trivy 的组织和个人,应立即采取以下措施:

  1. 固定 Action 版本:在 GitHub Actions 工作流文件中,不要使用易被篡改的版本标签(如 v0.33.0),而应固定为完整的提交 SHA 哈希值。
  2. 升级至安全版本:立即检查并升级至已确认安全的版本:Trivy v0.69.3trivy-action 0.35.0 以及 setup-trivy 0.2.6
  3. 检查入侵痕迹:安全团队应立即检查组织内的 GitHub 账户,是否存在名为 tpcp-docs 的公开仓库,这直接表明数据外泄已成功。
  4. 轮换所有凭证:假设所有在可能受感染环境中使用过的密钥和令牌都已泄露,必须立即进行全面轮换。
  5. 网络边界防护:在企业网络边界的安全设备上,拦截攻击者所使用的 C2(命令与控制)域名及其相关 IP 地址。

这一事件再次提醒我们,在享受开源和自动化带来的效率红利时,必须对供应链安全保持持续的关注和投入。定期审计依赖、遵循最小权限原则、及时应用安全补丁,是守护研发环境安全的必要防线。

参考来源:
Trivy vulnerability scanner backdoored with credential stealer in supply chain attack
https://www.csoonline.com/article/4148317/trivy-vulnerability-scanner-backdoored-with-credential-stealer-in-supply-chain-attack.html




上一篇:RSAC 2026前瞻:AI安全运营的五大矛盾与企业务实部署指南
下一篇:从VIM到VS Code:Python开发老鸟为何偏爱官方Python插件
您需要登录后才可以回帖 登录 | 立即注册

手机版|小黑屋|网站地图|云栈社区 ( 苏ICP备2022046150号-2 )

GMT+8, 2026-3-23 03:59 , Processed in 0.502290 second(s), 41 queries , Gzip On.

Powered by Discuz! X3.5

© 2025-2026 云栈社区.

快速回复 返回顶部 返回列表