TeamPCP Unified: Your Security Scanners Were the Weapon, Ransomware Is the Endgame
Campaign Attribution Changes Everything
What appeared to be separate supply chain incidents — the Axios npm compromise, the LiteLLM PyPI backdoor, the Checkmarx GitHub Action poisoning — has been attributed to a single threat actor: TeamPCP. Independent analysis by SANS ISC researcher Kenneth Hartman confirmed the full scope: all 91 published Checkmarx ast-github-action tags were overwritten in a 7-minute window (19:09-19:16 UTC on March 23), Trivy's scanner was weaponized via CVE-2026-33634 (now on CISA KEV), and the campaign cascaded across npm, PyPI, Docker Hub, GitHub Actions, and VS Code marketplace from a single stolen credential.
When your vulnerability scanner is the attack vector, your CI/CD pipeline is the blast radius, and the threat actor has named enterprise victims — the question isn't whether you're affected, it's how fast you can verify you're not.
Vendors Systematically Underreported Scope
Multiple sources independently flagged a structural trust problem in vendor disclosures:
| Source | Reported Scope | Verified Scope |
|---|---|---|
| Checkmarx advisory | "All older versions permanently deleted" (no count) | All 91 tags overwritten |
| Sysdig analysis | v2.3.28 "possibly more" | All 91 tags confirmed |
| Wiz assessment | "Likely all tags" (observed single tag) | All 91 tags confirmed via GitHub logs |
This gap between vendor disclosure and reality is not new, but the scale of underreporting in a campaign affecting security tooling itself is unprecedented.
Ransomware Monetization Is Live
TeamPCP has transitioned from supply chain access to active ransomware operations. AstraZeneca's data has been publicly released. Databricks is investigating an alleged compromise. A mass ransomware affiliate program called Vect launched March 27. Meanwhile, CanisterWorm — the first documented self-propagating supply chain worm — spread across 66+ npm packages using blockchain-based C2 infrastructure that cannot be conventionally taken down.
The GitHub Actions SHA Pinning Defense Is Broken
Security researcher Aiden Vaines documented a fundamental flaw in the primary defense against Actions supply chain attacks: an attacker can fork a GitHub Action, inject malicious code, and submit a PR changing only the SHA reference. The PR appears to reference the same owner/repo despite coming from a different user. GitHub's fixes — dependency locking, scoped secrets, Layer 7 egress firewall — are 3-6 months from shipping. That gap is your maximum exposure window.
Why This Is Different From SolarWinds
SolarWinds compromised a build system to poison a software update. TeamPCP compromised the tools you use to scan for compromises. Organizations that were diligently running security scans were executing attacker code. The 89-second C2 establishment time observed across 135 monitored Axios endpoints means traditional detection workflows are irrelevant — the compromise completes before your SIEM finishes its correlation.
What to do
Audit ALL CI/CD pipelines for Checkmarx ast-github-action, Aqua Trivy action, and LiteLLM/Telnyx PyPI usage by end of day. Any match = full secrets rotation for that pipeline.
Convert all GitHub Actions from tag-based references to full commit SHA hashes this sprint. Mandate two-person review for any SHA changes in workflow files.
Update incident response playbooks to assume maximum blast radius until independently verified for any supply chain incident. Do not scope response based on initial vendor advisories.
Build GitHub Actions security roadmap adoption plan — dependency locking, scoped secrets, egress firewall, Actions Data Stream — for day-one enablement when features ship in Q3.