Fetching from the wire…
Top 5 · 2026-03-27 · source-backed
A security scanner. The tool your team trusts to find vulnerabilities. That was the entry point.
The TeamPCP campaign compromised Aqua Security's Trivy scanner (a GitHub Action used in CI/CD pipelines), then used that foothold to backdoor LiteLLM's CI/CD pipeline, then pivoted to Checkmarx KICS. The attack chain is almost elegant in how it exploits trust hierarchies: developers pin their application dependencies but treat security scanning tools as implicitly trusted. The attackers went after exactly that assumption.
On March 19, attacker "TeamPCP" force-pushed 75 of 76 tags on the trivy-action GitHub Action with malicious binaries that exfiltrated AWS, GCP, and Azure credentials, SSH keys, and Kubernetes tokens from approximately 10,000 GitHub workflows. This was the second compromise in March. The first happened March 1, and the root cause was incomplete credential rotation after that first incident. They didn't rotate everything. The attackers came back through the gap.
Callum McMahon published a minute-by-minute transcript (highlighted by Simon Willison) of using Claude to analyze the backdoored LiteLLM package in real time during the incident, tracing the base64-encoded payload and identifying exfiltration targets. The irony of using an AI coding tool to analyze a supply chain attack that was itself enabled by security tooling isn't lost on me.
A Datadog DevSecOps report revealed that 71% of organizations never pin GitHub Actions to commit hashes. That means nearly three-quarters of CI/CD pipelines are vulnerable to exactly this type of tag-mutation attack right now.
GitHub responded. Their 2026 Actions security roadmap introduces a new dependencies: section in workflow YAML that locks all direct and transitive dependencies by commit SHA, similar to how go.mod and go.sum work. It's the right architectural response. But it's not shipped yet.
For builders: do this today. Pin every GitHub Action in your workflows to a full commit SHA, not a version tag. Replace uses: aquasecurity/[redacted] with uses: aquasecurity/trivy-action@<full-sha>. It takes 20 minutes and it closes the exact attack vector that hit 10,000 pipelines this month. If you're using MCP servers, CI/CD tools, or coding agents that install dependencies, treat every dependency as untrusted code, because after this week, that's exactly what it is.
Each link below shares sources, entities, or timing with this story.
Two AI toolchain CVEs hit CISA's Known Exploited Vulnerabilities catalog this week, and the attack chain connecting them is the kind of thing that should change how you think about supply chain trust. CVE-2026-33017: Langflow, the popular agent workflow builder, has an unauthe...
Every Python process on your machine just became a potential credential exfiltration endpoint if you installed the wrong version of LiteLLM today. LiteLLM versions 1.82.7 and 1.82.8, published to PyPI on March 24, contained a malicious .pth file that executes automatically on...
A month ago, TeamPCP compromised Trivy's GitHub Actions runners. Then they trojanized LiteLLM on PyPI. Now Wiz Research confirms they've expanded to npm via a worm called CanisterWorm, using stolen publish tokens to push malicious packages across JavaScript's package ecosystem...
Hudson Rock got hold of the archive and counted it. 433,909 files. 118,829 CI runner dumps traced to 2,488 corporate domains. AWS keys, Salesforce client secrets, Slack signing secrets, Azure environment variables, and AI provider API keys belonging to NVIDIA, Volkswagen, Micr...
The supply chain verification system you trust just got bypassed by a worm that carries valid provenance attestations. On May 11, an attacker group called TeamPCP launched Mini Shai-Hulud, compromising 172 npm and PyPI packages across 403 malicious versions totaling 518 millio...
The token was rotated. It was never revoked. That gap was about twenty days wide, and it was enough. CloudSEK disclosed that Team PCP compromised LiteLLM PyPI versions 1.82.7 and 1.82.8 by taking over the Trivy security scanner inside LiteLLM's build process. The mechanism: a...
MindPattern daily
One email a day at 7 AM. Sources and a take on every story. Unsubscribe anytime.