Two Arrests in Perth Do Not Rotate 500,000 Credentials
Law enforcement has closed the attribution question on TeamPCP; the build-pipeline secrets the crew harvested from security scanners are still valid and still trading.
What the worm actually targeted
The selection logic is the part worth studying. TeamPCP did not backdoor end-user applications. It compromised Trivy, KICS, LiteLLM and Telnyx — packages that run inside CI with privilege. Trivy and KICS are scanners with read access to source and pipeline secrets. LiteLLM almost certainly holds provider API keys. The worm stayed dormant until it landed on a developer machine, harvested stored credentials, then injected itself into other libraries that developer maintained. Every infected maintainer became a distribution node. Risky Business maps the chain as T1195.002 → T1552.001/T1555 → T1078, with a self-propagation loop back into T1195. That loop is how a two-person crew reached a six-figure credential count.
Where the sources agree and where they diverge
All three accounts land on the same operative point: arrests are not remediation. The AFP charged two Western Australian men, named locally as Ruben Thomson, 21, and Louis Gaebler, 23, with 14 combined offences. The investigation began in April with FBI assistance. Scope is where the accounts split. The Hacker News frames exposure around the March 2026 Trivy and Checkmarx compromise window. CyberScoop reports 1,000+ organisations, 500,000+ credentials, 300GB+ exfiltrated, and cleanup costs in the hundreds of millions. Risky Business adds that 78,000+ tokens and secrets from almost 2,200 organisations leaked publicly last month, a small fraction of the haul. Its read is that crews dump data deliberately so rivals reuse it and attribution muddles. Plan for follow-on intrusions being misattributed to someone else.
The compromise sat in the build pipeline, not in the shipped product — which is why nothing in your SBOM diff will tell you whether your secrets are gone.
Two active exploitation events buried in the same cycle
Two items alongside the arrests need same-day handling. PaperCut MF/NG patched an actively exploited zero-day on Thursday and published nothing else. No CVE. No indicators. That combination removes the option of writing compensating detection, which leaves patching as the only control. Print servers are domain-joined and routinely unmonitored, so pair the patch with a 60-day retro hunt for anomalous outbound connections and file access. Gitea CVE-2026-60004 carries CVSS 9.8, has been in KEV since August 25, and is being exploited in the wild despite last month's patch. Repository write access converts to shell execution as the service account: a malicious patch to the diffpatch endpoint plants an executable Git hook. A compromised Git host delivers TeamPCP's outcome without the worm.
The structural fix
Rotation is the immediate work. The durable move is removing what the pattern feeds on. Long-lived CI secrets are the fuel; short-lived OIDC federation plus default-deny egress on build runners makes the propagation model non-viable. That one change outweighs any detection written for this specific crew, and it holds after they reconstitute.
What to do
Patch PaperCut MF/NG to the patched release across all instances as a priority, then hunt 60 days of print-server logs for anomalous outbound connections and file access.
Rotate every credential a developer endpoint or build runner could read if Trivy, KICS, LiteLLM or Telnyx ran in CI during 2026 — registry tokens, cloud keys, PATs, signing keys, SCM tokens — and cross-check your domains against the leaked 2,200-organisation token set.
Replace long-lived CI secrets with short-lived OIDC federation and add default-deny egress to build runners this quarter, with SHA-pinning on all third-party actions.