Discover how the TeamPCP campaign compromised Trivy, Checkmarx, and LiteLLM across GitHub, PyPI, NPM, and more—and what to change in your security programme now.


On March 19, 2026, attackers compromised Aqua Security's Trivy vulnerability scanner. Within six days, that single breach had cascaded into Checkmarx's KICS static analysis tool and BerriAI's LiteLLM, a Python library for interacting with large language model providers that Wiz estimates is present in roughly 36% of cloud environments. The campaign spanned GitHub Actions, Docker Hub, PyPI, NPM, and the OpenVSX extension marketplace.
Each stage of the TeamPCP gave the attackers the access they needed for the next, creating a cascading chain across vendors and ecosystems.

In late February, an attacker exploited a misconfiguration in Trivy's GitHub Actions workflows to steal a service account credential. Aqua rotated the credential, but the rotation was not atomic, and the attackers retained access before the credentials were fully revoked. On March 19, they used it to push a malicious Trivy release (CVE-2026-33634) and tamper with nearly all version tags for Trivy's GitHub Action and setup-trivy, turning the project's own release infrastructure into a distribution mechanism for credential-stealing payloads.
The stolen credentials gave the attackers access to multiple platforms and a second security vendor over four days:
LiteLLM's build pipeline used Trivy for security scanning. The attackers used a stolen PyPI publishing token to publish two malicious versions of LiteLLM (1.82.7 and 1.82.8), which were live for roughly three hours before being quarantined. Version 1.82.8 executed automatically whenever any Python process started in an affected environment, harvesting cloud tokens, database credentials, SSH keys, and environment variables.
The individual steps were well-documented attack patterns, but the campaign was effective because of how supply chains connected them across otherwise unrelated tools and vendors. A credential rotation that may not have fully revoked access gave the attackers a second opportunity, and the chain of dependencies between Trivy and downstream tools like LiteLLM did the rest.
Security tooling was the attack surface. Trivy is a vulnerability scanner. KICS is a static analysis tool. The tools organisations run to secure their pipelines were the entry point. These tools are often implicitly trusted and granted broad access to CI/CD environments.
Transitive dependencies are invisible to traditional TPRM. Not every organisation that depended on LiteLLM also used Trivy. LiteLLM was compromised because its build pipeline depended on Trivy, which was compromised first. Open-source tools like Trivy rarely appear in vendor questionnaires because there is no commercial relationship to assess. A security scanner compromising an AI library compromising downstream consumers is exactly the kind of chain that traditional vendor questionnaires don't capture.
A single campaign spanned five ecosystems. TeamPCP pivoted across GitHub Actions, Docker Hub, PyPI, NPM, and OpenVSX. Monitoring a single package registry or platform is not enough when one set of stolen credentials can reach across all of them.
If you have not done so already, we recommend:
Monthly research, case studies and practical guides you won't find anywhere else.
Join thousands of security managers turning their TPRM programmes into success stories.