Poisoned Pipeline / Incidents / AS12
tj-actions/changed-files GitHub Action
In March 2025 the popular GitHub Action tj-actions/changed-files was
compromised (CVE-2025-30066). A malicious commit caused the action to
print CI secrets (including PATs, npm tokens, and cloud keys) to build
logs, where they could be harvested. Thousands of repositories that
pinned the action loosely, or not at all, ran the poisoned version.
Closely related reviewdog/action-setup was reported in the same wave.
This is T0122 realized at ecosystem scale.
Mapped techniques
- T0122 Vulnerability in third-party CI/CD actions
- T0111 Malicious code contribution to an open-source repository
- T0202 Inadequate CI/CD workflow permissions
- T0147 Scan public CI/CD configurations for secrets and vulnerable actions
- T0130 Harvest secrets from logs
- T0162 Passwords in CI/CD logs
- T0140 Harvest tokens from environment variables
- T0193 Sensitive information in environment variables
- T0199 Secret leak
supply-chain GitHub Marketplace action
Downstream workflows trusted a third-party action with access to
GITHUB_TOKEN and repository secrets.
The action repository itself was modified so every consumer job
ran attacker-controlled code.
Jobs that granted write tokens and did not pin the action to a
SHA amplified what the malicious step could do.
post-supply-chain Consumer CI jobs
Public workflows listing uses: tj-actions/changed-files@v* were the
targeting list.
Secrets were dumped into GitHub Actions logs, which are often
readable by a wider set of identities than the job itself.
The malicious action printed PATs, npm tokens, and cloud keys into
job logs.
The action had access to the job environment, including GITHUB_TOKEN
and configured secrets.
CI secrets lived in the job env; dumping them was enough.
Stolen CI credentials were the impact, enabling follow-on publishes
and repository writes.
Framework gaps noted
- Pinning Actions to a commit SHA (not a floating tag) is a mitigation that should be a first-class M-item if it is not already covered by M1220/M1222.
Sources
- https://www.cisa.gov/news-events/alerts/2025/03/18/supply-chain-compromise-third-party-github-action-cve-2025-30066
- https://github.com/tj-actions/changed-files/issues/2463
- https://www.stepsecurity.io/blog/harden-runner-detection-tj-actions-changed-files-action-is-compromised
- https://github.com/reviewdog/reviewdog/security/advisories/GHSA-qmg3-hpqr-gqvc
- https://www.cisa.gov/news-events/alerts/2025/03/18/supply-chain-compromise-third-party-tj-actionschanged-files-cve-2025-30066-and-reviewdogaction
- https://www.wiz.io/blog/new-github-action-supply-chain-attack-reviewdog-action-setup