Listen to this Post
A Critical Security Breach in Open-Source Automation
A severe supply chain attack has compromised the widely used GitHub Action ‘tj-actions/changed-files’, impacting over 23,000 repositories. The attack, which targeted a critical automation tool used in software development workflows, potentially exposed CI/CD secrets from GitHub Actions build logs.
This breach highlights the growing risk of supply chain attacks in open-source software, as threat actors leveraged a compromised GitHub personal access token (PAT) to inject malicious code into multiple versions of the tool. Developers using this action may have inadvertently leaked sensitive workflow secrets, putting software projects at risk.
GitHub has since removed the compromised version, but the attack underscores the need for enhanced security measures to protect repositories from unauthorized modifications.
The Attack Timeline and Technical Breakdown
What Happened?
On March 14, 2025, at 4:00 PM UTC, attackers inserted malicious code into the ‘tj-actions/changed-files’ GitHub Action. This tool is widely used in CI/CD pipelines to detect file changes in pull requests and commits. The malicious code extracted secrets from the CI/CD runner memory and made them visible in workflow logs.
Key details of the attack:
- Malicious commit added to the repository, exposing secrets in publicly accessible logs.
- Multiple version tags were retroactively modified, ensuring all versions were compromised.
- March 15, 2:00 PM UTC: GitHub removed the compromised action.
- March 15, 10:00 PM UTC: The repository was restored after removing the malicious code.
- A CVE ID (CVE-2025-30066) was assigned to track the incident.
How Did the Attackers Gain Access?
The attackers compromised a GitHub personal access token (PAT) belonging to a bot account (@tj-actions-bot), which had privileged access to the repository. The exact method of compromise remains unknown, but it could have been due to:
– Credential leaks from a previous data breach.
– Token theft through phishing or social engineering.
– Exploitation of
Why Is This Attack Dangerous?
- Secrets exposure: CI/CD secrets could be extracted and misused for further attacks.
- Wide impact: Over 23,000 repositories were potentially affected.
- Persistent risk: Even though GitHub removed the compromised code, exposed secrets may still be in unauthorized hands.
What Should Developers Do Now?
To mitigate the risk, developers using ‘tj-actions/changed-files’ should take the following steps:
✅ Rotate any CI/CD secrets that were in use between March 14-15.
✅ Review workflow logs for unexpected outputs, especially under the ‘changed-files’ section.
✅ Check workflow references to ensure they are not using the compromised commit.
✅ Update to a secure version of the action (e.g., v35, v44.5.1).
✅ Use specific commit hashes instead of version tags when referencing GitHub Actions.
✅ Enable GitHub’s allow-listing functionality to block untrusted third-party actions.
By following these steps, developers can reduce the likelihood of future supply chain attacks affecting their repositories.
What Undercode Say: Analyzing the Attack’s Impact
The Growing Threat of Supply Chain Attacks
Supply chain attacks are becoming increasingly common, particularly targeting open-source ecosystems like GitHub. Attackers exploit the trust developers place in widely used tools, allowing them to infiltrate thousands of projects with a single breach.
- The SolarWinds hack (2020) and Python package hijacks (2023) were similar in nature.
- Open-source dependencies create a single point of failure for many projects.
- Developer reliance on automation tools makes it easier for attackers to introduce malicious code.
Lessons from This Incident
1. Token Security is Critical
- Using least privilege access for bot accounts can limit damage.
- Periodic token rotation and monitoring can prevent long-term abuse.
- Expiring tokens by default can reduce risks if credentials are stolen.
2. Version Control Best Practices
- Developers should pin dependencies to commit hashes, not floating version tags.
- Version updates should be reviewed carefully before deployment.
- Automated security checks (e.g., GitHub Dependabot or SCA tools) should be enabled.
3. Better Visibility into CI/CD Pipelines
- Secrets should never be logged in plaintext, even in private repositories.
- Implementing automated secrets scanning (e.g., TruffleHog, GitGuardian) can catch leaks before they become critical.
- Developers must audit CI/CD logs regularly to detect anomalies.
How Could This Have Been Prevented?
If GitHub and developers had taken proactive security measures, the impact of this attack could have been minimized:
🔹 GitHub Actions should require multi-factor authentication (MFA) for token usage.
🔹 Token-based authentication should be replaced with OpenID Connect (OIDC)-based short-lived credentials.
🔹 Requiring manual approval for version updates in widely used GitHub Actions could prevent supply chain attacks.
This attack serves as a wake-up call for the open-source community to strengthen CI/CD security and GitHub automation safeguards.
Fact Checker Results
✅ The attack was confirmed by multiple cybersecurity firms, including StepSecurity and Wiz.
✅ The malicious code was only visible in logs and did not exfiltrate data to external servers.
✅ The CVE-2025-30066 has been assigned to track the incident, verifying its severity.
By taking swift action, GitHub has mitigated immediate risks, but the broader security challenge of protecting CI/CD pipelines remains.
References:
Reported By: https://www.bleepingcomputer.com/news/security/supply-chain-attack-on-popular-github-action-exposes-ci-cd-secrets/
Extra Source Hub:
https://www.medium.com
Wikipedia
Undercode AI
Image Source:
Pexels
Undercode AI DI v2





