The OWASP Top 10 CI/CD Security Risks is a list of ten ways delivery pipelines get attacked, numbered CICD-SEC-1 to 10. They cover weak review flow, poor identity and access control, dependency abuse, poisoned pipeline execution, weak pipeline permissions, bad credential hygiene, insecure configuration, third-party services, artifact integrity and thin logging.
The ten risks, with one check each
| ID | Name | Plain meaning | One check to run |
|---|---|---|---|
| 1 | Insufficient Flow Control Mechanisms | One compromised account can push code to production alone | Branch protection and review on every branch that deploys |
| 2 | Inadequate Identity and Access Management | Too many accounts, too many permissions | Remove accounts and roles nobody uses |
| 3 | Dependency Chain Abuse | Malicious or confused dependencies enter the build | Pin and inventory dependencies |
| 4 | Poisoned Pipeline Execution | Someone changes what the pipeline runs | Review CI config changes before they run |
| 5 | Insufficient PBAC | Pipelines can reach more than they need | Give each pipeline its own minimal credentials |
| 6 | Insufficient Credential Hygiene | Secrets are exposed or long-lived | Scan for secrets and rotate |
| 7 | Insecure System Configuration | Defaults and outdated CI software | Patch and review settings |
| 8 | Ungoverned Usage of 3rd Party Services | Integrations nobody vetted | List every integration with access |
| 9 | Improper Artifact Integrity Validation | Tampered artifacts look legitimate | Sign and verify artifacts |
| 10 | Insufficient Logging and Visibility | You cannot reconstruct what happened | Keep audit logs of pipeline and SCM events |
Three worth a closer look
CICD-SEC-1, flow control. OWASP says an attacker with permissions on any CI/CD system can push malicious code through the pipeline alone if nothing requires additional review. Its mitigations include protecting branches that feed production, limiting auto-merge rules, requiring approval before production pipelines run, and accepting artifacts only from a pre-approved CI service account.
CICD-SEC-4, poisoned pipeline execution. Direct poisoning edits the CI configuration file itself. Indirect poisoning changes files the pipeline references, such as a Makefile or scripts in the repository. OWASP recommends running unreviewed code on isolated nodes without secrets, limiting runs from forks, and requiring review of CI configuration before it runs.
CICD-SEC-9, artifact integrity. OWASP recommends signing each resource when generated and verifying it before later steps use it, requiring signed commits, and comparing a downloaded script's hash against the provider's published hash before using it.
How to use the list
- Score each row as covered, partly covered or not covered.
- Fix the rows where one compromised account has the most reach: 1, 2, 4 and 5.
- Re-score after each change, and keep the table in your security wiki.
Try it yourself
Click through it at your own pace, or open it full screen. Look at how one control maps to several frameworks, the same way one pipeline fix covers several rows above.
Quick check
Is the OWASP list a compliance standard?
No. It is a risk awareness list. You can map your controls to it, but nobody certifies against it.
Which risk should a small team fix first?
Flow control. Require review on branches that deploy, and the rest becomes easier to enforce.
Safeguard covers part of this list: dependency and SBOM scanning, and policies and gates on pull requests. The free scan is a quick way to start on row 3.
Sources
- OWASP Top 10 CI/CD Security Risks
- OWASP CICD-SEC-1: Insufficient Flow Control Mechanisms
- OWASP CICD-SEC-4: Poisoned Pipeline Execution
- OWASP CICD-SEC-9: Improper Artifact Integrity Validation
Last reviewed: 19 October 2026.