Compromised trivy-action GitHub Action via Git Tag Repointing
The trivy-action GitHub Action was compromised via git tag repointing, where 76 of 77 release tags were retroactively poisoned, replacing the legitimate entry point with a credential stealer that ran silently before the real scanner, targeting GitHub Actions runners on Linux.
Triage facts
Revision 2- Evidence
- Unknown
- Severity
- Critical
- Sources
- 1 public source
- Freshness
- Revision 2Mar 28, 08:17 UTC
- Detection
- 2 rules
Revision history 1 entry · Revision 2
- Revision 2
Repaired a legacy canonical identity collision
Changed: slug
On March 19, 2026, CrowdStrike observed a spike in script execution detections on Linux GitHub Actions runners, tracing the activity to a compromised GitHub Action named aquasecurity/trivy-action. This popular open-source vulnerability scanner is widely used in CI/CD pipelines. The investigation revealed that 76 of the scanner’s 77 release tags were retroactively poisoned through git tag repointing. This malicious modification replaced the legitimate entry point with a multi-stage credential stealer. The malicious code was designed to run silently before the legitimate scanner, ensuring that workflows appeared to complete normally. Aqua Security has confirmed the compromise of the Trivy GitHub Action script, setup script, and binary and removed the malicious artifacts.
Attack Chain
- An attacker gains the ability to modify the
aquasecurity/trivy-actionGitHub repository, specifically the ability to repoint git tags. - The attacker repoints existing tags (e.g.,
0.24.0) to malicious commits. - When a GitHub Actions workflow uses the compromised
aquasecurity/trivy-action(e.g.,uses: aquasecurity/trivy-action@0.24.0), the runner downloads the malicious version of the action. - The malicious
entrypoint.shscript is executed within the GitHub Actions runner environment. - The malicious script enumerates process IDs (PIDs) running on the runner to discover other processes and potentially extract credentials from their memory or environment variables.
- After the credential theft operation, the legitimate Trivy scanner is executed to maintain the appearance of normal operation.
- The stolen credentials could be used to access sensitive resources, such as cloud infrastructure, internal networks, or source code repositories.
Impact
This supply chain compromise could affect any organization using the aquasecurity/trivy-action GitHub Action in their CI/CD pipelines. The successful execution of the malicious code leads to the theft of credentials stored within the GitHub Actions runner environment. Attackers can use stolen credentials to pivot into victim infrastructure, leading to data breaches, code compromise, or denial of service.
Recommendation
- Inspect GitHub Action workflows for usage of
aquasecurity/trivy-actionand consider using specific commit SHAs instead of mutable tags to ensure integrity. - Monitor process execution on GitHub Actions runners for unexpected script execution, as described in the "Initial Discovery" section, to identify potential compromises early.
- Deploy the Sigma rule "Detect Suspicious Script Execution in GitHub Actions Runner" to your SIEM to identify potential malicious activity on GitHub Actions runners.
- Review logs for any suspicious activity originating from GitHub Actions runners, as these may indicate successful credential theft.
Detection coverage 2
Detect Suspicious Script Execution in GitHub Actions Runner
highDetects suspicious shell script execution within GitHub Actions runner environments, potentially indicating malicious activity originating from compromised actions.
Detect Trivy Action Entrypoint Execution
mediumDetects execution of the trivy-action entrypoint.sh script, which may indicate a compromised action is being used.
Detection queries are available on the platform. Get full rules →