Look for three signals: how many secrets a workflow can reach, how long those secrets remain valid, and whether any of them can publish or sign artefacts. If a build job can touch long-lived credentials or production systems, the environment is not controlled. The objective is to reduce reachable secrets and shorten exposure windows.
Why This Matters for Security Teams
Secrets in CI/CD are not controlled just because they are stored in a vault or injected at runtime. Control means the pipeline can only reach the minimum secrets needed, only for the shortest useful period, and only in the stages that genuinely require them. When those boundaries are vague, build systems can become high-value pathways into production, signing services, cloud accounts, and deployment automation.
This is a classic identity and privilege problem, not only a pipeline hygiene problem. A CI job that can read broad credentials or reuse them across stages is effectively operating with standing privilege, even if the access is “automated.” That is why the OWASP Non-Human Identity Top 10 is useful here: it frames secrets, workload identities, and token governance as an identity security issue rather than a storage issue. Mature teams also map this to control intent in NIST SP 800-53 Rev 5 Security and Privacy Controls, especially around access enforcement, privilege boundaries, and auditability.
In practice, many security teams discover uncontrolled secrets only after a pipeline compromise, a leaked token, or an unexpected artifact signing event has already occurred, rather than through intentional access design.
How It Works in Practice
Security teams usually test control by tracing each secret from issuance to use. The key question is not whether a secret exists, but whether the workflow can reach it, when it becomes available, and what it can do if abused. A controlled CI/CD environment should constrain secrets by repository, branch, environment, job type, and approval state. It should also prefer short-lived credentials over static keys wherever possible.
Operationally, this means looking for evidence in the pipeline definition, the secret manager, and the identity provider. Common signs of good control include just-in-time token issuance, workload identity federation, separate credentials for build and release stages, and explicit blocking of production secrets in untrusted jobs. Access reviews should confirm that secrets used for signing, deployment, or cloud administration are isolated from ordinary build tasks.
- Identify which jobs can read each secret and whether that access is conditional.
- Check whether secrets expire quickly or can be reused indefinitely.
- Verify whether any secret can publish artifacts, sign packages, or deploy to production.
- Review logs for secret access events, failed lookups, and anomalous job-to-secret relationships.
Teams should also distinguish between secrecy and control. A secret injected at runtime is still uncontrolled if every branch, fork, or low-trust job can request it. Stronger patterns usually combine least privilege, environment gates, and immutable audit trails so that usage can be traced back to a specific pipeline action. Current guidance suggests treating signing keys and production deployment tokens as especially sensitive because they extend trust beyond the build system itself.
These controls tend to break down when legacy pipelines share one credential across many stages, because the same static secret becomes a universal pass key that is hard to attribute, rotate, or scope.
Common Variations and Edge Cases
Tighter secret control often increases pipeline complexity, requiring organisations to balance release speed against approval overhead and credential churn. That tradeoff is real, especially in fast-moving DevOps environments where teams want repeatable builds and low-friction automation.
There is no universal standard for this yet, but best practice is evolving toward workload identity and ephemeral credentials rather than long-lived shared secrets. Some environments, such as self-hosted runners or highly regulated release pipelines, may need additional segmentation because the build host itself becomes part of the trust boundary. In those cases, a secret can appear controlled on paper while still being reachable through the host, plugin, or runner image.
Edge cases also appear in artifact signing and release automation. If a pipeline can sign artifacts, publish container images, or promote code into production, that ability should be treated as privileged access, not as a routine build feature. The same applies to secrets used by deployment orchestration, because those often carry broader authority than developers realise. Security teams should therefore separate read-only build credentials from deploy-time credentials and verify that each has a narrow, documented purpose. Where personal data, regulated workloads, or production finance systems are involved, stronger logging and change control are usually justified.
For deeper control mapping, teams can combine the identity lens from the OWASP Non-Human Identity Top 10 with control expectations in NIST SP 800-53 Rev 5 Security and Privacy Controls to decide whether a pipeline secret is truly bounded or merely hidden.
Standards & Framework Alignment
This section maps relevant standards and security frameworks to the operational risks and controls described in this guidance.
OWASP Non-Human Identity Top 10 address the attack and risk surface, while NIST CSF 2.0, NIST Zero Trust (SP 800-207) and NIST SP 800-53 Rev 5 set the governance and control requirements practitioners need to meet.
| Framework | Control / Reference | Relevance |
|---|---|---|
| OWASP Non-Human Identity Top 10 | CI/CD secrets are non-human identities that need scoped lifecycle and access control. | |
| NIST CSF 2.0 | PR.AA | Identity and access control govern who and what can reach secrets in pipelines. |
| NIST Zero Trust (SP 800-207) | SC-31 | Zero trust supports denying implicit pipeline access to high-value credentials. |
| NIST SP 800-53 Rev 5 | IA-2 | Strong authentication helps prevent uncontrolled reuse of static pipeline secrets. |
Inventory pipeline secrets as identities and constrain each one to a narrow, auditable purpose.
Related resources from NHI Mgmt Group
- How do security teams know whether runtime secrets are actually protected?
- How do security teams know whether their secrets programme is actually reducing risk?
- How do security teams know whether PHI access is actually controlled?
- How do security teams know whether secrets and tokens are actually under control?
Deepen Your Knowledge
Reviewed and updated by the NHIMG editorial team on August 18, 2026.
NHI Mgmt Group — the #1 independent authority on Non-Human Identity, IAM, and Agentic AI security. nhimg.org