Compromised trivy-action GitHub Action Leads to Credential Theft
The aquasecurity/trivy-action GitHub Action was compromised via git tag repointing, injecting a multi-stage credential stealer into CI/CD pipelines, potentially exposing secrets, credentials, and infrastructure.
Triage facts
Revision 2- Evidence
- Unknown
- Severity
- Critical
- Sources
- 1 public source
- Freshness
- Revision 2Mar 30, 07:26 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's Engineering team identified a supply chain attack targeting the widely used aquasecurity/trivy-action GitHub Action. The attackers retroactively poisoned 76 of 77 release tags by repointing them to malicious commits, effectively replacing the legitimate entry point with a multi-stage credential stealer. This compromised action, typically used for vulnerability scanning in CI/CD pipelines, injected malicious code before the genuine scanner logic, maintaining a facade of normal operation. The impact of this compromise extends to any pipeline referencing the poisoned versions, granting the attackers potential access to secrets, credentials, and internal infrastructure configured within the GitHub Actions environment. Aqua Security has confirmed the compromise and removed the malicious artifacts.
Attack Chain
- Initial Access: Attackers gained write access to the aquasecurity/trivy-action GitHub repository.
- Tag Repointing: Malicious actors repointed existing git tags (e.g.,
@0.24.0) to malicious commits containing the injected credential-stealing code. - Workflow Execution: Developers trigger CI/CD workflows that reference the compromised trivy-action by tag.
- Malicious Entrypoint Execution: The GitHub Actions runner downloads the compromised action and executes the injected malicious code within
entrypoint.shbefore the legitimate Trivy scanner. - Process Discovery: The malicious script enumerates process IDs (PIDs) on the runner.
- Credential Theft: The injected code performs multi-stage credential theft operations, leveraging the runner's environment and access to secrets.
- Normal Execution: The legitimate Trivy scanner is executed after the malicious code, masking the compromise and allowing workflows to complete without apparent errors.
- Data Exfiltration: Stolen credentials and secrets are exfiltrated to an attacker-controlled location (details of exfiltration not specified in source).
Impact
The compromise of the trivy-action GitHub Action affected numerous CI/CD pipelines relying on the scanner. While the exact number of victims is not specified, the wide adoption of the action suggests a broad impact. Successful exploitation grants attackers access to sensitive credentials, API keys, and cloud deployment tokens configured within the affected pipelines. This access could lead to unauthorized access to internal infrastructure, data breaches, and supply chain attacks targeting downstream dependencies.
Recommendation
- Review your CI/CD pipelines for usage of the
aquasecurity/trivy-actionGitHub Action and inspect the commit history of the referenced tags for unexpected changes. - Deploy the Sigma rules provided in this brief to detect potential malicious activity originating from GitHub Actions runners.
- Enable detailed logging on GitHub Actions runners to capture process execution and network connections for incident investigation.
Detection coverage 2
Detect Execution of Trivy Action Entrypoint Script
infoDetects execution of the trivy-action entrypoint.sh script, which may indicate the use of the action in a GitHub Actions workflow.
Detect Runner.Worker Process Spawning Shell
infoDetects the Runner.Worker process spawning a shell, which is part of the standard execution chain, but can be used as a baseline for detecting further malicious activity.
Detection queries are available on the platform. Get full rules →