Trivy vulnerability scanner breach pushed infostealer via GitHub Actions
News
Featured Latest
Trivy vulnerability scanner breach pushed infostealer via GitHub Actions
Microsoft Azure Monitor alerts abused for callback phishing attacks
Musician admits to $10M streaming royalty fraud using AI bots
FBI links Signal phishing attacks to Russian intelligence services
Varonis Atlas: Securing AI and the Data That Powers It
Microsoft Exchange Online service change causes email access issues
Block ads and trackers on 9 devices for only $16 in this deal
FBI warns of Handala hackers using Telegram in malware attacks
Tutorials
Latest Popular
How to access the Dark Web using the Tor Browser
How to enable Kernel-mode Hardware-enforced Stack Protection in Windows 11
How to use the Windows Registry Editor
How to backup and restore the Windows Registry
How to start Windows in Safe Mode
How to remove a Trojan, Virus, Worm, or other Malware
How to show hidden files in Windows 7
How to see hidden files in Windows
Webinars Downloads
Latest Most Downloaded
Qualys BrowserCheck
STOPDecrypter
AuroraDecrypter
FilesLockerDecrypter
AdwCleaner
ComboFix
RKill
Junkware Removal Tool
Deals
Categories
eLearning
IT Certification Courses
Gear + Gadgets
Security
VPNs
Popular
Best VPNs
How to change IP address
Access the dark web safely
Best VPN for YouTube
Forums More
Virus Removal Guides Startup Database Uninstall Database Glossary Send us a Tip! Welcome Guide
HomeNewsSecurityTrivy vulnerability scanner breach pushed infostealer via GitHub Actions
Trivy vulnerability scanner breach pushed infostealer via GitHub Actions
By Lawrence Abrams
March 21, 2026 01:30 PM 0
The Trivy vulnerability scanner was compromised in a supply-chain attack by threat actors known as TeamPCP, which distributed credential-stealing malware through official releases and GitHub Actions. Trivy is a popular security scanner that helps identify vulnerabilities, misconfigurations, and exposed secrets across containers, Kubernetes environments, code repositories, and cloud infrastructure. Because developers and security teams commonly use it, it is a high-value target for attackers to steal sensitive authentication secrets. The breach was first disclosed by security researcher Paul McCarty, who warned that Trivy version 0.69.4 had been backdoored, with malicious container images and GitHub releases published to users. Further analysis by Socket and later by Wiz determined that the attack affected multiple GitHub Actions, compromising nearly all version tags of the trivy-action repository. Researchers found that threat actors compromised Trivy's GitHub build process, swapping the entrypoint.sh in GitHub Actions with a malicious version and publishing trojanized binaries in the Trivy v0.69.4 release, both of which acted as infostealers across the main scanner and related GitHub Actions, including trivy-action and setup-trivy. The attackers abused a compromised credential with write access to the repository, allowing them to publish malicious releases. These compromised credentials are from an earlier March breach, in which credentials were exfiltrated from Trivy's environment and not fully contained. The threat actor force-pushed 75 out of 76 tags in the aquasecurity/trivy-action repository, redirecting them to malicious commits. As a result, any external workflows using the affected tags automatically executed the malicious code before running legitimate Trivy scans, making the compromise difficult to detect. Socket reports that the infostealer collected reconnaissance data and scanned systems for a wide range of files and locations known to store credentials and authentication secrets, including: Reconnaissance data: hostname, whoami, uname, network configuration, and environment variables SSH: private and public keys and related configuration files Cloud and infrastructure configs: Git, AWS, GCP, Azure, Kubernetes, and Docker credentials Environment files: .env and related variants Database credentials: configuration files for PostgreSQL, MySQL/MariaDB, MongoDB, and Redis Credential files: including package manager and Vault-related authentication tokens CI/CD configurations: Terraform, Jenkins, GitLab CI, and similar files TLS private keys VPN configurations Webhooks: Slack and Discord tokens Shell history files System files: /etc/passwd, /etc/shadow, and authentication logs Cryptocurrency wallets
Infostealer harvesting credentials, SSH keys, and environment filesSource: BleepingComputer The malicious script would also scan memory regions used by the GitHub Actions Runner.Worker process for the JSON string "" <name> ":{ "value": "<secret>", "isSecret":true}" to find additional authentication secrets. On developer machines, the trojanized Trivy binary performed similar data collection, gathering environment variables, scanning local files for credentials, and enumerating network interfaces. Collected data was encrypted and stored in an archive named tpcp.tar.gz, which was then exfiltrated to a typosquatted command-and-control server at scan.aquasecurtiy[.]org. If exfiltration failed, the malware created a public repository named tpcp-docs within the victim's GitHub account and uploaded the stolen data there. To persist on a compromised device, the malware would also drop a Python payload at ~/.config/systemd/user/sysmon.py and register it as a systemd service. This payload would check a remote server for additional payloads to drop, giving the threat actor persistent access to the device. The attack is believed to be linked to a threat actor known as TeamPCP, as one of the infostealer payloads used in the attack has a "TeamPCP Cloud stealer" comment as the last line of the Python script. "The malware self-identifies as TeamPCP Cloud stealer in a Python comment on the final line of the embedded filesystem credential harvester. TeamPCP, also tracked as DeadCatx3, PCPcat, and ShellForce, is a documented cloud-native threat actor known for exploiting misconfigured Docker APIs, Kubernetes clusters, Ray dashboards, and Redis servers," explains Socket.
Comment showing the script was named TeamPCP Cloud StealerSource: BleepingComputer Aqua Security confirmed the incident, stating that a threat actor used compromised credentials from the earlier incident that was not properly contained. "This was a follow up from the recent incident (2026-03-01) which exfiltrated credentials. Our containment of the first incident was incomplete," explained Aqua Security. "We rotated secrets and tokens, but the process wasn't atomic and attackers may have been privy to refreshed tokens." The malicious Trivy release (v0.69.4) was live for approximately three hours, with compromised GitHub Actions tags remaining active for up to 12 hours. The attackers also tampered with the project’s repository, deleting Aqua Security’s initial disclosure of the earlier March incident. Organizations that used affected versions during the incident should treat their environments as fully compromised. This includes rotating all secrets, such as cloud credentials, SSH keys, API tokens, and database passwords, and analyzing systems for additional compromise. Follow-up attack spreads CanisterWorm via npm Researchers at Aikido have also linked the same threat actor to a follow-up campaign involving a new self-propagating worm named "CanisterWorm," which targets npm packages. The worm compromises packages, installs a persistent backdoor via a systemd user service, and then uses stolen npm tokens to publish malicious updates to other packages. "Self-propagating worm. deploy.js takes npm tokens, resolves usernames, enumerates all publishable packages, bumps patch versions, and publishes the payload across the entire scope. 28 packages in under 60 seconds," highlights Aikido. The malware uses a decentralized command-and-control mechanism using Internet Computer (ICP) canisters, which act as a dead-drop resolver that provides URLs for additional payloads. Using ICP canisters makes the operation more resistant to takedown, as only the canister's controller can remove it, and any attempt to stop it would require a governance proposal and network vote. The worm also includes functionality to harvest npm authentication tokens from configuration files and environment variables, enabling it to spread across developer environments and CI/CD pipelines. At the time of analysis, some of the secondary payload infrastructure was inactive or configured with harmless content, but the researchers say this could change at any time.
Red Report 2026: Why Ransomware Encryption Dropped 38% Malware is getting smarter. The Red Report 2026 reveals how new threats use math to detect sandboxes and hide in plain sight.Download our analysis of 1.1 million malicious samples to uncover the top 10 techniques and see if your security stack is blinded. Download The Report
Related Articles: GlassWorm malware hits 400+ code repos on GitHub, npm, VSCode, OpenVSXAppsFlyer Web SDK hijacked to spread crypto-stealing JavaScript codeFBI seeks victims of Steam games used to spread malwareStarbucks discloses data breach affecting hundreds of employeesNew PhantomRaven NPM attack wave steals dev data via 88 packages
Breach GitHub Actions Infostealer Security Scanner Supply Chain Attack TeamPCP Trivy
Lawrence Abrams Lawrence Abrams is the owner and Editor in Chief of BleepingComputer.com. Lawrence's area of expertise includes Windows, malware removal, and computer forensics. Lawrence Abrams is a co-author of the Winternals Defragmentation, Recovery, and Administration Field Guide and the technical editor for Rootkits for Dummies.
Previous Article Next Article
Post a Comment Community Rules
You need to login in order to post a comment Not a member yet? Register Now
You may also like:
Popular Stories
Microsoft: March Windows updates break Teams, OneDrive sign-ins
CISA orders feds to patch max-severity Cisco flaw by Sunday
Microsoft Azure Monitor alerts abused for callback phishing attacks
Sponsor Posts
Secure your AI agents without sacrificing speed.
Overdue a password health-check? Audit your Active Directory for free
Cyber resilience without the complexity. Join Zero Networks to stop lateral movement fast.
Are refund fraud methods targeting your brand? You can monitor the underground for these threats.
AI is a data-breach time bomb: Read the new report
Follow us:
Main Sections
News Webinars VPN Buyer Guides SysAdmin Software Guides Downloads Virus Removal Guides Tutorials Startup Database Uninstall Database Glossary
Community
Forums Forum Rules Chat
Useful Resources
Welcome Guide Sitemap
Company
About BleepingComputer Contact Us Send us a Tip! Advertising Write for BleepingComputer Social & Feeds Changelog
Terms of Use - Privacy Policy - Ethics Statement - Affiliate Disclosure
Copyright @ 2003 - 2026 Bleeping Computer® LLC - All Rights Reserved
Login
Username
Password
Remember Me
Sign in anonymously
Sign in with Twitter
Not a member yet? Register Now
Reporter
Help us understand the problem. What is going on with this comment?
Spam
Abusive or Harmful
Inappropriate content
Strong language
Other
Read our posting guidelinese to learn what content is prohibited.
Submitting... SUBMIT |
The Trivy vulnerability scanner, a widely used tool for identifying security weaknesses in containerized environments and code repositories, experienced a significant compromise orchestrated by the threat actor group known as TeamPCP. This supply-chain attack leveraged a backdoored version of Trivy (v0.69.4) distributed through official GitHub releases and GitHub Actions, resulting in the deployment of an infostealer designed to compromise systems and extract sensitive information. The initial breach stemmed from a compromised credential utilized to publish malicious releases, a vulnerability that hadn’t been fully contained following a prior incident in March 2026.
Following the initial compromise, TeamPCP systematically manipulated 75 out of 76 tags within the `aquasecurity/trivy-action` repository, redirecting them to malicious commits. This effectively transformed benign Trivy workflows into active malware agents, silently scanning systems and harvesting a vast array of credentials and configuration details. The infostealer targeted a broad range of data, including reconnaissance information like hostnames and network configurations, SSH keys, cloud credentials for platforms such as AWS, GCP, and Azure, environment variables, database passwords, CI/CD configurations (including Terraform and Jenkins), TLS private keys, VPN settings, and even webhooks from platforms like Slack and Discord. Furthermore, the malicious script actively scanned memory regions within the GitHub Actions Runner.Worker process to identify and extract authentication secrets.
The attack’s sophistication was amplified by the attacker’s attempt to conceal their actions, deleting Aqua Security’s initial disclosure regarding the earlier March incident. The malware itself, identified as “TeamPCP Cloud stealer,” not only collected data but also employed a persistent infection strategy. It dropped a Python payload at `~/.config/systemd/user/sysmon.py`, establishing a systemd service that checked for additional payloads and delivered continuous access to the compromised device. This tactic was compounded by the deployment of a public GitHub repository named `tpcp-docs` which served as a dumping ground for the stolen data.
Investigations, conducted by Socket and Wiz, revealed a concerning trend: the compromised Trivy releases remained active for approximately three hours, with impacted GitHub Actions tags remaining vulnerable for up to twelve hours. The immediate fallout significantly increased the potential attack surface for users of the scanner. Concurrently, Aikido researchers linked TeamPCP to a subsequent campaign involving a self-propagating worm named “CanisterWorm,” targeting npm packages. This worm leveraged stolen npm tokens to propagate malicious updates across the npm ecosystem, creating a multi-faceted threat. The worm’s architecture utilized ICP (Internet Computer) canisters as a decentralized command-and-control mechanism, enhancing its resilience against takedown attempts by utilizing a governance proposal and network vote.
The incident highlighted critical vulnerabilities in Aqua Security's containment processes, as the initial breach went unaddressed, exposing refreshed tokens to the attackers. Organizations reliant on Trivy during this period are strongly advised to implement immediate safeguards, including rotating all secrets, performing thorough system scans, and closely monitoring for further suspicious activity. The breadth of data targeted and the attack’s multifaceted approach underscore the serious implications of supply-chain vulnerabilities and the importance of robust security practices within DevOps and CI/CD pipelines. |