Backdoored `tj-actions/changed-files` GitHub Action Leaked CI Secrets from Workflow Logs
The widely used GitHub Action tj-actions/changed-files was compromised after an attacker gained write access to the repository and retargeted release tags to a malicious orphaned commit, causing workflows pinned to tags rather than immutable SHAs to run attacker-controlled code. The backdoor downloaded and executed a remote payload that scraped decrypted GitHub Actions secrets from process memory and printed them into workflow logs, exposing repositories that executed the action and creating acute risk for public projects where logs were openly accessible. The incident was detected after anomalous outbound network activity was observed, and the maintainer removed the malicious changes soon afterward.
Follow-on analysis found the blast radius was substantial because the action was referenced across roughly 23,000 repositories and many workflows were not pinned to a full commit hash. GitGuardian reported that among workflows executed during the compromise window, hundreds showed signs of exploitation and 603 secrets were exposed in logs, including temporary GitHub tokens, DockerHub credentials, AWS keys, GitHub personal access tokens, Jira tokens, and cloud.gov credentials. Organizations using the action were urged to review workflow runs from March 14 onward, delete affected logs, rotate any exposed credentials, audit dependencies and commits, and pin third-party GitHub Actions to full commit SHAs to reduce future supply-chain risk.
Get ahead of threats like this
Mallory correlates global threat intelligence with your attack surface — know if you’re exposed before adversaries strike.
How this story unfolded
7 events from the most recent confirmed update back to the earliest known activity.
Coinbase identified as original target of GitHub Action compromise
By 2025-03-21, reporting indicated that Coinbase was the intended initial target of the tj-actions/changed-files supply-chain attack. This added a new victim-targeting detail to the incident beyond the previously documented broad downstream exposure across GitHub repositories.
GitGuardian quantifies exposed workflows and leaked secrets
On 2025-03-18, GitGuardian reported that among 1,104 workflows run during the attack window, 276 showed signs of exploitation and 603 secrets were exposed across affected repositories. The exposed data included temporary GitHub tokens, DockerHub credentials, AWS keys, GitHub personal access tokens, Jira tokens, and cloud.gov credentials.
Maintainer removes malicious changes and advises users to review logs
After the compromise was discovered, the maintainer rapidly removed the malicious changes from tj-actions/changed-files. Affected users were advised to inspect GitHub Actions logs from March 14 onward for leaked secrets and rotate exposed credentials.
StepSecurity detects anomalous network activity from the compromised action
The attack was reportedly identified quickly on 2025-03-14 after the malicious payload made an unusual outbound network call that drew attention from StepSecurity. This detection helped surface the compromise soon after it began.
Malicious payload leaks GitHub Actions secrets into workflow logs
During the compromise window, the backdoored action downloaded and ran a remote script that extracted decrypted secrets from runner memory and printed them into workflow logs. Public repositories were at particular risk because their logs could be publicly accessible.
tj-actions/changed-files supply-chain compromise begins
On 2025-03-14, an attacker with write access to the tj-actions/changed-files repository moved existing release tags to a malicious orphaned commit. Workflows pinned to tags then executed attacker-controlled code, affecting a GitHub Action used by roughly 23,000 repositories.
Researchers trace attack chain to stolen SpotBugs token in late 2024
Unit 42 reported that the tj-actions/changed-files supply-chain attack began earlier than first believed, with attackers stealing a SpotBugs maintainer's personal access token in late 2024 via an exposed GitHub Actions workflow. The attackers allegedly used that access to move through SpotBugs and reviewdog before tampering with dependencies that ultimately led to the March 2025 compromise of tj-actions/changed-files.
Related entities
Vulnerabilities, threat actors, malware, products, organizations, and breaches Mallory has linked to this story.
Sources
12 references tracked. Mallory keeps watching after this page renders.
GitHub Actions Automation Exploitation Supply Chain Risks Uncovered
linuxsecurity.com
Open sourceSecurity Incident Report: xygeni-action GitHub Action Compromise | Xygeni
xygeni.io
Open sourceStolen SpotBugs tokens sparked the massive GitHub attack
theregister.com
Open sourceCoinbase originally targeted during GitHub Action supply chain attack | Cybersecurity Dive
cybersecuritydive.com
Open sourceGitHub Actions supply chain attack spotlights CI/CD risks | TechTarget
techtarget.com
Open sourceGitHub Action tj-actions/changed-files supply chain attack | Wiz Blog
wiz.io
Open sourceTj-actions/changed-files GitHub Action Compromised - used by over 23K repos | Hacker News
news.ycombinator.com
Open sourceSupply chain attack abuses GitHub features to spread malware | TechTarget
techtarget.com
Open sourceSee the full picture, correlated to your attack surface.
Map indicators from this story to your assets and identify affected systems in minutes.
Every observed campaign, victim, and pivot linked to actors named in this story.
Malware, exploits, and IOCs connected to the activity described here.
YARA, Sigma, and Snort rules deployed to your SIEM as soon as they’re published.
Get matching new stories delivered to your team as they break — not the next morning.
Ask questions about this story and take action on the answers.


