Glossary term
Infostealer
An infostealer is a type of malware that copies saved passwords, browser cookies and other data from an infected device and sends it to the attacker.
Quick links
Press Enter to search, Esc to close
Malware profile
TeamPCP Cloud Stealer is a credential stealer that checks more than 50 file paths on build servers, cloud accounts and developer machines.
In short
TeamPCP Cloud Stealer is a credential stealer that checks more than 50 file paths on build servers, cloud accounts and developer machines. It encrypts what it finds and sends it out, with a fallback that uses the victim's own GitHub account. MITRE says TeamPCP used it as its main payload in March 2026, and the FBI uses the name SANDCLOCK for the same tool.
MITRE describes TeamPCP Cloud Stealer as a filesystem credential stealer for CI/CD, cloud, developer tooling and container environments. It reads the memory of the GitHub Actions runner process, searches for keys, tokens and cryptocurrency wallets, and bundles the result before sending it out.
The Trivy project advisory shows how it reached victims: the code ran inside tampered Trivy components, before the real security scan. The FBI says the same actor also compromised other developer tools, and that stolen credentials can be used long after the first compromise.
The FBI lists SANDCLOCK among four tools TeamPCP deployed, and describes it as a credential stealing tool that extracts AWS credentials, Kubernetes ServiceAccount tokens, local environment variables and cryptocurrency wallet data.
Public sources use several names for this malware.
| Name | Where it appears |
|---|---|
| TeamPCP Cloud Stealer | MITRE ATT&CK software S9041[1] |
| SANDCLOCK | MITRE alias for S9041, and the name used for the same tool in FBI FLASH-20260702-01[1, 2] |
What MITRE ATT&CK lists this malware as doing, by tactic. Each id opens our technique page where one exists, otherwise MITRE.
OS Credential Dumping: Proc Filesystem T1003.007
It reads the memory of the GitHub Actions runner process to pull out secrets, including plaintext tokens.[1, 3]
Steal Application Access Token T1528
It extracts plaintext tokens from the memory of the runner process.[1]
Unsecured Credentials: Credentials In Files T1552.001
It checks more than 50 file paths for credentials in CI/CD, cloud and container environments.[1, 3]
Unsecured Credentials: Container API T1552.007
It can query the Kubernetes API to get credentials.[1]
Credentials from Password Stores: Cloud Secrets Management Stores T1555.006
It looks through several file paths for AWS, GCP and Azure access credentials.[1]
Credentials from Password Stores T1555
It can take credentials from cryptocurrency wallets and key stores.[1]
Command and Scripting Interpreter: Unix Shell T1059.004
MITRE says it abused shell scripts inside GitHub Actions for discovery and credential harvesting. The Trivy advisory places the stealer in the entrypoint.sh script.[1, 3]
Command and Scripting Interpreter: JavaScript T1059.007
It has infected victims through pre-install and post-install scripts in package.json files.[1]
Container Administration Command T1609
It can run kubectl get secrets to take credentials from Kubernetes.[1]
Execution Guardrails T1480
It checks whether it runs on a developer machine rather than in GitHub Actions before running its persistence script.[1]
Obfuscated Files or Information: Encrypted/Encoded File T1027.013
It has used multi-stage payloads with double Base64-encoded scripts to avoid static analysis.[1]
Masquerading: Match Legitimate Resource Name or Location T1036.005
It has installed a backdoor named sysmon.py.[1]
Encrypted Channel: Asymmetric Cryptography T1573.002
It has encrypted collected data with a hybrid of RSA-4096 and AES-256 before sending it with curl.[1, 3]
Fallback Channels T1008
It posts data to an attacker domain and, if that fails, can use the victim's own GitHub account to create a public repository and upload the data as a release asset.[1, 3]
Exfiltration Over Web Service: Exfiltration to Code Repository T1567.001
It can use the victim's own GITHUB_TOKEN to create a repository and upload stolen credentials.[1, 3]
Automated Exfiltration T1020
It compresses and encrypts data and posts it to an attacker-controlled domain without operator action.[1]
The Trivy project advisory says the attacker used compromised credentials to publish a malicious Trivy release, to force-push 76 of 77 version tags of the trivy-action GitHub Action to malicious commits, and to publish malicious container images on Docker Hub. MITRE adds that the stealer has infected victims through pre-install and post-install scripts in package.json files. The PyPI incident report says stolen tokens and keys let the attackers compromise further packages. The FBI says TeamPCP injected malicious code into legitimate packages and sent trojanized updates that looked normal.
The order of steps in a typical infection, as the sources describe it.
In the Trivy action, the malicious code was injected into entrypoint.sh and runs before the real Trivy scan.[3]
It dumps Runner.Worker process memory and sweeps more than 50 file paths for SSH keys, cloud credentials, Kubernetes tokens, Docker configs, .env files, database credentials and cryptocurrency wallets.[3]
The collected data is encrypted with AES-256-CBC and RSA-4096 hybrid encryption.[3]
It transmits the data to attacker-controlled infrastructure.[3]
If sending fails and a GitHub token is set, it creates a public tpcp-docs repository on the victim's GitHub account and uploads the stolen data as a release asset.[3]
The Trivy project says an actor used compromised credentials to publish Trivy v0.69.4, force-push 76 of 77 trivy-action tags and replace all 7 setup-trivy tags.[3]
CERT-EU says an actor acquired an AWS secret of the European Commission through the Trivy compromise on 19 March, and launched TruffleHog the same day.[4]
The Trivy project says an actor published Trivy v0.69.5 and v0.69.6 images on Docker Hub using separately compromised credentials.[3]
GitHub published an advisory for the two LiteLLM versions, linking them to an exploited Trivy dependency.[9]
BSI warning BITS-V 2026-237970-1032 describes the Trivy compromise and says TeamPCP is reported to be behind it.[6]
CERT-EU says the group ShinyHunters released the exfiltrated dataset on its leak site.[4]
CERT-EU cyber brief 26-04 covers the Trivy and LiteLLM compromises and attributes them to TeamPCP.[5]
The FBI lists SANDCLOCK among the malware deployed by TeamPCP in FLASH-20260702-01.[2]
MITRE describes it as a filesystem credential stealer that can harvest, encrypt and exfiltrate credentials from over 50 sensitive file paths in CI/CD, cloud, developer tooling and container environments.
MITRE lists SANDCLOCK as an alias of TeamPCP Cloud Stealer. The FBI describes SANDCLOCK as a credential stealing tool used by TeamPCP that extracts AWS credentials, Kubernetes ServiceAccount tokens, environment variables and cryptocurrency wallet data.
The Trivy project says an attacker used compromised credentials to publish a malicious Trivy release and to move 76 of 77 trivy-action tags to malicious commits. The stealer ran before the real scan.
BSI and the Trivy project say to assume compromise, treat reachable secrets as leaked and update to the safe versions. The FBI also asks for rotation of CI/CD secrets, publishing tokens and cloud credentials.
LiteLLM and CERT-EU say a credential stealer was in the two bad LiteLLM versions, and CERT-EU attributes that compromise to TeamPCP. None of the sources opened names the payload as TeamPCP Cloud Stealer.
The FBI lists CanisterWorm, a credential harvester for cloud services, Mini Shai-Hulud, a self-replicating worm across npm and PyPI, and Miasma, a variant of Mini Shai-Hulud, alongside SANDCLOCK.
The FBI names Trivy, KICS, LiteLLM and the Telnyx Python SDK, and says these are commonly part of CI/CD pipelines, cloud infrastructure and security workflows.
The FBI says to search GitHub organization repositories for repositories named tpcp-docs or docs-tpcp, which are created using stolen credentials.
The FBI says stolen data and credentials are a persistent risk and that affiliated actors are likely to use them long after the first compromise.
Take control of your digital security with an exclusive demo of our AI-driven threat intelligence platform.