Treat release authority as privileged access and keep it distinct from build execution and secret retrieval. Automation should not inherit broad publish rights by default, and build identities should not be able to use the same secrets that authorise package release. That separation limits how far a single compromise can travel.
Why release authority should stay separate from CI/CD execution
Release authority is a privilege decision, not a build-step convenience. A pipeline can compile, test, sign, or package code without being able to publish it, and that distinction is what limits blast radius when a runner, token, or dependency is compromised. The cleanest pattern is to treat the publishing path as a separate control plane with its own approval boundary and credentials.
That separation matters because CI/CD automation often runs in high-churn, highly exposed environments, while release approval should remain tightly bounded and auditable. If the same identity can both build and ship, a compromise in the build path becomes a direct path to release. If the identities are split, the attacker still has to cross a second, more deliberate control point.
In practice, teams should assume that build execution will see untrusted inputs, transient credentials, and third-party actions or plugins. The safer design is to let the pipeline produce artifacts, while a different authority validates the artifact and authorises publication. That makes release governance easier to reason about, and it prevents routine automation from inheriting standing publish rights by accident.
What to separate in the release path
The separation should cover three things at minimum: who can decide to release, which automation can create the artifact, and which identity can retrieve the secrets or signing material needed for publication. If those are collapsed into one token or one service account, you lose the ability to tell whether a release came from intended approval or from compromised automation. A separate publishing identity, with tightly scoped access, preserves that distinction.
This is also where secret handling becomes critical. Build identities may need read access to dependency registries or ephemeral test credentials, but they should not be able to access the secrets that authorise package release, registry publishing, or signing. Keep those credentials in a different vault path, with different permissions and different rotation rules, so exposure in the build stage does not automatically expose the release stage.
For teams using cloud-native or Git-based CI/CD, it helps to think in terms of ephemeral execution and trusted publishing rather than long-lived access keys. A pipeline job can authenticate to fetch what it needs for the build, but the final publish action should require a distinct release approval or a separate trust exchange. That gives you a narrower privilege surface and clearer accountability for the point at which software becomes official.
How teams keep automation useful without making it authoritative
Release separation does not mean manual bottlenecks everywhere. It means automation should be allowed to prepare, prove, and stage, while the publish step remains deliberately harder to trigger. A good control is to let automation create candidate artifacts, but require a separate release authority to promote them into the official repository or package registry.
The practical test is whether a compromised build job can reach production publication without crossing a distinct approval or credential boundary. If it can, the separation is only cosmetic. If it cannot, then the team has reduced the chance that one leaked runner token, one poisoned workflow, or one stolen secret becomes a full release compromise.
Teams should also watch for accidental coupling through convenience features, such as shared environment variables, inherited repository secrets, or publishing tokens reused across multiple workflows. Those shortcuts usually look efficient until they make every build implicitly trusted to act as a release operator. The goal is to keep automation powerful enough to move work forward, but not so privileged that it can independently declare something shippable.
Risk and Threat Considerations
When release authority and CI/CD automation are merged, compromise often becomes lateral and fast. An attacker who gets into the build system may not need to break the release process at all if the pipeline already holds the power to publish, sign, or retrieve release secrets. That is why pipeline compromise is often treated as a supply chain issue, not just a build issue.
Failure mechanism: A malicious commit, poisoned action, stolen token, or exposed secret lets the attacker move from build execution into publication rights, then use that access to ship tampered artifacts or harvest more secrets from the release path.
Impact: The result can be credential theft, malicious package release, signing abuse, or broad downstream trust damage, especially when the same identity can touch both build outputs and release credentials.
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 and OWASP Agentic AI Top 10 address the attack surface, NIST SP 800-53 Rev 5 and SLSA set the technical controls, and ISO/IEC 27001:2022 defines the regulatory obligations.
| Framework | Control / Reference | Relevance |
|---|---|---|
| OWASP Non-Human Identity Top 10 | NHI-05 — Overprivileged NHI | Release and build identities must be split from publish rights to limit blast radius. |
| NHI-02 — Secret Leakage | Release authority depends on keeping publish and signing secrets out of routine CI/CD access. | |
| NHI-07 — Long-Lived Secrets | Static publish tokens in CI/CD enlarge compromise impact and weaken separation of duties. | |
| Recommendation — Scope publishing identities to the release step and remove broad publish privileges from build automation. Keep release secrets separate from build secrets and restrict retrieval to the publish path. Replace long-lived publish tokens with short-lived, tightly scoped release credentials. | ||
| OWASP Agentic AI Top 10 | ASI03 — Identity & Privilege Abuse | Automation should not be able to reuse authority meant for release decision-making. |
| Recommendation — Separate the agent or workflow identity that builds from the identity that authorizes release. | ||
| NIST SP 800-53 Rev 5 | AC-6 — Least Privilege | Release authority should be limited to only the permissions needed for publishing. |
| IA-5 — Authenticator Management | Separate publish credentials need controlled issuance, rotation, and revocation. | |
| IA-9 — Service Identification and Authentication | CI/CD automation and release services need distinct machine-to-machine authentication boundaries. | |
| Recommendation — Limit publish permissions so CI/CD jobs cannot act as release operators by default. Manage release credentials separately from build credentials and rotate them independently. Authenticate build and release services with separate identities and scoped credentials. | ||
| SLSA | Build provenance | Trusted release paths depend on provenance and promotion controls around build outputs. |
| Recommendation — Use provenance and controlled promotion so artifact creation is distinct from release authorization. | ||
| ISO/IEC 27001:2022 | A.5.15 — Access control | Release authority separation is an access-control design problem requiring constrained privilege. |
| A.8.24 — Use of cryptography | Release signing and publication often depend on protected cryptographic material. | |
| Recommendation — Define distinct access rules for build, approval, and publish functions. Protect signing keys and publication secrets so only the release path can use them. | ||
Practitioner Guidance
Decision rule: If the automation can reach the production package registry, signing service, or release metadata store without a separate approval step, treat that as excessive privilege and redesign the path before adding more pipeline speed.
What to verify: Confirm that build identities can only access the minimum inputs needed for compilation and test execution, while publishing secrets and signing material are accessible only to a separate release identity or controlled release workflow.
What good looks like: A build failure or runner compromise can delay delivery, but it cannot independently create a trusted release. Release promotion should remain attributable, reviewable, and revocable without changing the entire CI/CD system.
Practitioner takeaway: The right objective is not to slow automation down, it is to ensure that the step that turns an artifact into an official release has its own identity, its own secrets, and its own accountability.
Related resources from NHI Mgmt Group
- How should DevOps teams implement TLS certificate automation across Kubernetes, CI/CD, and multi-cloud environments?
- How should security teams evaluate AppSec platforms for CI/CD environments with fast release cycles?
- How should security teams secure .NET applications in CI/CD pipelines without weakening release velocity?
- How should security teams implement Docker image tagging in CI/CD to avoid release drift and rollback confusion?
Deepen Your Knowledge
Free weekly newsletter
Subscribe to the NHI & AI Identity Journal
The latest on NHI and Agentic AI security – articles, research, breaches, news and events every week.
Bonus 33% off our NHI Course when you subscribe.
Reviewed and updated by the NHIMG editorial team on October 8, 2026.
NHI Mgmt Group — the #1 independent authority on Non-Human Identity, IAM, and Agentic AI security. nhimg.org