By March 19th, it was detected that a malicious update had been published across the GitHub, DockerHub, and ECR channels belonging to Aqua Security — Trivy. This malicious update was designed to collect sensitive data, passwords, SSH keys, cryptocurrency wallets, and similar information from the system it was running on, then encrypt this data and transmit it to a target C2 server — GHSA-69fq-xp46–6×23
On March 23rd, the target was once again a cybersecurity product: Checkmarx — KICS. The attackers targeted sensitive information using malicious content that operated in exactly the same manner as the Trivy case — KICS Issue 152
All of these attacks were carried out by a threat actor known as TeamPCP. The actor is known to have focused efforts on cloud-native infrastructures.
On March 24th, the victim this time was LiteLLM. An entirely identical attack scenario to Trivy and Checkmarx — collecting all sensitive information from the environment it is running in, encrypting it, and sending it to a C2 server — LiteLLM Issue 24512
A classic Watering Hole attack is passive in nature, the predator sets the trap and waits. However, the TeamPCP incidents reveal an evolved variant of this approach. Rather than waiting for victims to stumble upon a compromised resource, the attacker chose to embed themselves directly into the supply chain of tools that victims were already guaranteed to use — designing a structure that would leave their targets with no opportunity to escape.