Trivy是Aqua Security维护的一款热门开源漏洞扫描器,在一个月内第二次遭到攻击,恶意软件窃取了敏感的CI/CD机密信息。
最新事件影响了GitHub Actions中的"aquasecurity/trivy-action"和"aquasecurity/setup-trivy",这两个工具分别用于扫描Docker容器镜像漏洞和在GitHub Actions工作流中设置特定版本的扫描器。
Socket安全研究员Philipp Burckhardt表示:"我们发现攻击者强制推送了aquasecurity/trivy-action存储库中76个版本标签中的75个,这是在CI/CD管道中运行Trivy漏洞扫描的官方GitHub Action。这些标签被修改以提供恶意载荷,有效地将受信任的版本引用转变为信息窃取器的分发机制。"
该载荷在GitHub Actions运行器中执行,旨在从CI/CD环境中提取有价值的开发者机密,如SSH密钥、云服务提供商凭证、数据库、Git、Docker配置、Kubernetes Token以及加密货币钱包等。
这是涉及Trivy的第二起供应链事件。在2026年2月底和3月初,一个名为hackerbot-claw的自动机器人利用"pull_request_target"工作流漏洞窃取了个人访问Token(PAT),随后利用该Token控制GitHub存储库,删除了多个发布版本,并向Open VSX推送了两个恶意版本的Visual Studio Code扩展。
安全研究员Paul McCarty首次发现了妥协迹象,当时aquasecurity/trivy GitHub存储库发布了一个新的受感染版本(0.69.4版本)。该恶意版本现已被删除。根据Wiz的分析,版本0.69.4既启动了合法的Trivy服务,也启动了负责一系列任务的恶意代码:
通过扫描系统环境变量和凭证进行数据窃取,加密数据并通过HTTP POST请求将其泄露到scan.aquasecurtiy[.]org。
在确认运行在开发者机器上后,使用systemd服务建立持久性。该systemd服务配置为运行Python脚本("sysmon.py"),该脚本轮询外部服务器以检索载荷并执行。
Aqua Security开源副总裁Itay Shakury在声明中表示,攻击者滥用了被泄露的凭证来发布恶意的trivy、trivy-action和setup-trivy版本。在"aquasecurity/trivy-action"的案例中,攻击者强制推送了75个版本标签指向包含Python信息窃取器载荷的恶意提交,而没有创建新版本或推送到分支。七个"aquasecurity/setup-trivy"标签也以同样的方式被强制推送。
Burckhardt告诉The Hacker News:"在这种情况下,攻击者不需要利用Git本身。他们拥有具有足够权限推送代码和重写标签的有效凭证,这就是我们观察到的标签中毒的原因。目前尚不清楚在这个特定步骤中使用的确切凭证(例如,维护者PAT vs 自动化Token),但现在已知根本原因是从早期事件中延续的凭证妥协。"
该安全厂商也承认最新攻击源于对hackerbot-claw事件的不完整遏制。Shakury说:"我们轮换了机密和Token,但这个过程不是原子性的,攻击者可能已经获得了刷新的Token。我们现在采取更严格的方法,锁定所有自动化操作和任何Token,以彻底消除问题。"
该窃取器分三个阶段运行:从运行器进程内存和文件系统中收集环境变量,加密数据,并将其泄露到攻击者控制的服务器("scan.aquasecurtiy[.]org")。
如果泄露尝试失败,受害者自己的GitHub账户会被滥用,通过使用捕获的INPUT_GITHUB_PAT(在GitHub Actions中用于传递GitHub PAT以进行GitHub API认证的环境变量)在名为"tpcp-docs"的公共存储库中暂存被窃取的数据。
目前尚不清楚谁是攻击背后的黑手,尽管有迹象表明被称为TeamPCP的威胁行为者可能是幕后黑手。这一评估基于凭证收集器在源代码中自我识别为"TeamPCP Cloud stealer"的事实。该组织也被称为DeadCatx3、PCPcat、PersyPCP、ShellForce和CipherForce,以作为云原生网络犯罪平台而闻名,旨在破坏现代云基础设施以促进数据窃取和勒索。
Socket表示:"此载荷中的凭证目标与该组织更广泛的云原生窃取和货币化配置文件一致。对Solana验证器密钥对和加密货币钱包的重度关注作为TeamPCP的标志性特征记录较少,尽管这与该组织已知的财务动机相符。自我标记可能是虚假标志,但与之前TeamPCP工具的技术重叠使得真正的归因变得合理。"
建议用户确保使用最新的安全版本:
trivy 0.69.3
trivy-action 0.35.0
setup-trivy 0.2.6
Shakury说:"如果您怀疑运行了受感染的版本,请将所有管道机密视为已泄露并立即轮换。"其他缓解步骤包括在网络级别阻止泄露域和相关IP地址(45.148.10[.]212),以及检查GitHub账户中名为"tpcp-docs"的存储库,这可能表明通过后备机制成功泄露。
Wiz研究员Rami McCarthy说:"将GitHub Actions固定到完整的SHA哈希值,而不是版本标签。版本标签可能被移动指向恶意提交,正如这次攻击所证明的那样。"
Q&A
Q1:Trivy是什么?为什么会被攻击?
A:Trivy是Aqua Security维护的一款热门开源漏洞扫描器,主要用于扫描Docker容器镜像漏洞。它被攻击是因为攻击者获得了被泄露的凭证,并利用这些凭证发布恶意版本来窃取CI/CD环境中的敏感信息。
Q2:这次攻击具体做了什么?
A:攻击者强制推送了75个版本标签指向恶意代码,该恶意载荷可以窃取SSH密钥、云服务提供商凭证、数据库、Git、Docker配置、Kubernetes Token和加密货币钱包等敏感信息,并将数据加密后发送到攻击者控制的服务器。
Q3:用户应该如何应对这次安全事件?
A:用户应该立即更新到最新安全版本(trivy 0.69.3、trivy-action 0.35.0、setup-trivy 0.2.6),如果怀疑使用了受感染版本,需要轮换所有管道机密,阻止恶意域名和IP地址,并检查GitHub账户中是否存在名为"tpcp-docs"的存储库。
好文章,需要你的鼓励
企业谈AI基础设施时,注意力往往首先集中在模型、GPU和算力集群上。但当大模型应用走向规模化推理,一个瓶颈开始浮现:算力采购完成,并不意味着Token能够被稳定、低成本、可控地交付出去。
STATE16研究院这篇综述发现,物理AI系统存在"静默失效"风险——AI以高度自信执行基于错误世界信息的动作,却不触发任何报警,并提出在AI输出与物理执行之间建立独立授权层的框架。
穆拉蒂时隔18个月首次接受重大媒体采访,介绍其创立的Thinking Machines Lab正在开发的"交互模型"。该模型能以200毫秒间隔处理音频、文本和视频流,捕捉人类交流中的中断、修正和停顿。她还谈及OpenAI"政变周"经历,强调行业决策权过于集中的担忧,并回应了公司近期研究人员离职问题,表示这是初创实验室的正常波动。
UIUC与微软联合研发的OpenWebRL框架让4B小模型仅凭400条初始数据,通过在真实网站上边做边学的强化学习方式,在网页智能体基准上超越了用27万条数据训练的竞争对手。